#!/bin/bash
# ATTENTION, les films a encoder doivent avoir l'extension .avi
# Variable du chemin de sortie (peut être modifiée) 
export OUTPATH=/var/tmp
# Detection des binaires nécessaires
for i in mplex jpeg2yuv spumux dvdauthor transcode mplayer tcextract; do
    OUT=`which $i`
    if [ ${#OUT} = 0 ]; then
        echo "Vous n'avez pas $i"
        manque="y"
    fi
done
# Sortie en cas d'échec
if [ "$manque" = "y" ] ; then
	echo "Sous Ubuntu vous pouvez executer : "
	echo "sudo apt-get install dvdauthor transcode mplayer ffmpeg mjpegtools dvd+rw-tools"
	exit
fi
#### Fonctions ####
# encode le divx en mpeg puis reassemble le son et l'image
# detecte le son 5.1
encodeVid () {
transcode -i $1.avi -y ffmpeg --export_prof dvd-pal --export_asr 3 -o $OUTPATH/$1 -D0 -s2 -m $OUTPATH/$1.ac3 -J modfps=clonetype=3 --export_fps 25
SON=`mplayer -vo dummy -identify MonDivX.avi 2> /dev/null | grep "5.1 ("`
sleep 5
pkill mplayer
if [ ${#SON} = 0 ]; then
	echo "Pas de son 5.1"
else
	echo "Son 5.1 detecté"
	tcextract -d2 -i $1.avi -a0 -x ac3 | tcextract -d2 -x ac3 -t raw > $OUTPATH/$1.ac3
fi
mplex -f 8 -o $OUTPATH/$1.mpg $OUTPATH/$1.m2v $OUTPATH/$1.ac3
}
# Creation du dvd
CreeDVD () {
cd $OUTPATH && mkdir mon_dvd && dvdauthor -o mon_dvd -x dvdmenu.xml
}
###################
# creation de l'entête du fichier de description du DVD
echo "<dvdauthor>" > $OUTPATH/dvdmenu.xml
echo "    <vmgm />" >> $OUTPATH/dvdmenu.xml
echo "    <titleset>" >> $OUTPATH/dvdmenu.xml
echo "        <titles>" >> $OUTPATH/dvdmenu.xml
# Traitement des fichiers en entrée
for file in "$@"
  do
    titre=${file%.avi}
    echo "            <pgc>" >> $OUTPATH/dvdmenu.xml
    echo "            <vob file=\"$titre.mpg\" />" >> $OUTPATH/dvdmenu.xml
    echo "            </pgc>" >> $OUTPATH/dvdmenu.xml
    echo "Encodage du fichier : $file"
    encodeVid $titre
  done
# creation du pied de page du fichier de description du DVD
echo "        </titles>" >> $OUTPATH/dvdmenu.xml
echo "    </titleset>" >> $OUTPATH/dvdmenu.xml
echo "</dvdauthor>" >> $OUTPATH/dvdmenu.xml
echo "Création du DVD"
CreeDVD
echo "Le DVD est disponible dans : $OUTPATH/mon_dvd."
echo "GPL - © http://www.matao.fr"
echo "Vous pouvez maintenant graver le DVD avec une commande telle que :"
echo "  growisofs -Z /dev/dvd -dvd-video $OUTPATH/mon_dvd/"
