Encodage de vidéos
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.