ffmpeg命令行示例

  1. 在视频上覆盖一张照片
ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]overlay[out]' -map
'[out]' out.mkv
  1. 生成5s的lavfi红色的视频
ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv
  1. 通过ffmpeg抓取图片
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg
  1. 抓取,x从10,y到20;
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg
  1. 音频视频融合,转换a.wav为MPEGg格式的audio,帧率为22050
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
  1. 设置多个输入、输出文件
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
  1. 输出 raw YUV420p文件
ffmpeg -i mydivx.avi hugefile.yuv
  1. 从视频中抽帧照片 -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
  1. (满足条件的名称foo-*.jpeg)多张照片生成视频
    -i也支持 像shell脚本中的glob的通配符,如:
ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi
  1. 同一类型的多个流输出
ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut
  1. 设置输出文件为64比特率
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi
  1. 强制设置输出视频为每秒24帧
ffmpeg -i input.avi -r 24 output.avi
  1. 设置输入文件为1帧率,输出视频为24帧率
ffmpeg -r 1 -i input.m2v -r 24 output.avi
  1. copy 流复制是通过向-codec选项提供复制参数来选择的模式。它使ffmpeg省略了指定流的解码和编码步骤,因此它只进行解复用和复用。
  2. -codec copy or -codec: copy 将不在解编码,全复制

猜你喜欢

转载自blog.csdn.net/qq_40985985/article/details/124506260