Blog
Blog copied to clipboard
FFmpeg常用命令
https://alanhou.org/ffmpeg/
ffmpeg -f avfoundation -i 1 -r 30 out.yuv //试用于MAC平台 ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi //out of x server in the command line -f 指定avfoundation 采集数据 -i 指定输入源,屏幕是1 摄像头0 音频? -r 指定帧率 yuv是一种原始数据,采集到是什么就是什么,没有压缩
ffmpeg去掉字幕 ffmpeg -i 'input' -c:v copy -c:a copy -sn 'output' dts音频转ac3音频 ffmpeg -i myvideofile.mkv -map 0 -vcodec copy -scodec copy -acodec ac3 -b:a 640k myvideofilewithAC3.mkv
ffplay ffplay -s 1920x1988 -pix_fmt yuv420p out.yuv -s 参数新版本已经提示要被弃用,改用-video_size -pix_fmt 参数也提示要被弃用,改用-pixel_format 如果花屏可能是YUV像素格式不一致导致 播放yuyv422 ffplay -video_size 720x480 -pix_fmt yuyv422 outputt.yuv 420p转yuyv422 ffmpeg -pix_fmt yuv420p -s 640x480 -i a.yuv -pix_fmt yuyv422 b.yuv
FFmpeg录制音频(Linux) 首先看看Linux支持哪些声卡
➜ ~ cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xdf328000 irq 129
可以使用如下命令录制音频 ffmpeg -f alsa -i hw:0 out.wav 播放音频 ffplay -ar 441000 -ac 2 -f s16le out.pcm
FFmpeg分解与复用 ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv -i 输入文件 抽解视频 ffmpeg -i f35.mov -an -vcodec copy out.h264 ffmpeg -i f35.mov -acodec copy -vn out.aac //格式根据实际选择 // -an no audio // -vn no video
FFmpeg 提取YUV数据 ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv ffmpeg 提取PCM数据 ffmpeg -i out.mp4 -vn -ar 44100 -ac2 -f s16le out.pcm -ar audio read 音频采样率 -ac2 audio channel 双声道 -f s16le signed 16 小端 ffplay -ar 441000 -ac 2 -f s16le out.pcm
FFmpeg 滤镜命令 ffmpeg -i in.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4 -vf:视频滤镜 crop in_w-200 in_h-200 宽高-200 -c:v 使用x264编码 -c:a copy 音频之前用什么编码,还用它编回去
FFmpeg 音视频裁剪 ffmpeg -i in.mp4 -ss 00:00:00 -t 10 out.ts -ss 裁剪起始时间 -t 裁剪持续时间 从某个时间一直剪切到结束 ffmpeg -i test.mp4 -ss 00:00:55 -c copy stiches.mp4 视频合并 ffmpeg -f contat -i inputs.txt out.flv -i inputs.txt 文件列表 格式为 file filename file '1.ts' file '2.ts'
FFmpeg视频转图片 ffmpeg -i in.flv -r 1 -f image2 image-%3d.jpeg -r 1 帧率 每秒钟转出1张图片 -f image-%3d.jpeg 输出文件以image开头加3个数字 图片转视频 ffmpeg -i image-%3d.jpeg out.mp4
FFmpeg压缩视频 ffmpeg -i input.mp4 -vcodec libx264 -preset veryslow -crf 20 -c:a copy output.mp4 -preset veryslow t指定的编码速度越慢,获得的压缩效率就越高 crf 压缩参数 0—51,其中0为无损模式,数值越大,画质越差,生成的文件却越小。 从主观上讲,18——28是一个合理的范围。18被认为是视觉无损的(从技术角度上看当然还是有损的),它的输出视频质量和输入视频相当。
FFmpeg直播推/拉流 直播推流 ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName -c copy 保护音视频 -a codecs 只推音频 -v codecs 只推视频 -f 推出的是什么格式 -re 减慢帧率速度 让帧率与真正的帧率同步,推的时候一般都加 直播拉流 ffmpeg -i rtmp://server/live/streamName -c copy dump.flv 拉流播放 ffplay "rtmp://server/live/streamName live=1" live=1表示实时流 测试用的直播流地址 http://www.hangge.com/blog/cache/detail_1325.html