ffmpeg: superpone un vídeo sobre otro

ffmpeg: superpone un vídeo sobre otro

Quiero superponer un video a otro. Tengo dos videos con la misma duración.

El objetivo es hacer que el vídeo superior sea un poco transparente para que se pueda ver lo que sucede en el vídeo de fondo.

Lo he probado a continuacióndominio:

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";

En este comando, el video superior no coincide (en el contexto de alto y ancho) con el video de atrás.

Confusión : Puede existir la posibilidad de que el video de fondo no tenga el mismo ancho de altura que el video superior porque aparece dinámicamente, en ese caso, ¿cómo debo manejarlo?

Cualquier ayuda o sugerencias serán apreciadas.

Respuesta1

El siguiente comando cambia el tamaño del video superior para que coincida con el video base y también le da transparencia.

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

Cambia el scale2reftamaño del segundo video para que coincida con las dimensiones del primero. Luego colorchannelmixermodifica el canal alfa para darle un 50% de transparencia.

información relacionada