How to add subtitles to a DVD, using dvdauthor
Warning: this assumes you have a DVD compliant MPEG video
file, let's name it
video.mpg. Let us also assume you have two subtitles
named
pt.sub
and
en.sub
.
We'll use the
spumux
tool and create a XML file named
pt.xml
:
<subpictures> <stream> <textsub filename="pt.sub" characterset="ISO8859-1" fontsize="18.0" font="Vera.ttf" horizontal-alignment="center" vertical-alignment="bottom" left-margin="60" right-margin="60" top-margin="20" bottom-margin="30" subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574"/> </stream> </subpictures>
Of course you'll have to change the charset, fps and remaining
details accordingly, but this works for most movies. The font
Vera.ttf
must exist in the directory
~/.spumux
. No let's run
spumux
and include the first subtitles:
spumux -s0 pt.xml < video.mpg > video+pt.mpg
This will create a new video file with the embedded portuguese
subtitles. Now let's do the same for english ones. Let's create the
en.xml
file with the following contents:
<subpictures> <stream> <textsub filename="en.sub" characterset="ISO8859-1" fontsize="18.0" font="Vera.ttf" horizontal-alignment="center" vertical-alignment="bottom" left-margin="60" right-margin="60" top-margin="20" bottom-margin="30" subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574"/> </stream> </subpictures>
Now we'll run
spumux
again but we'll put it on another stream
(number 1):
spumux -s1 en.xml < video+pt.mpg > video+pt+en.mpg
This last filename,
video+pt+en.mpg
, contains both subtitles but we still
need
dvdauthor
to indentify them and associate a country
for it, so let's create a very rudimentary XML file named
auth.xml
:
<dvdauthor> <vmgm /> <titleset> <titles> <subpicture lang="pt"/> <subpicture lang="en" /> <pgc> <vob file="video+pt+en.mpg" /> </pgc> </titles> </titleset> </dvdauthor>
It is very important the order of the
subpicture
tags since it associates stream 0 with the
pt
language code and stream 1 with
en
language code.
Now generate the DVD structure with:
dvdauth -o mydvd -x auth.xml
To test the generated DVD we use
gmplayer
:
gmplayer dvd:// -dvd-device mydvd
To select a subtitle right click the window and navigate to
DVD → Subtitles → Portuguese
.