¿El fin de YouTube-dl?¿Termina una era?
Soy consciente que el software como tantas otras cosas, tiene su propio ciclo de vida. Nace, crece, se reproduce, aunque en este caso debería decir, y permite la expresión se forkea y muere, o quizá se ve abandonada. Sin embargo, en ocasiones estás tan acostumbrado al uso cotidiano de una herramienta, de una aplicación, de un lo que sea, que cuando ves que comienza a flojear, cuando intuyes, de forma acertada o no que va cuesta a bajo, no puedes evitar el reflexionar. Esto me ha llevado precisamente a este episodio del podcast, a tratar sobre el fin de YouTube-dl, o mejor dicho, el posible fin de YouTube-dl, y las alternativas.
Aviso para navegantes, que no tengo nada claro que estemos ante el fin de YouTube-dl, ni siquiera que estas sean sus últimas horas. Sin embargo, el hecho, de que una persona tan conservadora como yo, tan apegado al uso de un determinado software haya decidido, cambiar me hace replantearme algunas aspectos.
¿El fin de YouTube-dl?¿Termina una era?
¿Tiene sentido el fin de YouTube-dl hoy?
Es cierto, que YouTube-dl, nació con un objetivo, tal y como contó Ricardo García, el creador de YouTube-dl en el podcast de Alex Barredo, Kernel.
El objetivo con el que desarrolló inicialmente Ricardo García YouTube-dl, fue simple, ver vídeos de YouTube en el pueblo en el que vivía por allá en 2006. Ya te puedes hacer una idea, el problema al que se enfrentaba por aquel entonces. Ver un vídeo en streaming era un auténtico infierno.
Para que te hagas una idea, tal y como explica el propio Ricardo en la historia de YouTube-dl, un vídeo de apenas 10 MB de tamaño, podías tardar mas de 40 minutos en descargarlo. Y ya te digo, que 10 MB es algo irrisorio. Para que te hagas una idea, el tamaño del podcast que estás escuchando es entre un veinte o un treinta por ciento superior, dependiendo de cuanto tiempo pase de los 20 minutos.
Hoy en día, a pesar de que la calidad de las transmisiones han mejorado muy, pero que muy sensiblemente, la situación es distinta. Justo ahora nos encontramos en pleno boom del streaming. Ahora consumimos todo en streaming, absolutamente todo. De hecho, supongo que esa sea una importante razón para la disminución de la piratería.
Y entonces, si precisamente estamos en pleno boom del streaming, ¿que sentido tiene el fin de YouTube-dl? O quizá no sea el fin.
¿Porque te hablo del fin de YouTube-dl?
Exportado a FediverseTV
Como te conté en el episodio 269 del podcast sobre importar y exportar vídeos de YouTube, llevo unos días enfrascado en subir todos los vídeos que publico en YouTube a FediverseTV. Por supuesto, y como ya te conté en aquel episodio del podcast, tenía que ser un proceso completamente automático y desatendido. Y esto es lo que implementé en un imagen Docker y desplegada en el VPS que normalmente utilizo para estas cosas.
Para hacer esta operación, yo le paso un listado de vídeos, y mediante esa imagen Docker, en la que está integrado como un módulo de la aplicación YouTube-dl, va descargando vídeos y subiéndolos a FediverseTV.
Para aquellos que estáis con el Reto Python, o habéis comenzado con las Pyldoras Pythonicas, indicar, que le podéis echar un vistazo al código. Está implementado en Python y subido al repositorio de GitHub.
Hasta aquí todo correcto… O casi correcto. Porque por un lado veía que habían muchos errores en las descargas, lo que me obligó a introducir reintentos. Pero, si esto fuera poco, tardaba excesivamente, parecía que estuviera en el pueblo de Ricardo, quizá he exagerado. Pero realmente estaba descargando a una velocidad ridícula. Para que te hagas una idea, para descargar 100 MB podía estar unos diez minutos. Ya te he dicho que exageraba.
Esto, yo lo achacaba, sin lugar a dudas al algoritmo de YouTube, pero estaba equivocado. No tenía nada que ver con esto. Era algo que tenía que ver con el propio YouTube-dl.
Otra exportación
Hace unos días hablando con Juan Febles, al que seguro que conoces por Podcast Linux, me comentó que el se encontraba en la misma situación, respecto a llevar todos sus vídeos de YouTube a FediverseTV. Así, que dado que tenía las herramientas preparadas, me ofrecí a hacer la migración.
Fue en este momento, cuando se me encendió la bombillita y recordé que ya a yt-dlp. Lo había mencionado en alguna ocasión. Lo había utilizado en alguna ocasión, pero siempre de forma puntual. ¿Porque no darle una oportunidad?. Desde el punto de vista del desarrollo, soy muy conversador. Soy fiel al lema si algo funciona no lo toques. Sin embargo, porque no probar… Era una buena oportunidad. Juan tenía unos 100 vídeos, sería muy interesante el desempeño de la alternativa.
Así que ni corto ni perezoso realicé el cambio de YouTube-dl a yt-dlp en el código, reemplazando el módulo de Python de uno por el otro. Cree la imagen Docker, la desplegué en el VPS y…
Mas usos de YouTube-dl
Esto de la importación y exportación de vídeos, es algo que surgió hace relativamente poco tiempo. Pero no es el único proceso que estoy realizado de forma automatizada para con YouTube-dl. Como ya sabes, para darle divulgación a los tutoriales que estoy publicando en el canal de YouTube, utilizo un proceso bastante similar…
Se trata de una combinación entre un cron, croni, le llamé a la imagen Docker y un publicador en todas las redes sociales, o en casi todas… Cuando está programado se encarga de mirar en YouTube si hay un vídeo nuevo en el canal, de la categoría que le indique. En caso de que encuentre un nuevo vídeo, lo descarga, recorta los primeros treinta segundos, y publica ese corto, nunca mejor dicho en Twitter, Telegram y Mastodon.
De nuevo, aquí, ya me he encontrado en bastantes ocasiones, y te diría que es un porcentaje considerable, que no se publica. Y no se publica porque no se consigue descargar, a pesar de que como en le caso anterior, había establecido reintentos.
No solo es esto. Yo tengo una hora de publicación concreta, y sin embargo, la publicación se suele hacer aproximadamente media hora después. A mi, sinceramente esto me gustaba, porque parecía que le daba un toque de aleatoriedad, aunque no me terminaba de hacer gracia, porque siempre estoy con la intranquilidad de si se publicará o tendré sorpresa.
Resulta muy frustrante, encontrar que el trabajo que has realizado no se publique porque alguna pieza no termina de funcionar correctamente.
Ahora, estoy haciendo una primera actualización de este proceso, cambiando el almacenamiento actual a una base de datos, porque actualmente está en un archivo json, y se ha vuelto un completamente inmanejable.
La solución
Así que, con todo esto, y como te he indicado anteriormente, me decidí a utilizar yt-dlp con los vídeos de Juan, con la nueva imagen Docker. Como te puedes imaginar, éxito total.
Lo que antes tardaba en descargarse 10 minutos, ahora se descargaba en 10 segundos… Mas o menos, simplemente para que te hagas una idea de los tiempos que estamos manejando.
De hecho, mientras preparaba este episodio del podcast, hice una prueba para bajar uno de los últimos vídeos que he publicado, una Pyldora Pythonica de desarrollo de Python con NeoVim, y el resultado es tremendo.
YouTube-dl | yt-dlp | |
---|---|---|
Tiempo | 26 minutos | 13 segundos |
¿Está muerto YouTube-dl?
Pero ¿realmente está muerto o en caída libre YouTube-dl?. A mi que me gusta analizarlo todo desde un punto de vista práctico, y sobre todo, con los números en la mano, me he ido a los repositorios de GitHub de ambos proyectos para poder compararlos cara a cara y ver en que situación se encuentran.
YouTube-dl | yt-dlp | |
---|---|---|
Total commits | 18.563 | 20.359 |
Ultimo commit | hace 2 días | hace una hora |
Ultima versión | 16/12/2021 | 03/08/2022 |
Pull Request Activos | 4 | 20 |
Issues Activas | 25 | 95 |
Contribuidors (ultimo año) | 12 | 26 |
Commits (Enero a marzo 2022) | 39 | 396 |
Por poner algunos números encima de la mesa. Pero además si te fijas en los gráficos de cada uno de ellos, podrás observar que los correspondientes a YouTube-dl, van apagándose con el paso del tiempo hasta llegar a nuestros días.
Todo esto ¿indica que YouTube-dl está muerto? No lo se. Todo es que llegue ahora un desarrollador con suficiente interés y retome el proyecto con fuerza. Sin embargo, si la trayectoria continua como hasta el momento, la verdad es que no pinta nada bien para YouTube-dl.
¿Como me afecta cambiar de YouTube-dl a yt-dlp?
El cambio mas importante es que vas a tener que escribir menos para poder descargar un vídeo. Mientras que YouTube-dl se llamaba con youtube-dl
en el caso de yt-dlp tienes que utilizar yt-dlp
. Salvo esto, no hay prácticamente diferencia entre uno y el otro.
De echo, al igual como pasa con Podman y Docker, puedes utilizar un alias, y no tendrás ningún problema.
Lo mismo te tengo que decir, en el caso de que utilices el módulo de Python para algún desarrollo propio. Simplemente es cambiar el nombre y a correr.
Así, para que veas, que no cambia nada,
--list-formats
listar formatos y resoluciones-f 'bv*+ba
para descargar la mejor calidad de vídeo y audio-f 'ba -x --audio-format mp3
para descargar solo el audio, con la mejor calidad posible.
Conclusión
Llegados a este punto, mi decisión ha sido clara, migrar a yt-dlp. Al menos de momento. Esto no quiere decir que no regrese, pero ahora mismo, las cosas están muy claras, los números lo avalan. ¿Será el fin de una leyenda?. Solo el tiempo nos lo dirá.
Imagen de portada de Brad Starkey
La entrada ¿El fin de YouTube-dl?¿Termina una era? aparece primero en Atareao.