分割视频并在水平或垂直方向将其分成两半,然后重新拼接的命令

9

我该如何使用ffmpeg按分辨率将视频垂直或水平地切成两半?例如对于一段640 x 480像素的视频,我想将其分成两个320 x 480像素的视频或者将其水平切成两个640 x 240像素的视频。之后,我需要将这些分开的视频合并成一个分辨率不变的完整视频。如何实现这个功能呢?

1个回答

8

分成两半

使用裁剪滤镜

垂直方向(上下)

ffmpeg -i input -filter_complex "[0]crop=iw:ih/2:0:0[top];[0]crop=iw:ih/2:0:oh[bottom]" -map "[top]" top.mp4 -map "[bottom]" bottom.mp4

水平 (左/右)

ffmpeg -i input -filter_complex "[0]crop=iw/2:ih:0:0[left];[0]crop=iw/2:ih:ow:0[right]" -map "[left]" left.mp4 -map "[right]" right.mp4

合并分离的视频

请使用vstack/hstack过滤器,如在ffmpeg中垂直或水平堆叠多个视频所示。


对于水平部分,"right" 部分不应该是 ow,而应该是 ow+1 吗?如果使用 ow,则在左侧的 720px 和右侧的 720px 中以 0 开始(例如)1440x1080p 视频时,这只会带您到第 1439 个像素,或者我错了吗?(即:当您将它们重新组合在一起时,您正在复制第 720 个垂直像素行) - Jann
这太棒了,适用于VR360!谢谢你! - Michael N

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接