Video filter:crop
语法:crop=ow:oh❌y:keep_aspect
ow,oh:输出的帧的宽、高
x,y:裁剪的起点 x的默认值 (iw-ow)/2,y的默认值(ih-oh)/2
in_w,iw:输入的宽度
in_h,ih:输入的高度
out_w,ow:输出(裁剪)的高度,默认值=iw
out_h,oh:输出(裁剪)的宽度,默认值=ih
a 纵横比,与iw/ih相同
sar 输入样本的比例
dar 输入显示宽比,等于a*sar
t 时间戳
hsub, vsub 水平和垂直的色度子样本值,对于像素格式yuv422p, hsub的值为2,vsub为1
n 输入框的数目,从0开始
pos 位置在输入框的文件中,如果不知道NAN
ffmpeg -i input -vf crop=iw/3:ih:0:0 output //左三
ffmpeg -i input -vf crop=iw/3:ih:iw/3:0 output //中三
ffmpeg -i input -vf crop=iw/3:ih:iw/3*2:0 output //右三
裁剪框中心
当我们想要裁剪中心区域是,过滤器可跳过x和y参数的输入。
ffmpeg -i input.avi -vf crop=iw/2:ih/2 output.avi //半帧
自动检测裁剪区域
为了自动检测出裁剪的非黑色区域,可使用cropdetect过滤器
Video filter:criodetect
语法:cropdetect[=limit[:round[:reset]]]
limit:阈值,低于阈值的区域将被剔除
round:
reset:计数器决定了多少帧后将重置检测到的最大视频区域并重新检测当前最有的区域。默认值为0.表示永远不会重置
时间的裁剪
ffmpeg -f lavfi -i testsrc -vf crop=125:52:160:94 -t 50 timer.mp4
ffmpeg -f lavfi -i testsrc=size=vga -vf crop=125:52:160:94 -t 50 timer.mp4 //size参数指定更大的testsrc输出