Encodage de vidéos

De ClissXXI.

Des tests lors de la conversion d'une vidéo, honteusement fournie au format WMV.

On décide de "libérer" la vidéo par le truchement de codecs propriétaires... Ce n'est pas très propre mais il ne s'agit que d'une conversion unique.

Conversion en format vidéo 'brut', audio conservé tel quel (DivX/ffmpeg)

mencoder -o resonances.raw -oac copy -ovc raw resonances.wmv
  • vlc: mélange des couleurs (!) et son haché
  • mplayer: audio desync
  • totem/xine: trop lent

Conversion en format vidéo 'brut', audio WAV

mencoder -o resonances.raw -oac pcm -ovc raw resonances.wmv
  • totem/xine: trop lent
  • mplayer: ok
  • vlc: mélange des couleurs (!) - rouge/bleu apparemment


Ogg:Theora+Vorbis est le format à utiliser, sans problème de brevets.

L'outil d'encodage proposé ne prend que du YUV4MPEG en entrée, un format brut des mpegtools.

Extraction de la piste vidéo seulement (notez que l'on passe par mplayer et non pas mencoder, ne me demandez pas d'expliquer):

mplayer -nosound -vo yuv4mpeg resonances.wmv

Cela crée un fichier stream.yuv.

Extraction de la piste audio:

mplayer -vc null -vo null -ao pcm resonances.wmv

Cela crée un fichier audiodump.wav

Les deux en même temps (fichiers séparés - et nommés cette fois):

mplayer -ao pcm:file=resonances.wav -vo yuv4mpeg:file=resonances.yuv resonances.wmv

Conversion du format yuv4mpeg vers Theora-dans-Ogg avec ffmpeg2theora.

ffmpeg2theora stream.yuv --nosound


Conversion des fichiers séparés vers Vorbis+Theora-dans-Ogg - ffmpeg2theora ne prend pas des fichiers séparés:

/usr/src/libtheora-1.0alpha7/examples/encoder_example -v 1 -a 1 resonances.wav resonances.yuv -o resonances.ogg

Résultat: ce n'est pas entrelacé? Le lecteur passe toutes les images à fond, avec le son très très haché, puis à la fin de la vidéo, la lecture audio continue correctement

Coder la bande son en Ogg Vorbis:

oggenc resonances.wav -o resonances.vorbis


À tester: d'autres formats (XviD...), recompiler des outils avec la gestion du Theora.


Autre test, cette fois une conversion d'un DVD en Ogg Theora:

  • transformation en avi avec acidrip (option standard et pour une version avec un format plus petit : scale Width: 320)
  • puis transformation en en ogg theora avec la comande en ligne ffmpeg2theora exemple:
ffmpeg2theora presentation.avi

Acidrip n'est pas un paquet standard de Debian, il faut rajouter le dépot debian-multimedia dans /etc/apt/source.list:

deb http://www.debian-multimedia.org lenny main 

Récupération d'une video sur internet (exemple site de France 3)

mplayer -dumpfile video.wmv -dumpstream mms://adresse_de_la_video.wmv
  • transformation en ogg-theora :
ffmpeg2theora video.wmv


Liens

TODO

  • avidemux: permet des conversions, du recadrage, de la création de vidéos à partir de séries d'images. Paquets dans debian-multimedia.
  • Kino - prend du format dv non compressé
  • conversion vers avi techniquement possible avec mencoder
  • XviD techniquement possible "après une longue bataille de resynchronisation son/video." dit Luc Milland
Outils personnels