abril 15, 2024

BitCuco

¡Hola Mundo!

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.