114 votes

Comment créer une vidéo à partir d'images en utilisant FFmpeg ?

Est-il possible d'utiliser ffmpeg pour créer une vidéo à partir d'un ensemble de séquences, où le numéro ne commence pas à zéro ?

Par exemple, j'ai quelques images [test_100.jpg, test_101.jpg, test_102.jpg, ..., test_200.jpg], et je veux les convertir en vidéo. J'ai essayé la commande suivante, mais cela n'a pas fonctionné (il semble que le numéro devrait commencer à zéro) :

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

Des conseils ?

0 votes

Il s'est écoulé un certain temps depuis que vous avez posé cette question, mais si vous êtes toujours intéressé par la question, la réponse est OUI - j'ai posté les détails et un exemple ci-dessous: stackoverflow.com/a/12160155/181638

0 votes

@casperOne ce serait utile d'avoir une idée de pourquoi cela est hors sujet. Il semble s'agir d'un problème de programmation spécifique. La balise FFmpeg compte 3,7k abonnés, et avec 27k vues, il est clair que les gens le trouvent utile.

2 votes

@geotheory Les statistiques de balises sont sans importance. ffmpeg est un programme à l'image de WinRar. Bien que vous puissiez programmer contre les bibliothèques dans ffmpeg, cette question ne concerne pas cela. L'utilisation de ffmpeg en ligne de commande doit être posée sur Super User, là où c'est pertinent.

0voto

ProgramFOX Points 105

Vous pouvez le faire avec convert -morph:

convert *.jpg -delay 10 -morph 10 %05d.jpg

Si vous voulez utiliser ffmpeg, j'ai utilisé

ffmpeg -pattern_type glob -i '*.jpg' -vf "setpts=10*PTS" movie.mp4

où le 10*PTS indique à ffmpeg de le ralentir 10 fois. Vous pouvez également y mettre des fractions pour accélérer.

0 votes

Il s'agit simplement d'interpoler votre séquence d'images originale dans un nouvel espace, cela ne crée pas de fichier vidéo comme l'a demandé l'OP.

0voto

BiLaL Points 101

À partir de la documentation, il semble que vous puissiez simplement utiliser *

Par exemple, pour créer une vidéo à partir de noms de fichiers correspondant au motif globale foo-*.jpeg :

ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi

À noter, pour améliorer la qualité, le taux/fps peut être important (par exemple, spécifier d'abord un très bas/élevé taux d'images par seconde et ensuite passer par un deuxième filtre qui transformera la vidéo au ralenti en vidéo normale ?)

0voto

Mona Jalal Points 415

Dans mon cas, c'était un peu plus compliqué en raison des chiffres dans les fichiers. Voici à quoi ressemblent mes images :

$ ls | head -5
2014_aq_unprocessed 001.jpg
2014_aq_unprocessed 002.jpg
2014_aq_unprocessed 003.jpg
2014_aq_unprocessed 004.jpg
2014_aq_unprocessed 005.jpg

et voici la commande que j'ai utilisée :

ffmpeg -i 2014_aq_unprocessed\ %3d.jpg  -vcodec mpeg4 test.avi

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X