Je souhaite concaténer 5 secondes de vidéo vierge / noire à la fin des différentes vidéos que je télécharge sur le réseau. Le processus que j'ai pour faire cela ne fonctionne pas.
D'abord j'utilise 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 résultante, blank.mp4
, lit comme une vidéo vierge de 5 secondes comme prévu.
Ensuite, 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
Cela vaut la peine de noter ceci: j’ai concilié cela avec des extraits de partout sur le Web / stackoverflow, et je suis presque sûr que ce n’est pas correct. En fait, je sais que ce n'est pas juste parce que ...
La vidéo résultante, final.mp4
, semble presque droite. Mais lors de la lecture, une fois que la tête de lecture a inséré la fin de la vidéo dans les 5 secondes de noir, la vidéo ne peut plus chercher plus tôt dans la vidéo avec succès. Au lieu de cela, la vidéo reste noire (bien que je puisse entendre le son).
Suggestions? Je cherche une solution générale qui fonctionnera avec divers fichiers MP4 que je trouve sur le net. Je vous remercie!
utile, mais nécessite de créer une grande vidéo vierge avec une durée plus longue que la vidéo source ... https://stackoverflow.com/a/36786271/62255
la source
no matches found: [0:v][1]concat
-report
à votre commande et courez. Un fichier texte sera généré. Postez ça. Gérons l'audio après cela.