【自用】常用基本ffmpeg语句
获取视频常用属性:
ffprobe -select_streams v -show_entries format=duration,size,bit_rate,filename -show_streams -v quiet -of csv="p=0" -of json -i "mmd.mp4"
裁剪视频大小:
ffmpeg -i "mmd.mp4" -vf crop=w=900:h=1620:x=1470:y=0 -r 60 -b:v 5990k "mmd2.mp4"
* -i :选择输入流
* -vf:简单滤镜。此处为裁剪大小(crop)
* -r : 设置帧率
* -b:v:设置视频码率
拆帧:
ffmpeg -i "mmd.mp4" -vf fps=24 %04d.png
* -i :选择输入流
* -vf:简单滤镜。此处为提取n帧。%04d表示拆出的文件命名为0001.png、0002.png……以此类推
合并帧为视频:
ffmpeg -y -framerate 24 -i "./frame/ %04d.png" -crf 23 -b:v 5990k "合成结果.mp4"
* -y:强制覆盖
* -i :选择输入流
* -crf:选择输出画面质量,越小越无损。通常选18-28之间
* -b:v:设置视频码率
裁剪时间:
ffmpeg -i music.mp3 -ss 00:00:00 -t 67 output.mp3
* -ss:选择开始时间
* -t : 连续1秒钟
拼接:
创建一个txt文件,每行的格式为:file 'xxx.mp4'
ffmpeg -f concat -i ./concat.txt join.mp4
加模糊滤镜:
ffmpeg -i "origin.mp4" -filter_complex "[0:v]crop=800:1440:0:0,boxblur=10[fg]; [0:v][fg]overlay=0:0[v]" -map "[v]" blur.mp4
* crop的四个参数依次为w、h、x、y
* boxblur的值越大,模糊越强