Apenas vídeo
Você pode usar um filtro para toda a filtragem.
ffmpeg -loop 1 -i image0.png -i video1.m4v -i video2.m4v -filter_complex \
"[0:v]scale=1280:-2[bg]; \
[1:v]scale=140:-1,setpts=PTS-STARTPTS[fg1]; \
[2:v]scale=100:-1,setpts=PTS-STARTPTS[fg2]; \
[bg][fg1]overlay=70:70:shortest=1[ol]; \
[ol][fg2]overlay=300:70,format=yuv420p[v]" \
-map "[v]" -movflags +faststart output.mp4
-
O
moviefiltro de fonte de multimídia não é necessário. -
setptsirá redefinir o registro de data e hora para que funcione melhor comoverlay. -
Observe o
shortest=1em um dos filtros de sobreposição. Caso contrário, a entrada da imagem fará um loop para sempre. Alternativamente, você pode usar o filtrotrimna entrada da imagem. -
A ação "fim do arquivo" de
overlaypode ser alterada comeof_action. -
O
formatfilter define a subamostragem de chroma compatível para o QuickTime e outros jogadores de baixa qualidade. / p> -
Quando a codificação terminar,
-movflags +faststartrealocará alguns dados para o início do arquivo. Isso é útil, por exemplo, se você estiver transmitindo para o MP4 e seus espectadores assistirem por download progressivo, como em um navegador.
com áudio
Assumindo que ambos os vídeos tenham áudio estéreo e você deseje combinar o áudio de cada vídeo em uma única saída estéreo.
Exemplo 1

Esteexemplocolocaráosdoiscanaisesquerdosdeentradanocanalesquerdodesaída,eambososcanaisdiretosdeentradanocanaldireitodesaída.
ffmpeg-loop1-iimage0.png-ivideo1.m4v-ivideo2.m4v-filter_complex\"[0:v]scale=1280:-2[bg]; \
[1:v]scale=140:-1,setpts=PTS-STARTPTS[fg1]; \
[2:v]scale=100:-1,setpts=PTS-STARTPTS[fg2]; \
[bg][fg1]overlay=70:70:shortest=1[ol]; \
[ol][fg2]overlay=300:70,format=yuv420p[v]; \
[1:a][2:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2 -movflags +faststart output.mp4
Exemplo 2

Esteexemplocolocaráosdoiscanaisdaprimeiraentradanocanalesquerdodasaída,eambososcanaisdasegundaentradanocanaldireitodasaída.
ffmpeg-loop1-iimage0.png-ivideo1.m4v-ivideo2.m4v-filter_complex\"[0:v]scale=1280:-2[bg]; \
[1:v]scale=140:-1,setpts=PTS-STARTPTS[fg1]; \
[2:v]scale=100:-1,setpts=PTS-STARTPTS[fg2]; \
[bg][fg1]overlay=70:70:shortest=1[ol]; \
[ol][fg2]overlay=300:70,format=yuv420p[v]; \
[1:a][2:a]amerge,pan=stereo|c0<c0+c2|c1<c1+c3[a]" \
-map "[v]" -map "[a]" -movflags +faststart output.mp4
Exemplo 3
Se você quiser apenas o áudio de uma entrada, basta adicionar uma opção -map ao exemplo de vídeo acima (sem necessidade de amerge e pan ):
-map 1:a -c:a copy