BitCuco

¡Hola Mundo!

BitCuco

Descargar videos de YouTube con Python

descargar videos de youtube

Ahora descargar videos de YouTube y otras plataformas de streaming es más fácil utilizando ésta biblioteca de Python, se llama youtube-dl. Usando directamente la línea de comandos puedes descargar prácticamente cualquier video, es compatible con macOS, Linux y Windows y tiene licencia de uso MIT.

Instalación de YouTube-dl (curl, wget, pip, brew, port)

La aplicación y biblioteca youtube-dl es fácil de instalar, se realiza directamente desde su sitio utilizando curl, wget, pip, brew o port.

Con curl:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Con wget:

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Con pip:

sudo -H pip install --upgrade youtube-dl

Con brew (macOS):

brew install youtube-dl

Con MacPorts:

sudo port install youtube-dl

Además de descargar el software, es importante tener instalada la versión de Python 2.6, 2.7 o 3.2 en adelante. La puedes descargar e instalar directamente desde su sitio de descargas.

Descargar videos de YouTube con la biblioteca youtube-dl

Para configurar el archivo, debemos editar el archivo /etc/youtube-dl.conf (para MacOS y Linux) o bien a nivel usuario ~/.config/youtube-dl/config. En el caso de Windows, este archivo se localiza en C:\Users\\youtube-dl.conf.

El contenido del archivo de configuración puede ser por ejemplo el siguiente:

# Siempre extraer el audio
-x

# No copiar el mtime
--no-mtime

# Usar un proxy
--proxy 127.0.0.1:3128

# Guardar todos los videos en el directorio Movies
-o ~/Movies/%(title)s.%(ext)s

# Agregar metadata al archivo
--add-metadata

# Embeber thumbnails
--embed-thumbnail

El archivo de configuración será leído cada vez que se ejecute la aplicación, salvo que se indique la opción –ignore-config en la línea de comandos. La ejecución de la aplicación directamente desde la línea de comandos con la siguiente sintaxis:

youtube-dl [OPCIONES] URL [URL…]

En donde podemos consultar el listado de opciones disponibles directamente en la documentación oficial del youtube-dl.

Selección de formato y calidad

La aplicación youtube-dl siempre va a buscar obtener la mejor calidad posible, sin embargo en ocasiones requerimos la descarga en un formato o calidad diferente a la existente por defecto en YouTube, para ello utilizamos la opción –format.

La selección de formato se realiza a través de la opción -f, por ejemplo -f mp4 o bien por un código de número -f 22. Si deseamos conocer los formatos disponibles para el video se utiliza la opción –list-formats. Casi siempre los formatos más usuales para los videos son 3gp, aac, flv, m4a, mp3, mp4, ogg, wav y web.

Para seleccionar la calidad, podemos utilizar la selección de calidad de video y de audio también con la opción -f, por ejemplo -f best. El listado de calidades disponibles son:

best: Mejor calidad de video y audio.
worst: Peor calidad de video y audio.
bestaudio: Mejor calidad de audio (solo audio).
worstaudio: Peor calidad de audio (solo audio).
bestvideo: Mejor calidad de video (solo video).
worstvideo: Peor calidad de video (solo video).

Se puede hacer una combinación de videos y calidad utilizando el símbolo diagonal, por ejemplo -f 136/137/mp4/bestvideo,140/m4a/bestaudio.

Selección de tamaño

También podemos seleccionar datos meta utilizando símbolos de comparación, para seleccionar el tamaño de video deseado de acuerdo a un ancho o alto específico, tamaño de archivo, bitraje o taza de frames. La sintaxis se escribe entre corchetes, por ejemplo -f “best[height=480]” o -f “[filesize>10M]”.

Los campos meta que podemos incluir pueden ser los siguientes (si son conocidos)

filesize: Número de bytes.
width: Ancho de video.
height: Alto de video.
tbr: Bitraje de audio y video (Medida en Kbit/s).
abr: Bitraje de audio (Medida en Kbit/s).
vbr: Bitraje de video (Medida en Kbit/s).
fps: Taza de frames.
ext: Extensión de archivo.
acodec: Codec de audio.
vcodec: Codec de video.
container: Formato del contenedor.
protocol: Protocolo utilizado en la descarga. (http, https, rtmp, rasp, mms, f4m, rtmpe, is, http_dash_segments, m3u8, m3u8_native).

Por ejemplo, si queremos descargar un video en el formato mp4 y flv, con altura mayor a 720, la opción sería -f ‘(mp4,flv)[height>720]’

Conclusión

A través de la biblioteca youtube-dl, podrás descargar videos de youtube a tu pc, no obstante es muy importante que los videos que descargues no estén protegidos por copyright, o de lo contrario podrás ser acreedor de una sanción, sin embargo para videos de uso personal o propios es una herramienta bastante útil, además de que te permite filtrar el formato, tamaño, subtítulos y otras características meta que poseen los videos de YouTube y de otras plataformas de streaming.

Otros proyectos interesantes en Python

Éste proyecto interesante te muestra cómo reconocer caras en Python. Recomendado.

Sobre el Autor

BitCuco

BitCuco. El Blog para los desarrolladores emergentes.
¡Vota por ésta entrada!
(Votos: 0 Promedio: 0)