Как наложить прозрачный PNG поверх видео и масштабировать до размера видео в FFmpeg

1937
Daniel Jacob Archer

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

ffmpeg -y -i video.mp4 -i overlay.png -filter_complex 'overlay[out],amix=inputs=1,pan=stereo:c0=c0:c1=c1' -map '[out]' output.mp4 

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

0

1 ответ на вопрос

0
Gyan

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

ffmpeg -y -i video.mp4 -i overlay.png -filter_complex "[1][0]scale2ref[i][m];[m][i]overlay[v]" -map "[v]" -map 0:a? -ac 2 output.mp4 

Эти scale2refвесы на первый вход (к фильтру) к размеру второго. Индексы панели ввода 0и1 ссылки на первый и второй входы FFmpeg, так как этот отсчет начинается с нуля.

-map 0:a?- команда ?FFmpeg указывает на случайное отображение звука, т.е. если оно присутствует. Я удалил, amixпоскольку а) фильтры внутри комплекса фильтров не могут быть случайными, и б) есть только один вход, поэтому нечего «смешивать».

Это здорово - если я хочу масштабировать второй вход до размера первого, будет ли это `[0] [1] scale2ref [i] [m]`? Daniel Jacob Archer 7 лет назад 0

Похожие вопросы