viernes, 29 de septiembre de 2006

Ripear DVDs a x264


Con esto empiezo el autofusilamiento de artículos de la antigüa encarnación de la Finka Party, ¡Qué empiece el copy&paste!

Primero buscamos qué pista del DVD tiene la peli, yo he reproducido la peli con XINE. Normalmente suele ser el título 1


Extraemos el VIDEO

mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -dumpvideo -dumpfile video.m1v


Si queremos recortar las bandas negras (no es obligatorio).

Conviene dejarlo hasta el final para asegurarnos. Si no, puede pillar en un fundido en negro o durante las letras, etc y no sería correcto (Tarda el mismo tiempo que dura la peli).

mplayer -vo null -ao null -vf cropdetect video.m1v |tee -a croptdetect.out



Para saber qué audios hay disponibles en el DVD

mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -vo null -ao null -frames 0 -v 2>&1 | grep aid


Extraer pistas de audio -aid 128, -aid 129, -aid 129...

mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -aid 128 -dumpaudio -dumpfile audio_name.ac3



Para saber qué subtitulos hay disponibles en el DVD

mplayer -v dvd://1 -dvd-device /mnt/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -vo null -ao null -frames 0 -v 2>&1 | grep sid


Extraer subtítulos -sid 0, -sid 1, -sid 2...

mencoder dvd://1 -dvd-device /dev/pelis/DVD/Kiss\ Kiss\ Bang\ Bang/ -vobsubout subtitle_name -vobsuboutindex 0 -sid 0 -o frameno.avi -ovc frameno -nosound



NOTA: El límite de espacio de un DVD son 4489 MB. En los cálculos usaremos 4486 para no apurar tanto

Hacemos un du -sm ./* para ver cuanto ocupan los audios y videos. En mi caso cada pista de audio ocupa 271 MB y los subtítulos 5 y 4 MB respectivamente.

Calculo para bitrate: (4486 - pistas de audio - subtítulos) = (4486 - 271 - 271 - 5 - 4) = 3935


bitcalc nos calculará el bitrate que usaremos. Se puede descargar del servidor ftp: bitcalc

-s tamaño_que_queramos_que_tenga_el_video -f frames -d tiempo_de_la_pelicula (horas,minutos,segundos)

bitcalc -s 3935 -f 25 -d 1,38,28



Crearse un script con lo que pone debajo llamado x264.sh

Al ejecutarlo creará un archivo llamado kiss.x264

Esto tarda la de redios, en mi PC han sido unas 45 horas, en el de el Kolas son unos 5 días xDDD

Los valores de crop sólo son necesario si hemos calculado el area de las bandas negras. Mirar en el archivo croptdetect.out que hemos generado antes.

mencoder video.m1v -nosound -vf crop=720:416:0:80 -ovc x264 -x264encopts cabac=0:deblock=0:subq=6:me=4:8x8dct:frameref=6:trellis=0:qp_constant=1:bframes=3:me=4:4x4mv:b_pyramid:weight_b:bitrate=5582:pass=1 -o "/dev/null"

mencoder video.m1v -nosound -vf crop=720:416:0:80 -ovc x264 -x264encopts cabac=0:deblock=0:subq=6:me=4:8x8dct:frameref=6:trellis=0:qp_constant=1:bframes=3:me=4:4x4mv:b_pyramid:weight_b:bitrate=5582:pass=2 -o "/mnt/pelis/DVD/Kiss/kiss.x264"



Para juntar el video + audio + subs

Si os da error, tendréis que añadirle la opción --engage allow_avc_in_vfw_mode

mkvmerge --aspect-ratio 0:16/9 -o kiss.mkv kiss.x264 english.ac3 spanish.ac3 english.idx spanish.idx



Si queréis recortar el archivo en 2, pero es un coñazo calcular por donde cortarlo (yo no lo he probado)

mkvmerge --aspect-ratio 0:16/9 --split 00:39:22 --split-max-files 2 -o Grabar.mkv Hero.avi soundchino.ac3 soundes.ac3 Hero.idx


OPCIONAL: Si queréis ponerle el tag del idioma a las cadenas de audio

mkvmerge --engage allow_avc_in_vfw_mode -o kiss_with-lang-codes.mkv
--language 2:en --language 3:es kiss.mkv


El mkisofs no permite crear imágenes con archivos mayores de 4 gigas, esto es un workarround que dirían los ingleses. Me he currado un kutre-script automatizandolo por si os fiais de un manazas como yo, el kutre-script)

Como tostar DVDs con un archivo superior a 4 Gigas


Crear fichero de ceros para la imagen

dd if=/dev/zero of=file.iso bs=2048 count=2298350


Convertir a UDF la iso

mkudffs file.iso


Montar imagen

mount -o loop -t udf file.iso /mnt/iso/


Copiar el .mkv a /mnt/iso/

cp -gpv /mnt/pelis/DVD/Kiss/Kiss\ Kiss\ Bang\ Bang.mkv /mnt/iso/


Borramos el directorio lost+found

rm /mnt/iso/lost+found/ -Rf


Desmontar la imagen

umount /mnt/iso/


Grabar la imagen

cdrecord -v -dao -dev=/dev/hdc -driver=mmc_mdvd -driveropts=burnfree file.iso


Como dirían los de la wikipedia, "this is a stub", que está un poco en bragas el artículo de marras ^_^

1 comentario:

moz667 dijo...

Y si no teneis tiempo para leeros esto siempre podreis utilizar el acidrip que a mi me parece que esta dando bastante buen resultado

Seguidores