Ripear un DVD con FFmpeg usando named pipes, parte 2

En el post anterior usamos named pipes para ripear un DVD pero tal vez te estés preguntando por qué es necesario abrir dos ventanas de terminal. En realidad esa es sólo una forma de hacerlo. Verás, la consola de Linux es una caja de sorpresas. Si quieres ripear un DVD con el método descrito en los posts anteriores pero usando una sola ventana de terminal, puedes hacerlo de la siguiente manera.

El primer paso es idéntico al post anterior, no olvides crear tu named pipe con mkfifo si no lo has hecho:

monstruosoft@debian:~$ mkfifo mi_pipe
monstruosoft@debian:~$ mplayer -dvd-device imagen-dvd.iso -dumpstream -dumpfile mi_pipe dvd://1

Como antes, en este punto la terminal se quedará bloqueada mientras MPlayer espera a que nuestra pipe entre en acción. Esta vez, en lugar de abrir una nueva ventana de terminal, podemos presionar Ctrl+Z, un atajo del teclado de la terminal de Linux que nos regresará el control de la terminal:

[1]+  Stopped                 mplayer -dvd-device imagen-dvd.iso -dumpstream -dumpfile mi_pipe dvd://1
monstruosoft@debian:~$

Como puedes ver, después de presionar Ctrl+Z tendremos control de la terminal desde donde, como seguramente estarás imaginando, podemos ejecutar FFmpeg, pero antes de continuar debemos notar que el proceso de MPlayer ha sido detenido. En este caso eso no es lo que queremos, en su lugar queremos que se siga ejecutando en segundo plano; por suerte podemos hacer justo eso usando el comando bg junto con el número con el que aparece indicado el comando, en este caso el número 1:

monstruosoft@debian:~$ bg %1
[1]+ mplayer -dvd-device imagen-dvd.iso -dumpstream -dumpfile mi_pipe dvd://1 &

Ahora que el comando ha continuado su ejecución en segundo plano, podemos seguir adelante y ejecutar FFmpeg:

monstruosoft@debian:~$ ffmpeg -i mi_pipe -map 0 -c:s copy salida.mkv

Cuando el FFmpeg termine de procesar el video puedes regresar al comando de MPlayer usando fg para que se cierre correctamente y sea removido de la lista de trabajos pendientes:

...
x265 [info]: frame I:    753, Avg QP:...
x265 [info]: frame P:  47583, Avg QP:...
x265 [info]: frame B: 139700, Avg QP:...
x265 [info]: consecutive B-frames: 1.7% 2.0% 1.9% 94.4% 

encoded 188036 frames in 1090.64s (172.41 fps)...

[1]+  Stopped                 mplayer -dvd-device imagen-dvd.iso -dumpstream -dumpfile mi_pipe dvd://1
monstruosoft@debian:~$ 
monstruosoft@debian:~$ jobs
[1]+  Stopped                 mplayer -dvd-device imagen-dvd.iso -dumpstream -dumpfile mi_pipe dvd://1
monstruosoft@debian:~$ fg %1
mplayer -dvd-device imagen-dvd.iso -dumpstream -dumpfile mi_pipe dvd://1

Exiting... (End of file)
monstruosoft@debian:~$ jobs
monstruosoft@debian:~$

¡Listo! Espero que estos posts te sean de utilidad.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s