ffmpeg -y -i video1.mp4 -i video2.mp4 -filter_complex " \ [0:v] scale=w=min(iw*720/ih\,1280):h=min(720\,ih*1280/iw), \ pad=w=1280:h=720:x=(1280-iw)/2:y=(720-ih)/2, \ fade=out:st=3:d=2:alpha=1, setpts=PTS-STARTPTS [video1]; \ [1:v] scale=w=min(iw*720/ih\,1280):h=min(720\,ih*1280/iw), \ pad=w=1280:h=720:x=(1280-iw)/2:y=(720-ih)/2, \ fade=in:st=0:d=2:alpha=1, setpts='PTS+3/TB' [video2]; \ [video1][video2]overlay[v] " -map "[v]" -c:v h264 -crf 18 \ -preset veryfast crossfade.mp4
All sources in php available on my github