Convertir DVD a MP4 Usando ffmpeg desde el subsistema de Linux en Win 10

¿Quieres aprender a convertir DVD’s a archivos .MP4 dela manera difícil?
¡Pues aquí vamos!

Primero dejame informarte que existen programas de código abierto y de descarga gratuita como HandBrake que son excelentes para esto, y quitan del camino mucho de los obstáculos que supone el método que vamos a usar aquí. Si lo que quieres es una forma rápida y cómoda de hacer todo esto, te recomiendo que uses un programa como el mencionado u otros que están por ahí. En mi caso estoy haciendo esto de esta manera un poco más rebuscada porque no encontré como hacer que HandBrake uniera de manera automagica las distintas partes del video que algunos DVD’s contenían y sabía que ffmpeg es perfectamente capaz de esto.

Ahora un poco de contexto. Me encuentro usando solo Windows 10 en mi máquina por varias razones, pero como me gusta mucho usar GNU-Linux y sus programas tengo instalado la consola de Debian en mi Laptop. Aquí no tratare de explicar ahora como se hace esto pero si escribes algunas palabras en Google search no tardarás en encontrar un buen tutorial que te muestre todo lo que necesitas. Si estás usando alguna distribución de GNU-Linux será más fácil para tí seguir este tutorial.

Primero necesito montar mi DVD drive en un lugar donde mi consola de Debian pueda alcanzarlo. Para esto inserta tu DVD en tu drive y fijate que letra le a asignado Windows. En mi caso esta montado como Disco “E:”.

Muy bien. Ahora necesitamos decirle a Debian que monte ese mismo disco en su sistema de archivos, para esto necesitamos invocar nuestros súper poderes de root y hacerle un directorio de esta manera:

sudo mkdir /mnt/e

Enseguida le decimos que monte nuestro DVD en el directorio que hemos echo:

sudo mount -t drvfs E: /mnt/e

Si no tenemos ningún error podemos comprobar que vemos el sistema de archivos del DVD que hemos montado. Podemos comprobarlo muy fácilmente con este comando:

ls /mnt/e/

Si vemos que lista la carpeta VIDEO_TS de y cualquier otro archivo en nuestro DVD vamos muy bien.

Una vez aquí. Solo nos queda probar que tenemos ffmpeg instalado y actualizado para continuar. Esto es muy fácil, solo tenemos que teclear:

ffmpeg

y si nos regresa algo como esto estamos bien:

ffmpeg version 4.2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0)
configuration: --prefix=/home/nando/miniconda3 --cc=/home/conda/feedstock_root/build_artifacts/ffmpeg_1566210161358/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-libx264 --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-zlib --enable-libmp3lame
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run ‘man ffmpeg’

De lo contrario podemos instalarlo desde los repositorios de nuestra distribución con nuestro manejador de paquetes preferido. En el caso de Debian usamos generalmente:

sudo apt-get install ffmpeg

Una vez lista nuestra instalación de ffmpeg podemos seguir con nuestro propósito.

Para esto usaremos la siguiente secuencia de comandos:

cat mnt/e/VIDEO_TS/VTS_0*_*VOB | ffmpeg -i - -c:v libx264 -crf 29 -vf yadif rip.mp4

Ahora vamos a disectar esta linea. La primera parte usa el programa cat para buscar todos los archivos que nos interesa pasar a ffmpeg para que los procese, apuntamos a cat al directorio donde hemos montado nuestro disco DVD, sabemos que dentro del sistema de archivos de nuestro DVD se encuentra el directorio VIDEO_TS y que dentro de este directorio estan los archivos .VOB que contienen nuestro video y audio.

cat mnt/e/VIDEO_TS/VTS_0*_*VOB

Después con el caracter “|” Podemos pasar el resultado de cat a ffmpeg que es la parte importante de todo esto.

Veamos, perimero invocamos a ffmpeg.

Después pasamos la opción -i que indica la entrada que biene de CAT.

Después con la opción -cv libx264 estamos indicándole que necesitamos la librería x264 para procesar el video, pues esperamos un archivo .mp4.

La opción -crf 29 se refiere a la calidad que necesitamos para nuestro video. Este valor va desde 1 a 50 y entre menor sea el valor mayor calidad tendremos pero nuestro archivo será más pesado. En mi caso 29 trabaja muy bien. Cada quien tendrá que experimentar con este valor.

Con la siguiente parte estamos especificando que necesitamos un filtro de video y que este es yadif, que sirve para des-entrelazar nuestro video. En mi caso esto es necesario pues se trata de transiciones antiguas de TV que se transmitían en NTSC que usa 29.97 cuadros por segundo y cada cuadro esta compuesto por dos campos entrelazados. Esto era necesario por como funcionaban los antiguos televisores en América y Japón, pero hoy en día generalmente se usan señales con cuadros completos lo que hace que este formato se vea bastante mal en nuestras computadoras y nuevos display.

-vf yadif

Finalmente estamos definiendo nuestro archivo se salida. En este caso rip.mp4

Bueno eso es todo por ahora. Si crees que este pequeño tutorial es útil por favor compártelo. Si tienes alguna duda para eso está los comentarios.

Gracias por su atención y nos vemos pronto.

Fuente original: https://linuxsuperuser.com/easily-rip-dvds-in-linux-with-ffmpeg/

One thought on “Convertir DVD a MP4 Usando ffmpeg desde el subsistema de Linux en Win 10

Leave a Reply