Je veux concaténer 5 secondes de vidéo vide/noire à la fin de différentes vidéos que je télécharge sur le net. Le processus que j'ai pour faire cela ne fonctionne pas.
J'utilise d'abord ffprobe
aux dimensions de la vidéo (disons qu'il s'agit de 640x480). Ensuite, je crée ma vidéo vierge comme suit :
ffmpeg -f lavfi -i color=color=black -t 5 -s 640x480 blank.mp4
La vidéo qui en résulte, blank.mp4
Le film est lu comme une vidéo vide de 5 secondes, comme prévu.
Puis je concatène les vidéos comme suit :
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
Maintenant, il est utile de noter : J'ai bricolé ceci avec des extraits de tout le web / stackoverflow, et je suis presque sûr que ce n'est pas correct. En fait, je sais que ce n'est pas correct parce que...
La vidéo qui en résulte, final.mp4
semble presque droit. Mais pendant la lecture, une fois que la tête de lecture entre à la fin de la vidéo dans les 5 secondes de noir, la vidéo ne peut plus chercher à aller plus tôt dans la vidéo avec succès. Au lieu de cela, la vidéo reste noire (bien que je puisse entendre l'audio).
Des suggestions ? Je cherche une solution générale qui fonctionne avec les différents fichiers mp4 que je trouve sur le net. Merci !
utile, mais nécessite de créer une grande vidéo vierge d'une durée supérieure à celle de la vidéo source... https://stackoverflow.com/a/36786271/62255