AVI a DVD

/!\ Transformar un archivo .avi cualquiera al formato de un DVD puede resultar terriblemente engorroso debido a la variedad de codecs que existen. El método explicado aquí requiere muchas veces probar hasta encontrar los parámetros correctos, particularmente aquellos relacionados con las sincronización entre audio y vídeo.


Si buscas producir una copia de un DVD, ve DVDaDVD.

Primero habilita el DepositoDebianMultimedia no oficial. Instala los paquetes libdvdcss2, transcode, ffmpeg, mjpegtools, dvdauthor, mplayer, mencoder y dvd+rw-tools,

# apt-get install libdvdcss2 transcode ffmpeg mjpegtools dvdauthor mplayer mencoder dvd+rw-tools

Crea un directorio temporal, por ejemplo,

$ mkdir -p ~/tmp/dvd

y luego entra en él,

$ cd ~/tmp/dvd

Separar AVI en parte vídeo y audio

Separa la parte vídeo del audio,

$ transcode -i movie.avi -y ffmpeg --export_prof dvd-ntsc --export_asr 3 -o movie -s2 -m movie.ac3 -J modfps=clonetype=3 --export_fps 29.97,4

en donde movie.avi es el archivo AVI a convertir. Esto crea dos archivos,

  1. movie.m2v (video)

  2. movie.ac3 (audio)

--export_prof puede ser también dvd-pal o dvd-secam.

--export_asr es el aspect ratio de la exportación, según la tabla,

valor

aspect ratio

1

1:1

2

4:3

3

16:9

4

2.21:1

Es preferible preservar el aspect ratio del archivo AVI original.

Corre,

$ mplayer -vo dummy -identify movie.avi 2> /dev/null | grep ID_VIDEO_WIDTH

$ mplayer -vo dummy -identify movie.avi 2> /dev/null | grep ID_VIDEO_HEIGHT

para calcular el aspect ratio (ID_VIDEO_WIDTH:ID_VIDEO_HEIGHT) del archivo AVI.

--export_fps tasa,frc especifica la tasa en cuadros por segundo. Usa los valores de la tabla,

tasa

frame rate code (frc)

23.976

1

24

2

25

3

29.97

4

30

5

Aquí también es preferible preservar la tasa del archivo AVI original. Corre,

$ mplayer -vo dummy -identify movie.avi 2> /dev/null | grep ID_VIDEO_FPS

para obtener la tasa de los cuadros del archivo AVI.

Pegar video y audio

Ahora pega el archivo vídeo y audio,

$ mplex -f 8 -o dvd_movie.mpg movie.m2v movie.ac3

Corre,

$ mplayer dvd_movie.mpg

y comprueba que audio y video estén sincronizados. Si están de-sincronizados, ve remedios más abajo.

Alternativo

Alternativo a separar audio y vídeo,

$ ffmpeg -i movie.avi -y -target ntsc-dvd -sameq dvd_movie.mpg

Esto funciona con algunos AVI, dependiendo del tipo de codec usado.

Crear directorio DVD y grabar

Con un editor crea el archivo dvdauthor.xml y pega el siguiente texto,

<dvdauthor dest="DVD">
  <vmgm />
   <titleset>
     <titles>
       <pgc>
         <vob file="dvd_movie.mpg"/>
       </pgc>
      </titles>
   </titleset>
</dvdauthor>

Corre,

$ dvdauthor -x dvdauthor.xml

Esto va a crear el directorio DVD/ con la estructura necesaria.

Prueba con,

$ totem DVD/

Graba a un DVD virgen con,

$ growisofs -dvd-compat -Z /dev/dvd -dvd-video [-V"titulo del disco"] DVD/

Problemas de sincronización de audio con vídeo

Sucede que el proceso de separación de audio y vídeo los deje de-sincronizados. Una posibilidad para arreglar esto es correr,

$ mencoder -o movie.avi -noidx -oac copy -ovc copy orig.avi

antes de correr transcode. Si esto no funciona, corre transcode con la opción "-D n" para sincronizar el inicio del vídeo con el audio, por ejemplo,

$ transcode -i movie.avi -y ffmpeg --export_prof dvd-ntsc --export_asr 3 -o movie -s2 -m movie.ac3 -J modfps=clonetype=3 --export_fps 29.97,4 -D 2

en donde n es el número de cuadros desfasados entre vídeo y audio. n puede ser tanto negativo como positivo. Esto puede resultar tedioso, pues solo probando se puede determinar el valor correcto de n.

AVIaDVD (última edición 2008-12-09 19:56:32 efectuada por RicardoYanez)