Answers:
使用crop
过滤器:
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
其中的选项如下:
out_w
是输出矩形的宽度out_h
是输出矩形的高度x
并y
指定输出矩形的左上角
原始320x240图像
要从位置(200,100)开始裁剪80×60的部分:
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
裁剪右下角的四分之一:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
这与:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4
与以下内容相同:
ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
in_w
和来参考输入图像的大小,in_h
如第一个示例所示。输出的宽度和高度也可以与out_w
和一起使用out_h
。从顶部裁剪20个像素,从底部裁剪20个像素:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
x
和y
省略,过滤器将自动使作物居中,例如在本示例中。您可以收割(呵呵)并通过以下方式实时预览ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
这样,您就可以进行实验和调整裁剪,而无需进行编码,查看和重复。
MP4的默认编码器是libx264
(H.264视频)或mpeg4
(MPEG-4 Part 2视频),具体取决于您的ffmpeg
构建。有关更多信息,请参见FFmpeg Wiki:H.264视频编码指南。
与其裁剪和重新编码,不如考虑在回放时裁剪。任何值得使用的玩家都可以做到这一点。
古代ffmpeg
建造使用-croptop
,-cropbottom
,-cropleft
,-cropright
选项,而不是crop
过滤器。如果是这种情况,那么您可以选择现代的ffmpeg
。开发非常活跃,没有理由使用古董。
/Users/kukodajanos/Workspace/ffmpeg -i /Users/kukodajanos/Desktop/video_640x480-2.mp4 -filter:v "crop=1920:1080:0:0" -c:a copy /Users/kukodajanos/Desktop/video_640x480-4.mp4
但是返回了原始电影。
crop
滤镜)可以对视频进行重新编码,请参阅stackoverflow.com/questions/33378548/…如果重新编码对您很重要
-filter:v
为最新的和易于输入的-vf
。干杯!