裁剪,使用 ffmpeg 重新排列视频帧的中间

Posted

技术标签:

【中文标题】裁剪,使用 ffmpeg 重新排列视频帧的中间【英文标题】:crop, rearrange middle of video frame with ffmpeg 【发布时间】:2018-10-25 19:50:26 【问题描述】:

我有几百个来自安全摄像头的视频文件。假设这是完整的框架:

+---------------------+-------------------------+
| 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 将只是黑色,或者如果这很难做到,那么它可以是原始视频的任何部分) 知道我该怎么做吗?

【问题讨论】:

【参考方案1】:

您可以裁剪这两个部分,然后将它们垂直堆叠。

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

当垂直堆叠时,段必须具有相同的宽度,因此会添加(黑色)填充。

【讨论】:

我还不完全理解这些命令,但似乎最后一个[im] 应该是[imp] 是的。已更正。

以上是关于裁剪,使用 ffmpeg 重新排列视频帧的中间的主要内容,如果未能解决你的问题,请参考以下文章

使用 ffmpeg 或其他软件从视频中每个场景变化的中间生成缩略图

FFmpeg 常用指令集合

FFMPEG |重新排列作物

Android - 获取视频帧的 FFmpeg 替代方案。 (由于许可)

使用 FFMPEG 裁剪视频时出错

视频抽帧的4种方式