Как сделать видео со статичным фоновым изображением в FFMPEG? - PullRequest
13 голосов
/ 08 сентября 2011

У меня есть изображение. У меня прозрачный FLV. Я хочу использовать изображение в качестве фона для прозрачного FLV и выводить его как FLV.

Эта команда работает, но длина видео составляет один кадр:

ffmpeg -i background.png -f flv -vcodec flv -b 1500k -vf "movie=test_videos/alpha.flv [logo]; [in][logo] overlay=0:0 [out]" -s 800x464 -y output.flv

Я пытался использовать параметры -t и -vframes безрезультатно.

У кого-нибудь есть советы?

Ответы [ 2 ]

6 голосов
/ 08 сентября 2011

Я прошу прощения за мой начальный комментарий, мой поиск изначально дал очень мало результатов.

Теперь, глядя на документацию , я вижу, что вы должны быть в состоянии сделать это. У меня нет времени, чтобы проверить это, но я бы попробовал сделать два прохода. Первый проход должен превратить ваш PNG в фильм с прозрачным фоном такой же продолжительности, как и у вашего другого фильма. Что-то вроде:

ffmpeg -loop_input -f image2 -i background.png -r 25 -vframes 250 -an -vcodec png test.mov

Я выбрал PNG для видеокодека, потому что согласно этот пост поддерживает прозрачность в контейнерах MOV.

Тогда вам следует надеяться, что вы сможете просто передать этот фильм в исходную команду, в которой у вас было изображение.

3 голосов
/ 21 февраля 2012

Полное решение, которое дало мне то, что я хотел, было этой командой:

ffmpeg -loop_input -f image2 -i background.png -r 25 -vframes 2500 -an -vcodec libx264 -b 1500k -vf "movie=test_videos/alpha.flv [logo]; [in][logo] overlay=0:0 [out]" -s 800x464 -y output.mov
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...