unire video split screen

Sto cercando uno strumento di row di command per unire 2 file video, tuttavia vorrei che i video si unissero alla schermata divisa per fotogramma invece che uno dopo l'altro.

Qualche idea? Sembra che questo non sia ansible con ffmpeg.

Con una versione recente di ffmpeg (supponendo che entrambi i video siano la stessa risoluzione):

ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex \ '[0:v]pad=iw*2:ih[int];[int][1:v]overlay=W/2:0[vid]' \ -map [vid] -c:v libx264 -crf 23 -preset veryfast output.mp4 

Questo raddouble sostanzialmente la dimensione di input1.mp4 imbottendo il lato destro con nero la stessa dimensione del video originale e quindi inserisce input2.mp4 sulla parte superiore di quella zona nera con il filter sovrapposto .

Qual è il formato di origine del tuo video? Se si tratta di file AVCHD in .mts o .m2ts, è ansible utilizzare la versione di row di command di tsmuxer per unire i clip. Puoi get .ts o .m2ts come formato finale.

Non sono sicuro di cosa vuoi dire dicendo che desideri che i video si uniscano alla schermata divisa per fotogramma.

questo può essere fatto con la versione SOC di libavfilter e qualche ingegnosità

Puoi get il seguente errore con il metodo @ evilsoups se i tuoi video dispongono di un numero dispari di pixel in una determinata dimensione:

 [Parsed_pad_0 @ 0x1e6e1c0] Input area 0:0:445:369 not within the padded area 0:0:890:368 or zero-sized 

Basta aggiungere 1 alla width e all'altezza dell'output si libera di questo problema:

 ffmpeg -i left.avi -i right.avi -filter_complex \ '[0:v]pad=iw*2+1:ih+1[int];[int][1:v]overlay=W/2:0[vid]' \ -map [vid] -c:v libx264 -crf 23 -preset veryfast output.avi