Réaliser un DVD
Introduction
LM81
http://wiki.arslinux.com/DVD_Authoring_and_Backup
http://www.dvd-replica.com/DVD/ - The Unofficial DVD specifications Guide
http://mightylegends.zapto.org/dvd/dvdauthor_howto.php
Une video, pour tenir sur un DVD, doit respecter quelques contraintes de format. Une de ces contraintes est les dimensions de l'image, qui sont de 720x576 pour une vidéo destinée à un lecteur PAL.
Une acquisition vidéo depuis un camescope DV donne une image de 720x576, ce qui correspond à un format 5/4 et non à un format 4/3 comme l'affiche la télévision. Une télévision 4/3 se caractérise par une résolution qui correspond à 702x576 pixels, et des pixels rectangulaires d'un rapport 59/54. Le rapport 4/3 s'obtient ainsi: (702 * 59/54)/576.
Les videos numérisés ont une résolution de 720x576 pixels. Si l'on passe le résultat tel quel sur un poste de télévision, on perd 18 pixels. L'idée est de redimensionner l'image, afin d'obtenir à la fois un rapport correct et des dimensions autorisées par le format DVD. Il s'agit donc de passer d'une largeur de 720 pixels carrés à une largeur de 702 pixels rectangulaires. Le pourcentage de réduction est de 702/720 soit 97,5%.
Le principe consiste à réduire l'image, en lui mettant des bandes noires à droite et à gauche, et par effet de bord en haut et en bas, ce qui donne par ailleurs un effet 16/9.
Les outils "tout compris"
http://dvdstyler.sourceforge.net/ - DVDstyler
http://qdvdauthor.sourceforge.net/- qdvdauthor
Pour comprendre plus en détails
Redimensionner avec transcode
http://www.transcoding.org/cgi-bin/transcode
<licode> INPUT=film.dv OUTPUT=film transcode -a 0 -i $INPUT -w 9500 -b 224 --encode_fields b --export_asr 2 -u 10,2 -I 5 -F 8, '-v 0 -S 4400 -a 2 -K kvcd -q 2 -N 1' -y mpeg2enc, mp2enc -o $OUTPUT --print_status 100 </licode>
--export_asr 2 indique le format 4/3 -F 8: pour sortir du mpeg vers un DVD -v 0: verbosité nulle -S 4400: débit binaire -a 2: aspect 4/3 -K kvcd: matrice de quantisation -q 2: les valeurs basses entraînent une meilleure qualité et le débit binaire (bitrate) est meilleur pour les valeurs élevées.
Mixer la vidéo et l'audio avec mplex
Transcode génère deux fichiers, un pour la vidéo (d'extension .m2v) et un pour l'audio (d'extension.mpa). Pour Mplex permet d'obtenir un seul fichier contenant les deux. <licode> OUTPUT=le_film mplex -v 1 -f 8 -S 4400 -o $OUTPUT.mpeg $OUTPUT.m2v $OUTPUT.mpa </licode>
Structurer le DVD avec dvdauthor
http://dvdauthor.sourceforge.net/
#dvdauthor -o monDVD -x simple.xml
dvdauthor va écrire le DVD dans le répertoire monDVD/ qui doit exister préalablement.
xine permet de lire le DVD avec la commande:
#xine dvd:/chemin/vers/monDVD/VIDEO_TS/
growisofs permet de le graver avec la commande
#growisofs -d /dev/sr0 -A "mon film" DVD
Un DVD est composé de menus et de titres.
Il existe un VMGM (Video ManaGer Menu) qui contient ce qui est joué à l'insertion du DVD (la pub, les avertissements de copyright, le menu principal...), suivi de titlesets. L'intérêt d'un titlesets est de disposer des mêmes paramètres (menu, langue, sous-titre et angle) dans tout celui-ci. Chaque titleset contient un ou des menus et un ou des titles. Chaque menu et chaque title peut ensuite contenir un ou plusieurs items (PGC: ProGram Chain), menu ou vidéo en fonction.
Un menu est une vidéo au format MPEG avec des sous-titres spéciaux. A cela s'ajoutent des zones sensibles auxquelles sont associées des actions.
Gimp permet de créer une image de 720x576 pixels. Il faut créer 3 images :
- menu_background.ppm
- menu_highlight.png
- menu_select.png
La vidéo du menu s'effectue en répétant l'image menu_background.ppm 50 fois.
#ppmtoy4m -n50 -F25:1 -A59:54 -I -p -r -S 420mpeg2 menu_background.ppm | mpeg2enc -n p -f8 -b5000 -a2 -o menu.m2v
La bande sonore est obligatoire. mp2enc permet de transformer du wav. Sinon, voici la commande pour générer quelques secondes de silence :
#ffmpeg -ab224 -ar 48000 -ac2 -t 5 menu_audio.ac3
mplex mixe l'audio et la vidéo:
#mplex -f 8 -o menu.mpeg menu.m2v menu_audio.ac3
Créer les sous-titres
<licode file=menu.spumux.xml> <subpictures>
<stream> <spu start="00:00:00.0" end="00:00:00.0" higlight="menu_highlight.png" select="menu_select.png" autooutline="infer" autoorder="rows" /> </stream>
</subpictures> </licode>
Le tag <autooutline> indique que spumux va détecter les rectangles automatiquement.
#spumux menu.spumux.xml < menu.mpeg > menu_final.mpeg
L'envoi du flux vidéo dans spumux rajoute les sous-titres.
Les actions avec dvdauthor
<licode file=film.xml> <dvdauhtor>
<vmgm /> <titleset> <menus> <pgc> <button>jump title 1;</button> <button>jump title 2;</button> <vob file="menu_final.mpeg" pause="inf" /> </pgc> </menus> <titles> <pgc> <vob file="le_film.mpeg" /> <post> jump menu;</post> <pgc> </titles> <titles> </pgc> <vobchapters="0,0:3.0,0:05.97,0:0:8.94,0:0:11.91[...]" file="diaporama.vob" /> <post>jump menu;</post> </pgc> </titles> </titleset>
</dvdauthor> </licode>
Le tag <post> permet de revenir au menu en fin de vidéo.
DVD de photos avec dvd-slideshow
http://dvd-slideshow.sourceforge.net/wiki/Main_Page
Copyright
© 2006 Christophe de Livois
Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL. |