ffmpeg - Наложение одного видео на другое

ffmpeg - Наложение одного видео на другое

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

Цель — сделать верхнее видео немного прозрачным, чтобы можно было видеть, что происходит на заднем плане.

Я попробовал нижекоманда:

String command="ffmpeg -y -i /sdcard/videokit/two.mp4 -i /sdcard/videokit/inone.mp4 -filter_complex [0:v][1:v]overlay=100:100:eof_action=pass[v] -map [v] /sdcard/videokit/output.mp4";

В этой команде верхнее видео не совпадает (по высоте и ширине) с видео сзади.

Путаница : Может быть, фоновое видео не будет иметь ту же высоту и ширину, что и верхнее видео, поскольку оно воспроизводится динамически. Как мне в таком случае поступить?..!!!

Любая помощь или предложения будут оценены по достоинству.

решение1

Приведенная ниже команда изменяет размер верхнего видео в соответствии с базовым видео, а также придает ему прозрачность.

ffmpeg -y -i /sdcard/videokit/two.mp4 -i /sdcard/videokit/inone.mp4 -filter_complex "[1:v][0:v]scale2ref[ua][b];[ua]setsar=1,format=yuva444p,colorchannelmixer=aa=0.5[u];[b][u]overlay=eof_action=pass[v]" -map [v] /sdcard/videokit/output.mp4

Изменяет scale2refразмер второго видео, чтобы соответствовать размерам первого. Затем colorchannelmixerнастраивает альфа-канал, чтобы придать ему 50% прозрачности.

Связанный контент