Sugiro fazer assim:
- Crie um plano de fundo preto com a mesma duração e resolução que o vídeo de saída deve ser
- Adicionar canal alfa a cada vídeo
- Adicione o efeito de atenuação ao alfa a cada vídeo
- Use sobreposição em cada vídeo com fundo preto
Assim, o comando para adicionar crossfade a 2 vídeos (5 seg.) deve ser:
ffmpeg -i 1.mp4 -i 2.mp4 -f lavfi -i color=black -filter_complex \
"[0:v]format=pix_fmts=yuva420p,fade=t=out:st=4:d=1:alpha=1,setpts=PTS-STARTPTS[va0];\
[1:v]format=pix_fmts=yuva420p,fade=t=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+4/TB[va1];\
[2:v]scale=960x720,trim=duration=9[over];\
[over][va0]overlay[over1];\
[over1][va1]overlay=format=yuv420[outv]" \
-vcodec libx264 -map [outv] out.mp4
Isso irá desvanecer primeiro vídeo para alfa no 4º segundo (st = 4) durante 1 segundo (d = 1), desaparecer no segundo em 0 segundo (st = 0) durante 1 segundo (d = 1) e move seu tempo de exibição para frente para 4 seg (+ 4 / TB). Em seguida, cortamos apenas 9 segundos da cor preta, dimensionamos o tamanho do vídeo e sobrepomos o material.
Espero que ajude.