下面来熟悉一下常用的对视频操作的几个命令。这次需要完成的命令也包括在其中。 视频的画面大小的剪切(crop filter) 将输入的视频的帧,以左上角为坐标的原点,剪切成x,y坐标开始的指定大小。 语法:
# []包裹的选项是可选的 crop= ow[:oh[:x[:y[:keep_aspect]]]] #example 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 :是偏移量。
-
ow,oh :是输出的宽和高。
-
iw ih :还可以使用来表示输入的宽和高
-
a: 表示比例 ,和 iw/ih 一样
如果想从中间开始剪切,命令就编程了
ffmpeg -i input_file -vf crop=w:h output_file
视频的Padding(应该是增加内边距)(pad filter)
给视频添加一个内边距。通常是视频需要在不同显示比例的画面中显示时,需要的命令。 语法:
#[]中的同样是可选的#坐标系与之前相同pad=width[:height[:x[:y[:color]]]] #example ffmpeg -i photo.jpg -vf pad=860:660:30:30:pink frame_photo.jpg
更常用的是将4:3的画面转换成16:9
# 如果不给color的话。默认将会是黑色的背景 # 将画面从4:3 切换成16:9 ffmpeg -i input -vf pad=ih*16/9:ih:(ow-iw)/2:0:color output # 16:9 转换成 4:3 ffmpeg -i input -vf pad=iw:iw*3/4:0:(oh-ih)/2:color output
其实标准的公式如下
# ar是画面的比例。如果是增加画面的宽度,则是 ffmpeg -i input -vf pad