2010-07-01 8 views
17

J'ai expérimenté la création d'une vidéo à partir d'une séquence d'images.Séquence d'images en qualité vidéo

Lorsque j'utilise la méthode de ffmpeg suggéré:

ffmpeg -f image2 -i image%d.jpg video.mpg 

La vidéo est vraiment pas aussi bon que je l'espérais:/

Par exemple avec vdub, Si j'exporter avi de la même séquence d'images sa qulalité parfaite, mais la taille du fichier peut être énorme s'il y a beaucoup de jpegs. Dans le passé, j'ai utilisé des frontaux x264 gui tels que staxrip et la vidéo produite à partir d'un AVI non compressé est très exceptionnel et la compression est très très bon, des fichiers de sortie minuscules relativité (MP4).

Alors, quel est le meilleur moyen de compresser la séquence d'images pour obtenir une très haute qualité? Sûrement il y a quelque chose de mieux que ffmpeg? est-il possible d'utiliser le x264 à partir d'une séquence d'images comme vous le ffmpeg, et obtenir une meilleure qualité? Pour info, je vais exécuter la tâche depuis un projet C# .net en utilisant startprocess();

Répondre

27

La qualité de la production de cette commande est mauvais pour quelques raisons:

  • Il est l'encodage en utilisant le codec MPEG-1, ce qui est tout à fait obsolète.
  • Vous ne définissez pas le débit, donc il arrive à sa propre estimation, ce qui est probablement insuffisant.

Essayez quelque chose comme:

ffmpeg -f image2 -i image%d.jpg -vcodec mpeg4 -b 800k video.avi 

pour la vidéo mpeg 4 ou:

ffmpeg -f image2 -i image%d.jpg -vcodec libx264 -b 800k video.avi 

pour la vidéo H.264 (Vous devez avoir libx264 installés pour que cela fonctionne). Vous pouvez jouer avec le débit car cela dépend de la taille de vos images quel débit vous aurez besoin. En outre, exécuter ffmpeg -formats affichera tous les formats de sortie et les codecs si vous voulez expérimenter plus. Pour plus d'options, consultez le ffmpeg documentation.

+0

merci beaucoup ws great info – brux

+1

Le '-b' s'applique à tout, audio et vidéo. Vous pouvez spécifier à quel flux le bitrate s'applique ... "stream_type est l'un des suivants: 'v' ou 'V' pour la vidéo, 'a' pour l'audio, 's' pour les sous-titres, 'd' pour les données et 't 'V' correspond à tous les flux vidéo, 'V' correspond uniquement aux flux vidéo qui ne sont pas des images jointes, des vignettes vidéo ou des couvertures. tous les flux de ce type. " –