Descargar videos de sitios de streaming

Ahora que el título de este post tiene tu atención, debo aclarar que este método puede funcionar en algunos sitios pero no en otros. En particular, lo he usado para descargar de las páginas de Televisa y TV Azteca. La única forma de averiguar si funciona en la página de tu preferencia es probarlo.

En este post usaré Firefox, cURL y FFmpeg para descargar los videos así que si eres, por ejemplo, usuario de Chrome debes buscar en otro lugar.

Read More

Ripear DVD con FFmpeg, Recargado

Hace tiempo escribí algunos posts con instrucciones para ripear un DVD usando FFmpeg. En esos posts mencionaba que primero deberías probar con Handbrake antes de intentar ripear el DVD de la forma difícil desde la línea de comandos usando MPlayer y FFmpeg. Entonces, ¿cuál es la razón para escribir este post? ¿Cuál es el problema con Handbrake?. El problema de Handbrake es el típico problema de Linux de interfaces de usuario terribles 😦 . Si eres como yo y quieres ripear todos los títulos de un DVD, con Handbrake tienes que seleccionar un título, configurar las opciones, agregarlo a la cola de tareas y después seleccionar el siguiente título y repetir 😦 . Aunque el proceso puede tomar solamente unos cuantos clicks, cuando te encuentras con un DVD con muchos títulos, esos son algunos cientos de clicks más de los que quiero hacer; sin mencionar que tienes que escribir manualmente el nombre para cada uno de los archivos de salida ya que Handbrake te sugerirá el mismo nombre para todos los títulos sin importar si ya tienes uno con ese nombre en la cola de tareas. No entiendo como el programa “especializado” para ripear DVDs no tiene una opción para seleccionar varios o todos los títulos de un DVD 😦 .

Read More

En corto No. 12 -FFmpeg AV1

Si eres usuario de Firefox, es probable que en días recientes hayas visto notificaciones de Mozilla sobre el codec de video AV1 que promete una compresión de video incluso mayor a la de x265/HEVC mientras que, al mismo tiempo, es un formato abierto y libre de regalías.

Decidí hacer pruebas con este nuevo codec usando FFmpeg. Lo primero que noté es que la versión de FFmpeg en el repositorio estable de Debian aún no soporta este formato, así que tuve que ir directo a la página de FFmpeg donde me llevé la grata sorpresa de que ahora se ha unido a la creciente lista de software para que ofrece static builds, ejecutables precompilados y listos para usar para Linux. Ya en posts anteriores he mencionado lo difícil que era conseguir ejecutables listos para usar en Linux, lo que solía dejarte solamente dos opciones: usar una versión vieja del software o compilarlo tú mismo. Al parecer esto empieza a cambiar ya que cada vez veo más programas para Linux que ofrecen versiones listas para usar ya sea en forma de static builds o como contenedores de Docker, Flatpak, etc., y esto me alegra.

Volviendo a FFmpeg, la página ofrece la alternativa de instalarlo usando los repositorios de backports o deb-multimedia, o bien el ya mencionado static build. Descargué el static build y después de descomprimirlo estaba listo para usar; sin embargo, al intentar codificar un video usando el codec AV1 descubrí que la velocidad de codificación era de ~0.02 fps, en otras palabras, es imposible de usar 😦 .

Actualmente el codec AV1 está clasificado como experimental en FFmpeg por una razón y no está listo para el uso cotidiano. No hace mucho tiempo, el codec x265 también era muy lento en FFmpeg pero ha sido optimizado desde entonces. Es lógico pensar que seguramente el codec AV1 también será optimizado una vez que esté correctamente implementado. Hasta entonces, habrá que esperar.

Convertir video para reproductor de DVD LG DP122

Muchos reproductores de DVD antiguos de la marca LG tienen soporte para reproducir archivos de video MPEG4 (no confundir con MP4) basado en los codecs Xvid o DivX. Estos codecs eran los más populares en el internet de hace unos años antes de la llegada de codecs como x264. Si, como yo, tienes uno de estos antiguos reproductores de DVD y quieres convertir un video al formato MPEG4 para poder reproducirlo, debes tener en cuenta las siguientes condiseraciones:

  • Revisa que tu reproductor de DVD tenga el logo MPEG4 o DivX.

  • El formato contenedor debe ser AVI, recuerda que es un reproductor antiguo.

  • El codec de video debe ser Xvid o DivX.

  • El codec de audio debe ser MP3.

  • El FourCC de video debe ser XVID o DIVX.

  • Los formatos soportados por tu DVD pueden ser diferentes, revisa la documentación.

Para convertir un video al formato necesario para reproducirlo en el DVD usaremos FFmpeg:

monstruosoft@debian:~$ ffmpeg -i video.mkv -c:v mpeg4 -vtag XVID -c:a mp3 -b:a 128k -q:v 4 salida.avi

La opción -vtag hará que FFmpeg use el FourCC XVID en lugar del valor predeterminado FMP4 que no es reconocido por el reproductor de DVD.

En corto No. 9 – Filtros en FFmpeg

Acabo de pasar la última hora tratando de entender por qué mi script de FFmpeg no funcionaba para aplicar dos o más filtros simultáneamente. Resulta que estaba usando mal la línea de comandos al usar algo como:

monstruosoft@debian:~$ ffmpeg -i mi_video.mp4 -vf crop=640:480:115:225 -vf setdar=16/9 salida.mp4

La segunda versión del argumento -vf estaba sobreescribiendo el filtro definido anteriormente. Los filtros deben especificarse en una sola aparición del argumento -vf separados por comas. Así que la versión correcta del comando anterior es la siguiente:

monstruosoft@debian:~$ ffmpeg -i mi_video.mp4 -vf crop=640:480:115:225,setdar=16/9 salida.mp4

Hay que tener esto en mente cuando quieras aplicar múltiples filtros con FFmpeg, de lo contrario, este es el tipo de cosas sencillas que suelen hacerte perder horas 😛 .

 

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.

Read More

Ripear un DVD con FFmpeg usando named pipes

En el post anterior escribí las instrucciones para ripear un DVD usando FFmpeg y este es el ejemplo perfecto para hablar sobre las named pipes de Linux. Las named pipes nos permiten enviar datos de una aplicación a otra. Muy probablemente has visto antes el carácter de pipe en Linux (‘|’) que cumple el mimso objetivo pero que en algunos casos puede ser difícil de usar si una de las aplicaciones no soporta entrada desde stdin, por ejemplo. Las named pipes pueden facilitar enviar datos de una aplicación a otra gracias a que las puedes usar simplemente como un archivo más, es decir, envías la salida de un programa a un archivo de tipo pipe y después usas ese archivo como la entrada para el otro programa.

Read More

Ripear un DVD con FFmpeg

Cuando se trata de ripear un DVD con Linux, la forma más sencilla es tal vez usando Handbrake, que se puede instalar desde el gestor de paquetes. Entonces, ¿por qué querrías ripear un DVD usando FFmpeg? Bueno, en realidad tal vez no haya ninguna razón; si Handbrake funciona bien, ¡úsalo!. En este caso en particular, encontré una imagen de DVD que tenía problemas para ripear con Handbrake -sigue leyendo para descubrir cuál era el problema- así que decidí hacerlo a la antigua y usar FFmpeg.

Read More