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
Parfois on tombe sur l'erreur
«MPEG1/2 doesnt support 2997/125 fps», il faut dans ce
cas rajouter l'option
-ofps xxx
avec xxx parmi 24000/1001,
24, 25, 30000/1001, 30, 50, 60000/1001, 60. Le codec mpeg2video ne
supporte pas les autres formats. Il est conseillé de mettre
25 par compatibilté avec les lecteurs usuels.
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, -n 50
correspond à la durée totale en nombre de frames)
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
http://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:
<subpictures>
<stream>
<spu
start="00:00:00.0" end="00:00:00.0"
highlight="bouton_OFF.png"
select="bouton_ON.png"
autooutline="infer"
autoorder="rows"/>
</stream>
</subpictures>
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]
<dvdauthor dest="DVD"> [DVD est le répertoire
où est fait le DVD]
<vmgm/>
<titleset>
<menus>
<pgc>
<button> jump title 1;
</button> [ça c'est le Premier bouton]
<button>
jump title 2; </button> [... le second ]
<vob
file="menu_dvd.mpg" pause="inf"/> [ça
c'est le menu ]
</pgc>
</menus>
<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>
</titleset>
</dvdauthor>
(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é....