Chapter 1
Here is a test I did to combine vobs made with tcmplex-panteltje that contain
nice anti-aliased subs made with xste, and submux-dvd, and menus made with spumux.
First you need pics for a menu format 720x576, use max 4 colors.
As example you can use these I stole from
http://www.tappin.me.uk/Linux/dvd.html#author_examples
Record some silence wave file (some minutes), into silence.wav (mono will be fine).
Convert it to .mp2 at 48000 samples / second.
mp2enc -r 48000 -b 128 -o silent.mp2 < silence.wav
Make a script do-spumux-test2:
rm -f ${1}.mpg
jpegtopnm Background.jpg | \
ppmtoy4m -n 1 -F25:1 -I t -A 59:54 -L | \
mpeg2enc -f 8 -n p -o ${1}.m2v
mplex -f 8 -o /dev/stdout ${1}.m2v silent.mp2 |\
spumux -v 2 ${1}.xml > ${1}.mpg
Make a script menu-test1.xml:
Now run:
./do-spumux-test2 menu-test1
that generates:
menu-test1.mpg
This contains the menus.
Make a script total-test1.xml (set first line to where you create your dvd structure):
call vmgm menu;
Now run
dvdauthor -x total-test1.xml
Now you should have a DVD structure with a root menu and a title menu, in its own colors,
and the subbed movie in Dutch with nice xste anti-aliased colors.
I have used links to the same movie again and again, this can of cause be different movies.
They will all use the xste-pallete.dat for the subtitle colors, all will be Dutch.
And I used the same menu for root and title.
This is just to show how to import anti-aliased subbed vobs!!!!
It IS possible!
Chapter 2
A U T O M A T I C D V D C R E A T I O N
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 '/^/,/\n$/d' $XMLFILE
#grep $restartmark "$XMLFILE" > /dev/null && cat $XMLFILE | sed -e '/^/,/\n$/d' > $XMLFILE
echo "" >> $XMLFILE
for title in $(seq 1 $vts); do
echo "Creating Titleset #$title..."
echo -e "\t" >> "$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,
g1=9;
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!