ffmpeg - Crée une vidéo à partir d'un cadre d'image avec un début et un cout


14

Je crée une vidéo à partir du cadre d'image, et cela fonctionne très bien. Le problème est que je ne veux pas utiliser toute l'image de mon dossier. J'ai 200 images dans mon dossier, mais je veux une vidéo de 1 à 100

Comment puis-je spécifier le nombre d'images ou la fin de l'image?

ffmpeg -start_number n -i test_% d.jpg -vcodec mpeg4 test.avi

Je ne trouve pas comment

Merci!


Je ne connais pas grand-chose à propos de ce programme, mais s'il utilise toutes les images d'un dossier, pourquoi ne pas créer un nouveau dossier et ne placer que les 100 images souhaitées?
philipthegreat

2
Ce sera ma "solution de hack" si je ne peux pas le faire avec ffmpeg :)
DarkPixel

Réponses:


24

Vous faites cela en indiquant le nombre d'images que vous voulez:

-vframes 100  

Donc, effectivement, c'est dans votre cas:

ffmpeg -start_number 1 -i test_%d.jpg -vframes 100 -vcodec mpeg4 test.avi

Vous devrez peut-être spécifier d'autres paramètres tels que pix_fmt etc. en fonction d'autres facteurs.

En outre, on utilise généralement quelque chose comme test_%05d.jpg avec la séquence numérotée ayant les zéros précédents et 5 chiffres. Si vous ne l'avez pas dans ce format vous pourrait besoin d'utiliser un motif globbing. Voir ce .


3

C'est un code qui fonctionne toujours bien pour moi.

ffmpeg -i yourfile.mp4 -r 1 -ss 15 -t 16 -f image2 snapshot.jpg
                                ^     ^ 
                                ^     ^
                              start  end
                               time   time

le temps est en secondes seulement. S'il a 2 minutes d'avance sur la bobine, il en reste 120. Un fichier image vaut toujours une seconde. Calculez donc l'image de votre choix selon cette approche.

yourfile.mp4 = votre clip

snapshot.jpg = votre nouveau fichier image

IMPORTANT: laissez l'image2 seule. C'est le seul moyen d'obtenir ce que je voulais.


2
J'apprécie cette commande, car cela fonctionne avec vieux ffmpeg que je dois utiliser maintenant; la seule chose est -t n'est pas "l'heure de la fin", man ffmpeg déclare qu'il s'agit de "durée"; donc l'heure de fin serait début + durée. À votre santé!
sdaau
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.