ffmpeg命令行示例
Posted 程序媛一枚~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg命令行示例相关的知识,希望对你有一定的参考价值。
- 在视频上覆盖一张照片
ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]overlay[out]' -map
'[out]' out.mkv
- 生成5s的lavfi红色的视频
ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv
- 通过ffmpeg抓取图片
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg
- 抓取,x从10,y到20;
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg
- 音频视频融合,转换a.wav为MPEGg格式的audio,帧率为22050
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
- 设置多个输入、输出文件
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
- 输出 raw YUV420p文件
ffmpeg -i mydivx.avi hugefile.yuv
- 从视频中抽帧照片 -s 表示缩放照片到指定宽高,-r 每秒1帧 -f image2指定照片格式 foo-03d.jpeg 照片名称为foo-1.jpeg foo-2.jpeg etc。
可结合 -frames:v or -t 来指定提取一定数量的帧
-ss 来从视频的特定时间开始提取。
fmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
- (满足条件的名称foo-*.jpeg)多张照片生成视频
-i也支持 像shell脚本中的glob的通配符,如:
ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi
- 同一类型的多个流输出
ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut
- 设置输出文件为64比特率
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi
- 强制设置输出视频为每秒24帧
ffmpeg -i input.avi -r 24 output.avi
- 设置输入文件为1帧率,输出视频为24帧率
ffmpeg -r 1 -i input.m2v -r 24 output.avi
- copy 流复制是通过向-codec选项提供复制参数来选择的模式。它使ffmpeg省略了指定流的解码和编码步骤,因此它只进行解复用和复用。
- -codec copy or -codec: copy 将不在解编码,全复制
以上是关于ffmpeg命令行示例的主要内容,如果未能解决你的问题,请参考以下文章