En el presente tutorial Youtube-dl abarcaremos los temas más sencillos que requerirás muy seguramente para descargar vídeos en general.
Youtube-dl es una librería hecha en Python que permite descargar videos de manera avanzada de portales como Youtube, Vimeo, Dailymotion, Twitter entre otros.
El siguiente es el enlace del portal de Youtube-dl
En este tutorial se explicará con más detalle los diferentes procesos que se pueden hacer con Youtube-dl. Tengo una publicación previa llamada 3 formas de descargar vídeos de Youtube con Python, Aplicación de Escritorio y Online y otro blog post donde comparto un Portal para descargar videos de Youtube hecho en Python con Django relacionados con Youtube-dl.
Proceso de Descarga he Instalación de Youtube-dl
La descarga he instalación de Youtube-dl ya la abordé en una publicación previa. En el siguiente enlace la puedes ver el proceso y replicarlo para Instalar Youtube-dl:
Descarga he instalación de youtube-dl
Descarga videos y listas de reproducción con Youtube-dl
Solamente es ejecutar la línea de comandos donde tengas ubicada la carpeta de Youtube-dl y pones el siguiente comando
youtube-dl más el enlace del vídeo o enlace de la lista de reproducción. Ejemplo para vídeo:
youtube-dl https://youtu.be/8TMIRHdj3zg
Ejemplo para lista de reproducción:
youtube-dl https://www.youtube.com/playlist?list=PLEp4kajrb4a0fgy8e5JO3iGO7iKnPwQFQ
Descargar un archivo de vídeo con un nombre personalizado
youtube-dl -o 'Portal para Descarga de Videos hecho en Python con Django' https://youtu.be/8TMIRHdj3zg
El proceso aplica igualmente para las listas de reproducción
Descargar video en una ubicación especifica
En este ejemplo el archivo se descarga en la carpeta de descargas en un ordenador con Windows 10:
youtube-dl -o '~/Downloads/' https://youtu.be/8TMIRHdj3zg
Descargar múltiples vídeos
youtube-dl <url1> <url2>
Ejemplo:
youtube-dl https://youtu.be/8TMIRHdj3zg https://youtu.be/VzZl6kx7mdk
Descargar vídeos desde un archivo de texto
Creas el archivo al que le vas a poner los enlaces, estos enlaces los puedes poner uno seguido del otro, separándolos por un espacio, o puedes poner los enlaces uno encima del otro.
Este archivo lo guardas en la misma carpeta donde tienes Youtube-dl, le pones cualquier nombre y lo guardas con la extensión txt.
Para este ejemplo el archivo tendrá el nombre de archivo.txt este archivo tendrá las URL de los vídeos y para su ejecución la línea de comandos será la siguiente:
youtube-dl -a archivo.txt
Descargar solo el audio mp3 de un vídeo
youtube-dl -x --audio-format mp3 https://youtu.be/8TMIRHdj3zg
Descargar vídeo por extensión MP4
youtube-dl --format mp4 https://youtu.be/8TMIRHdj3zg
youtube-dl -f mp4 https://youtu.be/8TMIRHdj3zg
Descargar un fragmento de un vídeo con Youtube-dl
En el vídeo a continuación explico el proceso a cabalidad:
Ya había abordado el tema de descargar el fragmento de un vídeo en mi perfil de Youtube aunque se depende de un portal en Internet que podría dejar de funcionar en cualquier momento.
Descarga de FFmpeg
Para realizar el proceso de descarga del fragmento de un vídeo en tu ordenador, es necesario instalar FFmpeg, que es una solución multiplataforma optimizada para grabar, convertir y transmitir audio y video.
El siguiente es el enlace del sitio oficial de esta librería:
Descarga he instalación de FFmpeg en un ordenador con Windows 10
Para esto accedemos a su página oficial, pulsamos en el apartado de Microsoft y accedemos al botón donde dice Windows builds from gyan.dev
El sistema nos llevara a la siguiente web:
https://www.gyan.dev/ffmpeg/builds/
En esta página web vamos al segmento que dice Links y pulsamos en el primer enlace.
El sistema descargará un archivo en extensión 7z, podemos abrirlo con WinRAR sin inconvenientes y pasamos las carpetas preferiblemente dentro de la carpeta de Youtube-dl
Incluir FFmpeg en la PATH de Windows
Para poder ejecutar FFmpeg desde cualquier ubicación en consola, es necesario incluirlo en la PATH de Windows, para esto debemos acceder a las variables de entorno del sistema, para esto debemos presionar la tecla de inicio y escribir en el buscador ‘variables de entorno’ accedemos a la primera opción disponible y en la ventana que aparece pulsamos en el botón Variables de entorno luego le damos doble clic en donde dice Path luego en Nuevo, ponemos la ruta donde donde pusimos las carpetas de FFmpeg y luego en bin, dentro de la carpeta bin se encuentra el ejecutable de FFmpeg
Comando para descargar una fracción de un vídeo desde el ordenador
El comando es el siguiente:
ffmpeg -ss 00:00:20 -to 00:00:30 -i "$(youtube-dl -f best --get-url 'https://youtu.be/BuMMPvUlvPw')" -c:v copy -c:a copy nombre-archivo.mp4
Este comando es para descargar una fracción de 10 segundos de un vídeo de Youtube con esta URL https://youtu.be/BuMMPvUlvPw
Donde dice nombre-archivo.mp4 es el nombre que va a tener el archivo descargado.
Como reducir el tamaño de un vídeo descargado con FFmpeg
Ya con FFmpeg instalado y activo no habrá inconvenientes, solo es ejecutar el siguiente comando:
ffmpeg -i video-entrada.mp4 -vcodec h264 -acodec mp2 video-salida.mp4
En este caso donde dice video-entrada.mp4 es el nombre del vídeo sobre el que vamos a reducir el tamaño y video-salida.mp4 es el nombre del vídeo que tendrá reducido el tamaño.
Como reducir el tamaño de un vídeo descargado si no es suficiente con el proceso FFmpeg
Lo primero es descargar el vídeo con el formato más reducido posible que es webm con el siguiente tramo de código en consola:
youtube-dl -f worstvideo https://youtu.be/BuMMPvUlvPw
Posteriormente se puede cambiar el formato de webm a mp4 en el siguiente portal web:
https://cloudconvert.com/webm-to-mp4
Como descargar una extensión y resolución específica de un vídeo con Youtube-dl
Como ver las extensiones, resoluciones y tamaños de un vídeo
Lo primero es ver las extensiones específicas del vídeo que deseas descargar poniendo el parámetro -F como se ve en el ejemplo a continuación:
youtube-dl -F https://youtu.be/REgTntQE1IE
Para el caso del enlace de este vídeo, el sistema podrá mostrar una pantalla como la que pueden ver a continuación:
Como podrán observar cada línea de cada posibilidad tiene un número que la identifica, por ejemplo, si quisiéramos descargar la penúltima opción de vídeo, el que tiene la resolución de 1280×686, en extensión mp4, su número relacionado es el 136, entonces para descargar este formato específico el código relacionado sería el siguiente:
youtube-dl -f 136 https://youtu.be/REgTntQE1IE
Otro ejemplo, si quisiéramos descargar el vídeo número 5 de las opciones disponibles, primero cabe observar la resolución y extensión que muestran. En este caso el vídeo a descargar tendría una resolución de 256×138 y una extensión mp4.
El número relacionado de la línea del vídeo a descargar es el 160 y con este id lo podemos descargar, como pueden ver en la siguiente línea de código:
youtube-dl -f 160 https://youtu.be/REgTntQE1IE
Cualquier duda quedo al pendiente !!
Excelente tu post!! tuve problemas con ffmpeg, paso el link de la solución, que en mi caso funcionó, solo tuve que buscar el path correcto,