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.
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
- Ogg/Theora video mini howto
- Script PHP pour intégrer du Ogg/Vorbis dans une page web, selon diverses méthodes
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