
Я хочу наложить одно видео на другое. У меня есть два видео одинаковой продолжительности.
Цель — сделать верхнее видео немного прозрачным, чтобы можно было видеть, что происходит на заднем плане.
Я попробовал нижекоманда:
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% прозрачности.