Voy a resumir como crear un dvd usando como fuente un video avi/mpeg.
Esto es un resumen de información útil que vi googleando.
Primero es necesario tener los siguientes paquetes instalados:
dvdauthor
mplex
mjpegtools
transcode
libdvdread
tcextract (para VCD)
Opcionales
growisofs
vcdgear
mkisofs
Conversión
Bien lo primero será convertir la película.
Si la fuente es un VCD hay que utilizar:
$ tcextract -i /path/pelicula.dat -a0 -x mpeg2 > video
$ tcextract -i /path/pelicula.dat -a0 -x mp3 > audio
Si no es un VCD (aka. DIVX, XVID, etc) usar:
$ transcode -i /path/pelicula.avi -o video -m audio -x divx,ac3 -y mpeg2enc,mp2enc
Con -x se indica como esta códificado el archivo (video,audio) para saber que codec utilizar se puede reproducir con mplayer y ver lo que sale en la consola.
Multiplexado
Ahora el multiplexado, vamos a unir el video y el audio en un archivo mpeg.
$ mplex -f 8 audio.mpa video.m1v -o movie.mpg
En caso de tener un archivo de subtítulos es posible añadirlos sin “pegarlos” en la película, de manera sólo mostrarlos si los queremos ver.
Para eso vamos a crear un directorio .spumux en nuestro home y copiar ahi la fuente .ttf que queremos usar para los subtítulos.
Luego creamos un archivo xml como el siguiente:
Archivo subtitles.xml:
<subpictures>
<stream>
<textsub filename=”matrix.srt” characterset=”ISO8859-1″ fontsize=”22.0″ font=”Vera.ttf” horizontal-alignment=”center” vertical-alignment=”bottom” left-margin=”60″ right-margin=”60″ top-margin=”20″ bottom-margin=”2″ subtitle-fps=”25″ movie-fps=”25″ movie-width=”720″ movie-height=”570″ />
</stream>
</subpictures>
Es importante que subtitle-fps, movie-fps, movie-width y movie-heigth coincidan con los valores de la película (se puede ver ejecutando el archivo con mplayer)
Luego ejecutar:
$ spumux -s0 subtitle.xml <> matrix_dvd.mpg.temp
Si hay más de más de un subtitlo se pueden crear varios xml y ejecutar el comando de la siguiente manera:
$ spumux -s0 subtitle0.xml -s1 subtitle1.xml -s2 subtitle2.xml <> matrix_dvd.mpg.temp
(vamos agregando -sN para cada subtitulo)
Estructura
Ahora vamos a crear la estructura del DVD, crear un .xml como este:
Archivo dvdauthor.xml:
<dvdauthor dest="/path/destino">
<vmgm />
<titleset>
<titles>
<video format=”ntsc” aspect=”4:3″ resolution=”608×320″ />
<audio lang=”en” />
<pgc pause=”0″>
<vob file=”moviesub1.mpg” pause=”0″ />
<post>{ g2 = 0; call vmgm menu entry title; }</post>
</pgc>
<pgc pause=”0″>
<vob file=”moviesub2.mpg” pause=”0″ />
<post>{ g2 = 0; call vmgm menu entry title; }</post>
</pgc>
</titles>
</titleset>
</dvdauthor>
Hay que ajustar los valores de resolución y demás (no voy a entrar en detalle, el archivo se explica por sí sólo)Luego ejecutar:
dvdauthor -x “dvdauthor.xml”
Con esto nos habrá creado la estructura (AUDIO_TS, VIDEO_TS) del dvd en el directorio que indicamos en el archivo.
Se puede probar con el XINE o el VLC para ver como queda.
Grabación
Ahora sólo basta grabarlo o crear una imágen ISO.
$ mkisofs -dvd-video -v -o dvd.iso /path/dvd
Para grabar la ISO se puede hacer con:
$ growisofs -Z /dev/dispositivodvd=/path/archivoiso/dvd.iso
Con esto basta para crear un DVD (sin menús)
Para más opciones (por ejemplo agregar menús, cambiar el color a subtítulos o demás) recomiendo ver los links que indico más abajo.
Fuentes:
http://www.frikis.org/staticpages/index.php?page=vcd-y-avi-en-dvd
http://www.transcoding.org/cgi-bin/transcode?Tutorials/Authoring_PC_Media_To_DVD
http://www.avidemux.org/admWiki/index.php?title=Main_Page