Para descargar videos con youtube-dl, primero debemos descargar la herramienta que permite descargar videos de muchos sitios, aunque su nombre indique youtube. Sin embargo, su funcionamiento se puede extender mediante parámtetros para dar salida a la descarga, ver y elegir formatos.
Su máximo potencial es para Youtube (supongo que de ahí su nombre).
Instalar
Puedes ir la página oficial por si tienes algún problema.
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
Actualizar
youtube-dl -U
Yo uso Fedora 36, así que primeramente había instalado el software mediante dnf
, pero es más complicado al momento de actualizar, así que si utilizaste el mismo método puedes hacer esto:
sudo dnf update --enablerepo=updates-testing youtube-dl
Instalar ffmpeg
Como a veces necesito convertir el audio de los videos a otro formato, como MP3, necesitamos instalar la herramienta ffmpeg
.
Primero habilitamos los repositorios.
sudo dnf install \
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Luego instalamos las herramientas.
sudo dnf install ffmpeg ffmpeg-devel
ffmpeg -version
Salidas
Para ahorrarnos tiempo, hay que establecer una variable con el video que queremos descargar:
URL_YOUTUBE=https://www.youtube.com/watch?v=xxxxxxxxxxx
URL_VIDEO_2=https://www.youtube.com/watch?v=yyyyyyyyyyy
PLAYLIST=https://www.youtube.com/playlist?list=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Descarga normal
Podemos comenzar a descargar videos con youtube-dl con una URL de un video o una playlist.
#Descarga un video
youtube-dl $URL_YOUTUBE
#Descarga una lista de reproducción
youtube-dl $PLAYLIST
#Descarga dos videos
youtube-dl $URL_YOUTUBE $URL_VIDEO_2
#Descarga una lista de videos desde un archivo
youtube-dl -a mis-videos.txt
Descarga solo audio
# Solo audio
youtube-dl -x $URL_YOUTUBE
# Solo audio y convertirlo a MP3
youtube-dl -x --audio-format mp3 $URL_YOUTUBE
# Solo audio, convertirlo a MP3 y ponerle un nombre
youtube-dl -x -o "%(title)s.%(ext)s" --audio-format mp3 $URL_YOUTUBE
Puedes ver algunos parámetros para nombrar los archivos de salida en su OUTPUT TEMPLATE en esta página.
Listas de reproducción
# Descarga el video en la posición 4
youtube-dl --playlist-items 4 $PLAYLIST
# Descarga los videos en las posiciones 2,4,6
youtube-dl --playlist-items 2,4,6 $PLAYLIST
# Descarga del video 2 al 8
youtube-dl --playlist-start 2 --playlist-end 8 $PLAYLIST
# Descarga a partir del video 3
youtube-dl --playlist-start 3 $PLAYLIST
# Descarga el audio y convierte a MP3 de los videos 2,4 y 6
youtube-dl --playlist-items 2,4,6 $PLAYLIST
Formatos
También antes de descargar videos con youtube-dl, puedes ver la lista de formatos antes de descargar un video y elegir cuál quieres.
Como puedes ver, da una salida con diferentes formatos, tamaños, códigos y extensiones.
# Lista de formatos (F mayúscula)
youtube-dl -F $URL_YOUTUBE
# Mejor calidad de audio y video
youtube-dl -f best $URL_YOUTUBE
# Mejor calidad de audio
youtube-dl -f bestaudio $URL_YOUTUBE
# Peor calidad de video (solo video)
youtube-dl -f worstvideo $URL_YOUTUBE
# Puedes hacer combinaciones
youtube-dl -f bestvideo+bestaudio $URL_YOUTUBE
# Descarga por código del video (es la primera columna)
youtube-dl -f 18 $URL_YOUTUBE
Subtítulos
También puedes descargar los subtítulos de un video, en caso de que tenga.
# Listar subtítulos
youtube-dl --list-subs $URL_YOUTUBE
# Descargar un subtítulo
youtube-dl --write-sub --sub-lang en --skip-download $URL_YOUTUBE
# Descargar una lista de subtítulos
youtube-dl --write-sub --sub-lang en,es --skip-download $URL_YOUTUBE
#Convertir subtítulos a SRT
ffmpeg -i archivo.vtt archivo.srt
Espero que le sea útil esta guía para.
Saludos.