裁剪,使用 ffmpeg 重新排列视频帧的中间
crop, rearrange middle of video frame with ffmpeg
我有几百个安全摄像头的视频文件。假设这是全帧:
+---------------------+-------------------------+
| 2018-10-10 03:02:12 | |
+---------------------+ |
| +--------------+ |
| | IMPORTANT | |
| +--------------+ |
| |
+-----------------------------------------------+
我有 2 个区域要保留:日期和内盒。
我知道如何裁剪它们中的任何一个,例如:
ffmpeg -i in.mp4 -filter:v "crop=1120:320:40:60" -c:a copy out.mpg
但是我想做的是重新排列框架以在输出中得到这个:
+---------------------+
| 2018-10-10 03:02:12 |
+------+--------------+
| X X X| IMPORTANT |
+------+--------------+
(X X X 只是黑色,或者如果这很难做到那么它可以是原始视频的任何部分)
知道我该怎么做吗?
您可以裁剪两个片段,然后将它们垂直堆叠。
ffmpeg -i in.mp4 -filter_complex "[0]split=2[tc][imp];[tc]crop=1120:320:40:60[tc];
[imp]crop=800:400:1300:150,pad=1120:ih:1120-iw:0[imp];
[tc][imp]vstack" -c:a copy out.mpg
垂直堆叠时,各段的宽度必须相同,因此会添加(黑色)填充。
我有几百个安全摄像头的视频文件。假设这是全帧:
+---------------------+-------------------------+
| 2018-10-10 03:02:12 | |
+---------------------+ |
| +--------------+ |
| | IMPORTANT | |
| +--------------+ |
| |
+-----------------------------------------------+
我有 2 个区域要保留:日期和内盒。 我知道如何裁剪它们中的任何一个,例如:
ffmpeg -i in.mp4 -filter:v "crop=1120:320:40:60" -c:a copy out.mpg
但是我想做的是重新排列框架以在输出中得到这个:
+---------------------+
| 2018-10-10 03:02:12 |
+------+--------------+
| X X X| IMPORTANT |
+------+--------------+
(X X X 只是黑色,或者如果这很难做到那么它可以是原始视频的任何部分) 知道我该怎么做吗?
您可以裁剪两个片段,然后将它们垂直堆叠。
ffmpeg -i in.mp4 -filter_complex "[0]split=2[tc][imp];[tc]crop=1120:320:40:60[tc];
[imp]crop=800:400:1300:150,pad=1120:ih:1120-iw:0[imp];
[tc][imp]vstack" -c:a copy out.mpg
垂直堆叠时,各段的宽度必须相同,因此会添加(黑色)填充。