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

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

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

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 ответ1

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 изменяет размер 2-го видео в соответствии с размерами первого. Затем colorchannelmixer настраивает альфа-канал, чтобы сделать его прозрачным на 50%.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .