Наложить логотип и аудио на существующее видео

Есть video.mp4, logo.png и audio.mp3. Необходимо наложить логотип на видео и заменить аудио внешней дорожкой audio.mp3
  1. ffmpeg -i video.mp4 -i logo.png -i audio.mp3 \
  2.   -filter_complex "[0:v][1:v]overlay=20:20" \
  3.   -map 2:a:0 \
  4.   -c:v libx264 -c:a aac \
  5.   -shortest \
  6.   -y result.mp4
При помощи -filter_complex накладываем поток 1 (logo.png, так как индексация с нуля) на поток 0 (video.mp4). Затем при помощи -map 2:a:0 аудио второго потока (audio.mp3) направляем в поток 0, то есть на выход.
Второй варинт: аудио нужно смешать с существующим в video.mp4
  1. ffmpeg -i video.mp4 -i logo.png -i audio.mp3 \
  2.   -filter_complex "[0:v][1:v]overlay=20:20[rv]; [0:a][2:a]amix=inputs=2:duration=longest[ra]" \
  3.   -map [rv]:0 -map [ra]:0 \
  4.   -c:v libx264 -c:a aac \
  5.   -shortest \
  6.   -y result.mp4
Здесь результат наложения логотипа на видео направляется в поток rv, а микшированное аудио потока 2 и потока 0 направляется в поток ra. Затем rv и ra направляются в 0, то есть на выход.

Реклама

Мы в соцсетях

tw tg yt gt