Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/04/2011, à 13:03

detoxified

Les meilleurs paramètres pour convertir une vidéo ?

Bonjour à tous,

ma question porte sur le bitrate des vidéos. Voilà pourquoi et comment je me pose le problème :

Récemment, j'ai cherché le moyen de passer du format avi au format flv sous Ubuntu,
l'idée c'est que la transformation soit plus ou moins "transparente" en terme de qualité ET en terme de taille de fichier.

J'ai testé la manip avec Avidemux, qui le fait très bien. À l'occasion, ce logiciel m'a indiqué que la fréquence d'échantillonnage du son pour une vidéo flv devait être 44 100 Hz (ce qui lui pose un soucis quand on veut transcoder une vidéo avi dont le son échantillonné en 48 000 Hz). Il faut donc rééchantillonner le son en 44 100 Hz pour que ça marche. (c'est toujours bon de le savoir).

Le seul problème, avec avidemux, c'est que les réglages par défaut donne une vidéo en Flv qui pèse bien plus lourd (presque 2 fois plus en fait pour certaines vidéos) que la vidéo originale en avi.

Je me suis donc tourné vers mencoder en ligne de commande et en cherchant ici dans d'anciennes discussions, j'ai trouvé cette ligne :

mencoder sample.avi -forceidx -of lavf -ovc lavc -oac mp3lame -lavcopts vcodec=flv:vbitrate=320:autoaspect:abitrate=32 -vf scale=320:-3 -af resample=22050 -o video.flv

Avec cette explication :

Un utilisateur de ce forum a écrit :

- forceidx permet de forcer la réindéxation du fichier dans le cas où le fichier est désynchronisé (désynchronisation audio/video), cela limite les erreurs sur les fichiers mal encodés.
- of lavf libavformat se charge de l'endage vidéo.
- ovc lavc les codecs de libavcodec sont utilisés pour encoder la vidéo.
- oac mp3lame lame est utilisé comme codec audio.
- lavcopts permet de spécifier les options des codecs vidéo libavcodec
vcodec=flv utilisation du codec flv
vbitrate=320 les videos seront encodées avec un bitrate de 320kb/s
autoaspect permet de définir automatiquement l'aspect ratio
abitrate=32 le bitrate audio est fixé à 32kb/s
- vf permet de crée un filtre video
scale=320:-3 Mise à l'échelle en fixant la largeur à 320 et en présérvant l'aspect ratio original
- af permet de crée un filtre audio
resample=22050 Resamplage de l'audio à 22050 Hz

Voici les paramètre de la vidéo en avi que je veux passer en flv :

La fenêtre de propriétés Ubuntu a écrit :

Vidéo :

  • Dimensions : 576 x 320

  • Codec : XVID MPEG-4

  • Cadence : 25 frames per second

  • Débit : N/A

Audio :

  • Codec : MPEG 1 Audio, Layer 3 (MP3)

  • Codec : XVID MPEG-4

  • Canaux : Stereo

  • Échantillonage : 48000 Hz

  • Débit : 112 kbps

Taille :

704 Mio

J'ai donc adapté la ligne de commande mencoder que j'avais trouvée ici en virant certaines options et en changeant la valeur du bitrate vidéo et de l'échantillonnage sonore (mon idée est de garder la taille originale pour l'image et la qualité la plus proche possible, idem pour le son), pour arriver à cette ligne :

mencoder ma_video.avi -forceidx -of lavf -ovc lavc -oac mp3lame -lavcopts vcodec=flv:vbitrate=800 -af resample=44100 -o ma_video.flv

J'obtiens une vidéo, qui fonctionne avec le lecteur vidéo Ubuntu (avec VLC aussi), et qui, à la lecture ressemble parfaitement à l'original. En revanche elle pèse encore un peu trop (833 Mio)

Voici ses propriétés :

La fenêtre de propriétés Ubuntu a écrit :

Vidéo :

  • Dimensions : 576 x 320

  • Codec :N/A

  • Cadence : 25 frames per second

  • Débit : N/A

Audio :

  • Codec : MPEG 1 Audio, Layer 3 (MP3)

  • Canaux : Stereo

  • Échantillonage : 44100 Hz

  • Débit : N/A

Taille :

833 Mio

Mes questions sont les suivantes :
- Pourquoi n'a-t-on pas d'informations sur les débits vidéos dans la fenêtre de propriétés (ni pour la vidéo de départ ni pour la vidéo transcodée) ?
Je pensais pourtant que c'était ça, le bitrate ?

- Comment peut-on savoir à l'avance quel ordre de grandeur on doit mettre pour la valeur du birate vidéo (est-ce qu'il y a une formule pour avoir une idée du bitrate ? Est-ce que ça dépend de la taille en pixels, du nombre d'images par secondes, des deux ?) Ça permettrait de savoir à l'avance quelle valeur on doit mettre, plutôt que de faire l'essai et de baisser par la suite.

- Peut-on lui donner n'importe quelle valeur, ou est-ce qu'il y a des règles à respecter ? (multiple de 4, de 16, un rapport avec les dimensions ou je ne sais quoi)

- Accessoirement, pourquoi n'y a-t-il pas d'information sur le codec vidéo de la video.flv ainsi obtenue ???

En espérant que mon expérience pourra servir à d'autre. Merci de votre attention et de vos réponses éclairées.

wink

Dernière modification par detoxified (Le 15/04/2011, à 18:54)


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#2 Le 13/04/2011, à 15:07

Gatsu

Re : Les meilleurs paramètres pour convertir une vidéo ?

Juste une question, pourquoi choisir le format .flv ?

Pour rappel flv est un conteneur et pas un codec video :
> http://fr.wikipedia.org/wiki/Flash_Video

