
Quero sobrepor um vídeo a outro. Tenho dois vídeos com a mesma duração.
O objetivo é tornar o vídeo superior pouco transparente para que se possa ver o que está acontecendo no vídeo de fundo.
Eu tentei abaixocomando:
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";
Neste comando, o vídeo superior não corresponde (no contexto de altura e largura) ao vídeo traseiro.
Confusão : Pode haver a possibilidade de que o vídeo de fundo não tenha a mesma altura e largura do vídeo superior, pois ele vem dinamicamente, nesse caso, como devo gerenciar..!!!
Qualquer ajuda ou sugestão seria apreciada.
Responder1
O comando abaixo redimensiona o vídeo superior para corresponder ao vídeo base e também lhe dá transparência.
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
O scale2ref
redimensiona o segundo vídeo para corresponder às dimensões do primeiro. Em seguida, colorchannelmixer
ajusta o canal alfa para obter 50% de transparência.