Как совместить видео и изображение с помощью «обратного» vstack? - PullRequest
0 голосов
/ 20 января 2019

У меня есть изображение и видео (одинаковой ширины).Теперь я хочу использовать ffmpeg, чтобы добавить изображение над видео.Google и другие SO используют тэг vstack filter_complex, который прекрасно работает, за исключением того, что он помещает изображение под видео.

Я пытался сначала поместить изображение, а затем видео, но это не работает,Я также попытался дать обратный ввод команды vstack, но также не сработал!

Видео может также содержит аудио, которое мне нужно сохранить.

См. Кодниже:

// Works, but puts image below video (instead of above)
ffmpeg -i test.mp4 -i text.png -filter_complex vstack result.mp4

// Doesn't work at all
ffmpeg -i test.mp4 -i text.png -filter_complex '[1:v][0:v]vstack' result.mp4

// Doesn't work at all
ffmpeg -i test.mp4 -i text.png -filter_complex '[1:v][0:v]vstack=inputs=2[v]' -map '[v]' -map 0:a result.mp4

Google / SO пока не дал никаких советов о том, как этого добиться.Знаете ли вы решение?

1 Ответ

0 голосов
/ 20 января 2019

Использование

ffmpeg -i test.mp4 -i text.png -filter_complex '[1:v][0:v]vstack' -c:a copy -pix_fmt yuv420p result.mp4

Видео и изображения могут иметь различные форматы пикселей.Если различные входные данные для стекового фильтра не имеют одинаковый формат, фильтр выбирает формат первого входного сигнала и преобразует все другие входные данные в этот формат.Однако некоторые видеоплееры не поддерживают широкий спектр форматов.yuv420p является широко поддерживаемым форматом, поэтому приведенная выше команда принудительно выводит этот формат.Аудио, если оно присутствует в MP4, будет перенесено.


ffmpeg -i test.mp4 -i text.png -filter_complex '[1:v]format=yuv444p[img];[img][0:v]vstack' -c:a copy -pix_fmt yuv420p result.mp4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...