youtube-dl es una utilidad para la línea de comandos escrita en Python que sirve para descargar vídeos, extraer audios, de plataformas de vídeo como Youtube y otras

Desde hace tiempo solía utilizar youtube-dl para descargar el audio de vídeos que me interesaran desde YouTube. De una manera sencilla podía escuchar el audio en mi equipo sin necesidad de conectarme a dicha plataforma para volver a escuchar lo que quería.
La utilidad era sencilla de utilizar para lo más básico como esto, pero lleno de opciones para poder cubrir otros modos de empleo más sofisticados o en los que se necesitan más configuraciones.
Pero recientemente que volví a necesitarlo, ejecuté como siempre el comando y me devolvía un error que no he sido capaz de resolver.
Ejecutaba el comando para extraer el audio de un vídeo determinado y me devolvía lo siguiente:
$ youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=urldelvideo --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-x', '--audio-format', 'mp3', 'https://www.youtube.com/watch?v=urldelvideo', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.9 (CPython) - Linux-6.2.1-1-default-x86_64-with-glibc2.37
[debug] exe versions: ffmpeg 4.4.3, ffprobe 4.4.3
[debug] Proxy map: {}
[youtube] urldelvideo: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
return func(self, *args, **kwargs)
File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
ie_result = ie.extract(url)
File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
ie_result = self._real_extract(url)
File "/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 1012, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Viendo la versión de mi equipo del paquete de software me indicaba que estaba usando la versión: 2021.12.17
¡Vaya! Parece que desde 2021 no han actualizado sus paquetes de software, aunque en su repositorio en Github sí que parece que hay commits más recientes.
Como no conseguí poner solución al problema que me presentaba ahora youtube-dl, estuve buscado otras opciones y así es como conocí a yt-dlp.
yt-dlp es un proyecto derivado de youtube-dl en el que se han incorporado parches y mejoras al código original. Viendo la versión en su repositorio de GitHub, a fecha de escribir esto, veo que es 2023.03.04, es decir, de hace un par de días.
Instalé la aplicación desde los repositorios de openSUSE Tumbleweed, pero hay otras formas alternativas de instalar la utilidad. Y ahora es el momento de probar si funciona…
Los comandos y opciones son similares a las de youtube-dl, por lo que cambiando el nombre de la utilidad ejecuté el comando anterior y esta vez sí que se ejecutó sin ningún problema y descargué el audio en mi equipo.
No quiere ser este artículo una guía extensiva de cómo usar la utilidad y sus diferentes y extensísimas opciones, si no una información de que si a tí, como a mí, también te falla youtube-dl, pruebes yt-dlp y veas si así se solucionan tus errores.

Tuve muchos errores similares, los solucioné usando el youtube original (no de repositorios) luego actualizo con el comando «youtube-dl -U». Me funcionó. De todas formas es interesante conocer una alternativa.-
Hola!
yo al correr el comando de actualización que mencionas, me decía que estaba al día, por eso fue lo de buscar una alternativa…
Saludos y gracias por pasarte por el blog y comentar!
Buenas Victorhck,
Espero que haya comenzado bien 2023.
Es la mejor opción para descargar vídeos. Para descargar el audio puedes
ejecutar «yt-dlp –extract-audio –audio-format mp3».
Si desde los repos de openSUSE no la tienen a la última versión, esta
utilidad cuenta con actualizador propio ejecutando «sudo yt-dlp -U».
Yo la descargo e instalo de esta forma:
1. wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
2. chmod a+rx /usr/local/bin/yt-dlp
3. ln -s /usr/local/bin/yt-dlp /usr/bin/yt-dlp
Y así puedo tenerla siempre a la última indendientemente de los repositorios de la distribucción.
Saludos
Hola! 😁
Muchas gracias por compartir tu experiencia. Apuntado queda para completar lo escrito…
Gracias por el comentario y un saludo!
A mi ya me pasó hace 1 semana o 2. Y efectivamente, el -U me decía que al día. Al día de 2021.
Así que instalé yt-dlp desde el repo de Packman (no hacen falta repositorios extra como el comentado más arriba). De hecho, en las actualizaciones pendientes de Packageit tengo el yt-dlp 2023.03.04-pm154.2.1.
ytdlp -F urldeyoutube para ver todos los formatos del vídeo
ytdlp -f xxx urldeyoutube para descargar el formato elegido
Y si bajas un fichero de sólo vídeo y uno de sólo audio (útil para resoluciones de 1080p que no tienen audio y vídeo juntos) usas ffmpeg para unirlos:
ffmpeg -i video.mp4 -i audio.m4a videoconsonidoa1080p.mp4
Saludos
Hola.
Muchas gracias por tu aporte.
Saludos!!
Donde pone xxx se sustituye por el número elegido en la lista de yt-dlp -F urldeyoutube
Hola.
Ya hace bastante tiempo que uso «yt-dlp», casi ni recuerdo pero estoy seguro que fue por problemas similares.
Nunca más he tenido problemas para descargara audio o videos de YouTube.
Victor con tu permiso compartiré dos alias que tengo creados, uno para descargar audio y llevarlo a .mp3 y otro videos a .mp4.
Espero les guste y les sea útil, cualquier sugerencia es bienvenida.
alias YT2MP3=’yt-dlp -x –embed-thumbnail –audio-quality 0 –audio-format mp3 ‘
alias YT2MP4=’yt-dlp -f «bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best»‘
Gracias Victor.
Have a lot of Fun!!
Gracias por tu aporte!
¡¡Muchas gracias!!
He cogido tu 2º alias y he hecho una función para Fish que funciona de maravilla:
function yt –description ‘descarga un video de Youtube a máxima calidad H264/AAC’ –argument url
yt-dlp -f «bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best» $url
end
Sólo has de escribir:
yt URLdeYoutube
y te baja el MP4 con audio AAC.
Saludos
gracias a ambos por los aportes!!
(igual te copio yo esta!!)
Saludos.
Excelente aporte, …sería bueno compartir en el Foro, de esa manera más pueden usarlo.
Gracias Muchachos.
Te hice caso y he recogido las 3 que tengo en este hilo de los foros de opensuse:
https://forums.opensuse.org/t/listado-de-funciones-fish/164872
leído!
Mira qué bien!! 🙂
Saludos.
Jdownloader lo ripea sin problemas.
Hola!
Hace años utilizaba ese gestor de descargas… pero hace mucho que no lo utilizo…
Gracias por tu aporte.
Saludos!!
Se lo traga casi todo, incluso de servidores de pelis Streamtape, y a toda leche.