2 votes

ffmpeg - h264 vers xvid crée un gros fichier

J'essaie d'utiliser ffmpeg pour convertir un fichier vidéo h264/aac en fichier xvid/mp3 afin de pouvoir le lire dans mon lecteur multimédia ultra bon marché.

Pour l'instant, le fichier vidéo converti fait DEUX fois la taille du fichier mp4 d'origine. Existe-t-il un moyen d'obtenir un fichier plus petit sans perdre trop de qualité ? Même une baisse à -qmin 1 est assez horrible !

La commande que j'utilise est

ffmpeg -i input.mp4 -vcodec libxvid -sameq -acodec libmp3lame -ab 128k -ac 2 output.avi

Et la sortie de ffmpeg est

  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4'
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
  Duration: 01:34:27.69, start: 0.000000, bitrate: 1520 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 1387 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
    Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s
Output #0, avi, to 'output.avi':
  Metadata:
    ISFT            : Lavf52.64.2
    Stream #0.0(und): Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0.1(und): Audio: libmp3lame, 48000 Hz, stereo, s16, 128 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1

1voto

CarlF Points 8772

En fonction de ce que votre lecteur multimédia peut gérer, vous pouvez réduire la taille de l'image, par exemple, si elle commence en 1280x720, réduisez-la à 640x360. Cela vous permettra de réduire le débit binaire de la vidéo de 3/4 sans modifier la qualité, et les petits lecteurs vidéo n'affichent de toute façon que 640 pixels de large.

0voto

niklasfi Points 2499

Comme cela a déjà été dit dans les commentaires, le h.264 est un meilleur codec (c'est-à-dire qu'il compresse mieux) que le xvid, donc, toutes choses égales par ailleurs (qualité, taille d'image, fréquence d'images, etc.), le xvid produira toujours des fichiers plus volumineux. L'avantage du xvid est qu'il est moins gourmand en ressources CPU que le h.264, ce qui explique pourquoi les lecteurs multimédia bon marché peuvent l'utiliser.

Par exemple, XBMC sur la xbox originale (qui avait un processeur d'architecture PIII fonctionnant à 733 MHz) pouvait être contraint de lire du contenu HD 720p, mais seulement si le codec était suffisamment léger et avec des drapeaux très spécifiques. Il s'agissait généralement de xvid, car le h.264, même en résolution SD, était généralement trop lourd pour le pauvre vieux PIII. En résolution SD, une émission de télévision typique de 45 minutes de qualité acceptable pèse environ 350 Mo, mais en h.264, ce serait environ la moitié.

le mieux est de recoder les vidéos à la même résolution que l'appareil (mais en conservant la qualité), de cette façon vous ne gaspillez pas de bande passante sur une image qui sera de toute façon réduite au moment de la lecture. - En divisant la résolution par deux dans n'importe quelle direction (disons 1280x720 -> 640x360 comme mentionné ci-dessus), la bande passante requise (et la taille des fichiers résultants) sera réduite à 1/4.

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