http://panteltje.com/panteltje/dvd/dvdauthor.txt
Full automatic, with audio menu, plus thumbnails to select chapters is also possible.
I have tried dvdwizard-0.4.1 from Wolfgang Wershofen's: http://www.wershofen.de/downloads/dvdwizard.tar.gz
I took an 8 audio channel (1 x 1ch mp2, 1 x 2 ch mp2, 6 x 5 ch ac3) ` 4 subtitle channels (all nl)
VOB made with xste `
tcmplex-panteltje + submux-dvd, and just did
./dvdwizard \ -t auto \ -x test.xml \ -o /reiser/workdisk/tmp/mydvd \ -B /big/compile/pantel/ppv/forest2.704x576.jpg \ /video/vie/the-call-of-the-heart-epi147-dutch-dvd/the-call-of-the-heart-epi147-dutch-subbed3.vob
-t auto sets automatic chapter points, you can use time. 'forest2.704x576.jpg' is background image for the menus, it has to be the right size.
-o /reiser/workdisk/tmp/mydvd is where the dvd image is build, you can test it later with
xine dvd://reiser/workdisk/tmp/mydvd
Make sure you have a version of 'sed' 4.1 or later, as this uses sed with the -i flag (suse 7.2 has an older version, so update).
I made ONE small change in the dvdwizard code in mk_vtsm_audio, so it would not abort on my 8 audio channels, as it only supports 5:
-a|--audio) shift atrackdef="$1" atracks=$(echo "$atrackdef" | tr ',' ' ' | wc -w) if [ $atracks -gt 5 ]; then # echo "Only up to 5 audiotracks are supported. Sorry" >2 # error_out
if [ $atracks -gt 8 ]; then echo "Only up to 8 audiotracks are supported. Sorry" >2 error_out
This was just a quick hack. This will print out of the colored area in the menu! So you can enlarge this area in mk_vtsm_audio around line 192 in the call to 'convert':
-fill 'rgba(128,192,255,128)' -draw 'roundrectangle '"$(( $offsetX+25 )),$(( $offsetY+25 ))"' 300,360 10,10' \
See, I enlarged it to 360 vertical.
I also modified some code in dvdwizard for language parsing, here is the new code:
# ------------------------------ # Create the Titlesets # call_mk_vtsm() { # # If restarting, delete xml beyond the restart mark # restartmark="call_mk_vtsm" sed -i '/^<!-- '$restartmark' \/\/-->/,/\n$/d' $XMLFILE #grep $restartmark "$XMLFILE" > /dev/null && cat $XMLFILE | sed -e '/^<!-- '$restartmark' \/\/-->/,/\n$/d' > $XMLFILE echo "<!-- $restartmark //-->" >> $XMLFILE for title in $(seq 1 $vts); do echo "Creating Titleset #$title..." echo -e "\t<titleset>" >> "$XMLFILE" # # Get audio characteristics of the title # echo -e "\tAssigning Languages to Audio-Tracks..." | tee -a $LOGFILE eval vtsaudio=\"\$VTSMAUDIO_${title}\" eval audiotracks=\"\$VTSM_${title}_ATRACKS\" acount=$(echo "$audiotracks" | wc -w) alang="" audioparm="" fmts="" lindex=0; for i in $audiotracks; do #echo "WAS Processing audio channel i=$i" found=0 if [ -n "$fmts" ]; then for j in $fmts; do if [ $i = $j ]; then found=1 break fi done fi if [ $found -eq 0 ]; then findex=$(echo "$fmts" | wc -w) fpos[findex]=0 fmts="$fmts $i" else findex=$j let fpos[findex]+=1 fi #echo "WAS found=$found fmts=$fmts" #echo "WAS findex=$findex" ############# lindex=${fpos[findex]} #echo "WAS lindex=$lindex" if [ ! -z "${vtsaudio[lindex]}" ]; then #echo "WAS VTS" lang="${vtsaudio[lindex]}" else #echo "WAS DVD" lang="${DVDAUDIO[lindex]}" fi if [ "$lang" != "" ] then #echo "WAS 1 alang=${alang} lang=${lang}" alang="${alang} ${lang}" #echo "WAS 2 alang=${alang}" audioparm="${audioparm}${i}+${alang##*\ }," let disind=lindex+1 echo -e "\t$disind. $i audio-track will be assigned to language ${lang}" | tee -a $LOGFILE #echo "WAS 3 audioparm=$audioparm" let lindex+=1; fi done audioparm="${audioparm%,}" # # Create the vtsm-menu(s) #
Use the -A flag to set audio languages, and specify the full language name in ~/.dvdwizard/dvdwizard.conf
DVDAUDIO="en,nl,ru,de,el,ta,iw" # Default languages DE=Deutsch EN=Englisch NL=Nederlands RU=Russian EL=Greek TA=Tamil IW=Hebrew
etc, this way they will appear in the audio menu. Specify as required for the VOB you made.
It shows the languages all as 'de' (German) in my test, but this is easily edited in test.xml
Still have to find a way to change this in the audio menu, now all 'English'.
The modified part of test.xml, 'audio lang' is set to the language files for audio, <subpicture lang' entries are added for each subtitle, and xste-palette.dat palette entry is added, else your subs will be black!
<titles> <audio lang="en" /> <audio lang="nl" /> <audio lang="nl" /> <audio lang="ru" /> <audio lang="de" /> <audio lang="el" /> <audio lang="ta" /> <audio lang="iw" /> <pgc pause="0" palette="/video/vie/open-doors-dvd/xste-palette.dat"> <pre> g1=9; </pre> <vob file="/video/vie/the-call-of-the-heart-epi147-dutch-dvd/the-call-of-the-heart-epi147-dut <post> call vmgm menu entry title; </post> </pgc> <subpicture lang="nl"/> <subpicture lang="nl"/> <subpicture lang="nl"/> <subpicture lang="nl"/> </titles>
That is all there is to it! the rest is AUTOMATIC.
Please note that if you only need ONE language you need only the xste-palette.dat modification. dvdwizard is bash scripts! so easy to modify!
Do not forget to also copy dvdwizardrc to where you copy the executables. Also make a directory ~/.dvdwizard, and copy the dvdwizard.conf.sample there as dvdwizard.conf
And directory ~/.spumux needs at least an arial.ttf!