2013-07-15 4 views
3

Je suis en train d'extraire des images de trame d'une vidéo MP4 en utilisant ffmpeg dans le terminal.Comment spécifier la taille de l'image de sortie dans la commande ffmpeg?

J'utilisé la commande:

ffmpeg -i Video.MP4 Pictures%d.bmp 

Le problème est que les images extraites ont une taille de 4.5-5MB! Je veux des images plus petites, disons environ 1-2 Mo. Comment puis-je limiter la taille des images de sortie?

Répondre

7

La taille du fichier est fonction de la résolution vidéo et du format de sortie que vous avez choisi. Par exemple:

width x height x 3 bytes (RGB24) 

Vous avez différentes façons de réduire la taille du fichier de sortie.

  1. Modifier le format par exemple YUV 4: 2: 0 avec -pix_fmt yuv420 et je pense que le plus petit format, vous pouvez choisir est gris ou yuv400 mais il faut vérifier avec la commande suivante montrant le format de pixel pris en charge ffmpeg

    ' ffmpeg -pix_fmts

le format BMP doit gérer que (générer une image 8bpp) mais confirmer avec la taille du fichier que vous obtenez un facteur 3!

  1. Modifier la résolution de sortie (HD à SD ou CIF) avec -s <Width>x<Height>, par exemple:

    ffmpeg -i Video.MP4 -s 192x168 Pictures%d.bmp 
    

    ou avec l'option -vf:

    ffmpeg -I Video.MP4 -vf scale=192:168 Pictures%d.bmp 
    
+0

Merci beaucoup, ça a marché! Juste une chose de plus - est-il possible que je puisse obtenir les images de sortie en niveaux de gris 8 bits? – vish

+1

oui il y a, j'ai édité ma réponse, jetez un oeil à la section 1. – alexbuisson

+0

Marquer comme la réponse ... –

1

il y a un plus option que vous devez réduire la taille de fichier des images de sortie: Utilisez un autre format d'image comme * .jpg.

ffmpeg -i input.flv -ss 00:00:14.435 -f image2 -vframes 1 out.jpg

(Source: http://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video)

Avoir une belle journée;)

+0

Merci beaucoup, mais je vais devoir changer la taille de l'image. J'ai besoin de la sortie au format bitmap, donc je ne peux pas aller pour cette option! Bonne journée :) – vish

Questions connexes