concat mp4 con video vuoto

Voglio concatenare 5 secondi di video vuoto / nero alla fine di diversi video che scarico da networking. Il process che ho per fare questo non funziona.

Innanzitutto uso ffprobe alle size del video (diciamo che risulta essere 640×480). Poi creo il mio video vuoto come così:

 ffmpeg -f lavfi -i color=color=black -t 5 -s 640x480 blank.mp4 

Il video risultante, blank.mp4 , riproduce come un video vuoto di 5 secondi come previsto.

Poi ho concatenato i video come così:

 ffmpeg -i random.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts a.ts ffmpeg -i blank.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts b.ts ffmpeg -i concat:a.ts|b.ts -c copy -bsf:a aac_adtstoasc final.mp4 

Ora, vale la pena notare: ho cribbato questo insieme a frammenti da tutto il web / stackoverflow, e sono abbastanza sicuro che non è giusto. Infatti, so che non è giusto perché …

Il risultato video, final.mp4 , sembra quasi giusto. Ma durante la riproduzione, una volta che la testina di riproduzione entra in fine del video nei 5 secondi di nero, il video non può più cercare in precedenza il video con successo. Invece il video rimane nero (anche se posso ascoltare l'audio).

Suggerimenti? Sto cercando una soluzione generale che funziona con diversi file mp4 che trovo in networking. Grazie!


utile, ma richiede la creazione di un ampio video vuoto con una durata maggiore del video sorgente … https://stackoverflow.com/a/36786271/62255

Uso

 ffmpeg -i random.mp4 -f lavfi -i color=s=640x480:d=5 -filter_complex [0:v][1]concat -af [0]apad -shortest out.mp4