Faire un DVD à partir d’un fichier par exemple ici un enregistrement Freebox (Harry Potter, passé à la télévision à Noël, les personnes sont tenues de vérifier la légalité de ce qu’ils font, merci de me signaler si enregistrer un flux vidéo diffusé par télévision ADSL pour usage privé est illégal ou pas).
1) Préparation de la vidéo:
a) avec avidemux
VProcess ->Off
Audio->FFmMP2 (je n’ai pas essayé AC3)
Configure->bitrate (128 mini à mon avis, 224 est plutôt bien)
AFilter->Normalise
AProcess->On
Output->MPeg A+V PS
b) avec mencoder
mencoder enregistrement.mpg -ovc copy -oac lavc -lavcopts acodec=ac3
-of mpeg -mpegopts format=dvd -o Potter_DVD.mpg
(faire ça pour chaque vidéo)
Remarque Les enregistrements freebox présente souvent un décalage son/vidéo si on les édites directement avec avidemux. Je suggère dans ce cas un encodage préalable complet du fichier en format AVI/MPEG4/AC3 avec mencoder puis d’éditer le fichier obtenu avec avidemux.
On peut préférer mencoder pour faire le fichier, il suffit dans ce cas de faire la commande
mencoder Potter.avi -ovc lavc -oac lavc -lavcopts acodec=ac3:vcodec=mpeg2video:vbitrate=2000:aspect=4/3 -vf scale=720:576 -of mpeg -mpegopts format=dvd -o Potter_DVD.mpg
Option en plus éventuelles:
Pour forcer la langue Française: -alang fr
Pour forcer les sous titres d’un fichier .srt:
-sub soustitres.srt -subfont-autoscale 1
2) Extraction musique pour le menu
mplayer -vo null -ao pcm -ao pcm:file=potter.wav enregistrement.mpg
et utilisation d’audacity pour obtenir une musique pour le menu
Puis conversion (inutile à mon avis mais bon) en .pcm (je crois que c’est
le même format)
mplayer potter.wav -vo null -ao pcm:file=potter.pcm
et enfin
mp2enc -r 48000 -o potter.mpa < potter.pcm
3) Le menu
a) Le fond à partir de menu_fond.jpg de taille 720x576, 75dpi sur la
largeur et 80 sur la hauteur:
jpeg2yuv -n 50 -I p -f 25 -j menu_fond.jpg | mpeg2enc -n p -f 8 -o menu.m2v
Mélange avec la bande son:
mplex -f 8 -o menu_final.mpg menu.m2v potter.mpa
(Ça c’est l’«image» de fond)
b) Les boutons sont fait à partir de deux images .png obtenu à partir de
l’image menu_fond.jpg de la façon suivante:
i) ajout d’un canal Alpha à l’image (sans ça ça coince…)
ii) ajout d’un calque.
Dans ce calque transparent, création de rectangles à bords colorés
très réguliers de couleur unique (3-4 pixels de largeur), ce sont les
boutons du menu. Sauvegarde du calque sous le nom bouton_OFF.png (le
fond ne sert qu’à aider pour placer les boutons)
Puis Changement de la couleur au moyen de la roue chromatique par ex
emple (dans gimp), le changement doit être uniforme. Resauvegarde du
calque sous le nom bouton_ON.png
Comme c’est assez compliqué j’ai mis sous
boisson.homeip.net/menuDVDpotter.tgz
une archive contenant l’image GIMP m’ayant servi à faire le DVD de
Harry Potter (image à 2 calques, attention, le fond n’est pas affiché,
demander l’affichage dans GIMP) ainsi que l’image jpg et les boutons
obtenus. Ça donne un exemple…
c) Ecriture du fichier spumux.xml:
Je ne change à chaque fois que les deux noms des fichiers boutons,
c’est tout.
d) Et yop, on fait le menu:
spumux spumux.xml < menu_final.mpg > menu_dvd.mpg
4) Le dvd
a) Création de dvdauthor.xml (ne pas mettre les [blabla]
[DVD est le répertoire où est fait le DVD]
jump title 1; [ça c’est le Premier bouton]
jump title 2; [… le second ]
[ça c’est le menu ]
<titles>
<pgc>
<vob file="Potter_2_DVD.mpg"/> [ premier bouton ]
<post> call menu; </post>
</pgc>
<pgc>
<vob file="Potter_1_DVD.mpg"/> [ deuxième bouton ]
<post> call menu; </post>
</pgc>
</titles>
(si ma mémoire est bonne les boutons sont numérotés de haut en bas de
gauche à droite).
Pour faire le DVD:
dvdauthor -x dvdauthor.xml
5) Pour graver:
growisofs -Z /dev/dvd -dvd-video DVD/
Paquets recommandés: avidemux, mplayer, dvdauthor, normalize,
transcode, mjpegtools, dvd+rw-tools
Voilà voilà… Basique mais assez efficace. On peut faire des menus animés mais là ça devient compliqué…