обрезать, переставить середину видеокадра с помощью ffmpeg - PullRequest
0 голосов
/ 25 октября 2018

У меня есть несколько сотен видеофайлов с камеры безопасности.Скажем, вот полный кадр:

+---------------------+-------------------------+
| 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   |
+------+--------------+

(XXX будет просто черным, или, если это трудно сделать, это может быть любая часть оригинального видео) Есть идеи, как мне это сделать?

1 Ответ

0 голосов
/ 25 октября 2018

Вы можете обрезать два сегмента и затем сложить их вертикально.

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][im]vstack" -c:a copy out.mpg

При вертикальном расположении сегменты должны иметь одинаковую ширину, поэтому добавляется (черный) отступ.

...