Crear un DVD a partir de AVI/MPEG

22 02 2008

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


Acciones

Información

Deje un comentario

Debes estar logeado para añadir un comentario