Première rédaction de cet article le 27 février 2008
Aujourd'hui où on peut récupérer plein de fichiers vidéos sur Internet ou bien via sa LibreBoîte, il est courant de les regarder sur son ordinateur. Mais le lecteur de DVD traditionnel a encore des avantages (prix, disponibilité, facilités pour regarder en famille) et il est donc intéressant de pouvoir produire des DVD-Vidéo à partir de ces fichiers vidéo. Disons-le franchement, ce n'est pas facile mais c'est possible. Ici, j'utiliserai une machine Unix, en l'occurrence une Ubuntu.
On trouve beaucoup de documentations et de
HOWTO sur le réseau pour cette tâche. La
plupart sont très complexes et supposent que l'utilisateur est prêt à
concevoir et à écrire des commandes comme
mencoder -o $OUTPUT -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf harddup -srate 48000 -ofps 25 -lavcopts acodec=ac3:abitrate=192:vcodec=mpeg2video:aspect=4/3:keyint=15:vrc_buf_size=183 5:vrc_maxrate=9800:vbitrate=$BITRATE:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:vqmin=1:lmin=1:dc=10 $INPUT
. D'autres documentations supposent au
contraire qu'on veut utiliser un outil à GUI
qui va tout faire pour nous, sans nous dire comment. Je me situe entre
les deux : je veux quelque chose de simple (je ne suis pas
professionnel de la vidéo) mais je veux aussi quelque chose en ligne
de commande, qu'on puisse adapter et programmer.
Avant de voir la solution que j'utilise, expliquons un peu les étapes. Il faut faire quatre choses pour avoir un DVD-Vidéo :
VIDEO_TS
et
AUDIO_TS
),Chacune de ces étapes peut être faite à la main, avec une commande Unix, mais la création de ces commandes est souvent cauchemardesque. C'est pour cela que je préfère utiliser les scripts du paquetage ToVid, simples et particulièrement bien documentés. Prenons le cas d'un film nommé « Parle à ma main » qu'on a récupéré en AVI et qu'on voudrait mettre sur DVD. Les quatre étapes citées ci-dessus correspondent à trois commandes de ToVid (la dernière commande fait deux étapes) :
# Ré-encoder le fichier. Le résultat sera bien plus gros, car les # algorithmes de compression que comprennent les lecteurs DVD de salon # ne sont pas aussi efficaces. tovid -dvd -in parle-a-ma-main.avi -out parle-a-ma-main # Créer le menu du DVD makexml /var/tmp/parle-a-ma-main.mpg -out parle-a-ma-main # Créer le système de fichiers UDF et graver (makedvd appelle # genisoimage pour cela) makedvd -burn parle-a-ma-main.xml
Et c'est tout et ça fonctionne. Il n'y a pas de vrai menu, puisqu'un seul film est présent, ToVid crée un DVD qui démarre automatiquement sur l'unique film.
Et si on a plusieurs films et qu'on veut des menus ? Supposons
qu'on a escaladé deux montagnes en Antarctique,
l'Erebus et le Kirkpatrick. Pendant l'ascension, on a filmé et
enregistré erebus.avi
et
kirpatrick.avi
. On veut faire un menu présentant
le choix entre les deux films :
# Réencoder les deux fichiers tovid -dvd -in erebus.avi -out erebus tovid -dvd -in kirkpatrick.avi -out kirkpatrick # Faire le menu makemenu -pal "Mont Erebus" "Mont Kirkpatrick" -out Antarctique # Générer le fichier XML qui décrit le DVD makexml -dvd -menu Antarctique.mpg erebus.mpg kirkpatrick.mpg -out Antarctique # Graver makedvd -burn Antarctique.xml
Cela donnera un DVD avec un menu d'introduction proposant les deux
choix « Mont Erebus » et « Mont
Kirkpatrick ». makemenu
dispose de nombreuses
options (très bien expliquées). Par exemple, ici, on mettra vent.mp3
en
musique de fond du menu et neige.jpg
en image de
fond.
makemenu -pal "Mont Erebus" "Mont Kirkpatrick" -audio vent.mp3 \ -background neige.jpg -fontsize 38 -out Antarctique
La première étape, celle du réencodage n'est pas forcément nécessaire si le lecteur de DVD sait lire le format utilisé. Attention, les formats vidéo sont typiquement en deux couches, un encodage des données vidéo et un emballage de la vidéo et d'autres informations dans un container. Par exemple, un AVI est un container, les données étant en général encodées en MPEG. Le script MediaInfo permet d'afficher le contenu d'un fichier multimédia, ici l'AVI contient une vidéo MPEG-4 et une piste audio :
% MediaInfo monfilm.avi General #0 Complete name : /tmp/monfilm.avi Format : AVI Format/Info : Audio Video Interleave Format/Family : RIFF File size : 5.76 MiB PlayTime : 1mn 47s Bit rate : 444 Kbps StreamSize : 176 KiB Writing library : VirtualDub build 24415/release Video #0 Codec : XviD Codec/Family : MPEG-4 Codec/Info : XviD project Codec settings/Packe : Yes Codec settings/BVOP : Yes Codec settings/QPel : No Codec settings/GMC : 0 Codec settings/Matri : Default PlayTime : 1mn 47s Bit rate : 313 Kbps Width : 576 pixels Height : 336 pixels Aspect ratio : 16/9 Frame rate : 25.000 fps Resolution : 8 bits Chroma : 4:2:0 Interlacement : Progressive Bits/(Pixel*Frame) : 0.063 StreamSize : 3.99 MiB Writing library : XviD0041 Audio #0 Codec : MPEG-1 Audio layer 3 Codec profile : Joint stereo PlayTime : 1mn 47s Bit rate : 125 Kbps Bit rate mode : VBR Channel(s) : 2 channels Sampling rate : 48 KHz Resolution : 16 bits StreamSize : 1.59 MiB Writing library : Xing (new)
(mplayer -identify
donne également des
informations mais moins détaillées et semble difficile à utiliser de
manière non-interactive.)
L'étape de la gravure est souvent la plus délicate (je n'ai jamais réussi à relire un DVD gravé avec wodim, par exemple.). Les erreurs à la gravure sont fréquentes, surtout avec les DVD bas de gamme. Il est recommandé d'utiliser des DVD RW (réinscriptibles), certes plus chers mais qui permettent de réessayer plusieurs fois. On peut aussi, avant la gravure, tester le DVD « virtuel » avec gxine ou codeine.
Une autre description de la même technique peut être trouvée (en anglais) dans DVD Authoring with Linux qui note, comme moi, que la méthode manuelle est vraiment pénible. Si on préfère quand même procéder à la main, et écrire un script à soi, on trouvera des informations utiles en français dans MPEG to DVD ou en anglais dans Some thoughts on DVD authoring ou Authoring PC media To DVD using the Linux Operating System.
On notera que le monde de la vidéo est particulièrement difficile
pour les partisans du logiciel libre. Certains
programmes ne sont pas accessibles sous une licence libre, d'autres
sont sous l'épée de Damoclès des
brevets logiciels, fréquents sur les formats
vidéo (peu sont des formats vraiment
ouverts). C'est ainsi que la documentation de ToVid note, à
propos de l'installation sur Debian, que
tovid isn't in the official Debian distribution because it
depends on packages that don't comply with the Debian philosophy (and
so it's very likely it never will be officially included in
Debian) (les commandes utilisées ici ont été testées sur une
Ubuntu, avec les jeux de paquetages
universe
et multiverse
dont
le statut n'est pas toujours clair).
Merci à Jean-Philippe Pick et à Emmanuel Chantreau pour m'avoir guidé dans mes débuts dans le monde merveilleux et hostile de la vidéo numérique.
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)