wikipedia a écrit :

C'est un format conteneur. Le codec vidéo est soit une variante du H.264, soit le codec VP6 de la société On2, soit encore une suite de captures écran. L'audio est soit non compressé (PCM, ADPCM), soit compressé en MP3.

Bref c'est du proprio à tous les étages.

Pour le bitrate, ça correspond à la taille de la vidéo par rapport à la durée de la vidéo. Pour connaître le bitrate d'une vidéo, tu fais :

Taille en Mio * 1024 * 8 / durée en seconde = bitrate en kb/s

sachant que 1 kio = 8 kb

D'autre part, certains codecs vidéo sont très mauvais pour coller parfaitement au bitrate demandé.
Xvid et x264 (ou MPEG4 AVC dans avidemux) sont quant à eux très bons sur ce point.

Hors ligne

#3 Le 15/04/2011, à 13:59

detoxified

Re : Les meilleurs paramètres pour convertir une vidéo ?

Salut,
et merci beaucoup pour ta réponse.

J'ai besoin du format flv parce que je suis le propre diffuseur de mes vidéos sur mon site web. Quand quelqu'un se connecte chez moi il dispose d'un mini lecteur flash (très sobre mais très fonctionnel). Le truc c'est que mes fichiers vidéos doivent obligatoirement être en flv pour que ça fonctionne.


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#4 Le 15/04/2011, à 16:09

Gatsu

Re : Les meilleurs paramètres pour convertir une vidéo ?

Ok.

Pour info, les fichiers vidéo fournis par youtube sont soit des fichiers .mp4 soit des fichiers .flv. Et les fichiers .flv peuvent contenir une vidéo au format H264 (même chose que x264/MPEG4 AVC) et de l'audio au format AAC.

Les propriétés du conteneur .flv ont peut-être été améliorées sans que wikipedia ne les ait mises à jour. Je ne me suis jamais intéressé à ce conteneur, mais tu devrais tester pour voir si ton lecteur est compatible avec ces formats. Tu auras de toute façon de meilleurs résultats avec ces codecs.


D'autre part, dans avidemux tu peux tester avec la calculatrice le ratio qualité/taille de ta vidéo. Mets ton bitrate audio final dans la partie audio, dans support choisit "personnalisé" et ajuste la taille finale de ton fichier. Il te calculera le débit vidéo à configurer dans les options du codec et te donnera le bits/pixel de ta vidéo qui correspond grosso-modo à la qualité de la vidéo en fonction de la résolution par rapport au débit vidéo.

Pour ma part, une vidéo standard avec un bits/pixel de 0.12 en x264, j'estime que la qualité est correcte. A partir de 0.17, elle est très bonne.

Si tu encodes en "Sorenson Spark" (le codec de base des .flv) il faudra se baser sur un bits/pixel plus haut pour la même qualité.

Évidement tout dépend du contenu de ta vidéo. Une vidéo avec beaucoup de mouvement, beaucoup de scènes changeantes, ou de grosses variations de lumières (genre stroboscope, flashs ou même beaucoup de bruit vidéo) sera plus difficile à encoder correctement et baissera rapidement en qualité.

Hors ligne

#5 Le 15/04/2011, à 18:52

detoxified

Re : Les meilleurs paramètres pour convertir une vidéo ?

Merci encore pour ces précisions.
Si ça peut te renseigner, voici le code que j'insère dans mes pages web pour que mes visiteurs puissent lire une vidéo :

<object type="application/x-shockwave-flash" allowscriptaccess="always" data="player_flv_mini.swf" height="375" width="500">

    <param name="movie" value="player_flv_mini.swf">
    <param name="allowFullScreen" value="true">
<param name="allowscriptaccess" value="always">
    <param name="FlashVars" value="flv=/videos/opio/TV_arte_opio_4.flv&amp;width=500&amp;height=375">
</object>

Comme tu peux voir, ça m'a l'air très orienté "flash", bien que je ne sache pas vraiment ce que ça veut dire ???
wink

En tout cas, je garde précieusement cette discussion sous le coude et je vais explorer les options d'Avidemux. Ça me servira pour d'autres types de conversions je pense.


Tout ça c'est Babylone qui nous exploite...

Hors ligne

#6 Le 16/04/2011, à 01:29

Gatsu

Re : Les meilleurs paramètres pour convertir une vidéo ?

Je viens de lire que avidemux ne supporte que le codec Sorenson Spark (FLV1) dans le conteneur .flv.

avidemux wiki a écrit :

Flash Video - Video formats supported:
FLV1, VP6 or MPEG-4 AVC. Avidemux currently supports FLV1 only.

> http://www.avidemux.org/admWiki/doku.ph … ut_formats

A la limite, tu peux faire tes conversions avec avidemux (que je trouve plus simple d'accès et avec plein de filtres intéressants + preview du résultat) en H264+AAC et les mettre dans un conteneur .mkv, et ensuite les remuxer telles quelles dans un conteneur .flv avec cette commande :

mencoder SOURCE.mkv -o DESTINATION.flv -of lavf -oac copy -ovc copy

N'oublie pas de faire des tests avec ton lecteur flash, je ne m'y connais pas trop dans les options mencoder.
A priori ça fonctionne sur les quelques vidéos que j'ai testées.

Flash c'est la techno proprio de chez Adobe pour afficher du contenu animé ou des vidéos sur une page web :
> http://doc.ubuntu-fr.org/flash

Hors ligne

#7 Le 16/04/2011, à 01:40

J5012

Re : Les meilleurs paramètres pour convertir une vidéo ?

si tu es maitre de la config de ton serveur d'hebergement, tu peux recuperer des lecteurs flash sophistiques qui liront le xvid/avi en stream directement...

Hors ligne