446 - Escuchar YouTube en formato podcast

446 - Escuchar YouTube en formato podcast

En este episodio te traigo un contenedor Docker de producción propia con el que podrás crear tu podcast a partir del contenido que tu quieras de YouTube

1:25
-3:15

Antes de nada, pedir disculpas @arkachofas y @jeanbedela, los productores de Los últimos de FEEDlipinas, porque sin lugar a dudas, para ellos, esto que he hecho es posible que lo consideren una especie de sacrilegio tecnológico. Lo entiendo, pero no lo comparto, y luego te explico la razón. Ya te hablé sobre este proyecto en el episodio 438 del podcast titulado YouTube podcast, DEN y otros proyectos en Rust. Sin embargo, en las últimas semanas le he dado una buena vuelta de tuerca, así como que me he metido en un importante jardín, para sacar una versión utilizable de YTPodcast, o como escuchar YouTube en formato podcast.

Escuchar YouTube en formato podcast

Escuchar YouTube en formato podcast

Sobre el sacrilegio tecnológico

Soy consciente de que hay decenas de podcast al alcance de todos, sin embargo, nadie me puede negar, que podcast de Linux en Español hay poquitos. Si, soy consciente de que estamos ante un nicho de mercado. Sin embargo, tu estarás conmigo en que es lo que quiero escuchar.

Por otro lado, y de la misma forma, tampoco me negarás que hoy en día YouTube está en boca de todos. Y cada vez, hay menos gente que ve la televisión, y mucha mas que consume bajo demanda.

Sin embargo, como ya te he comentado en ocasiones anteriores, yo no consumo YouTube, o por lo menos no lo hacía hasta el momento. Y no lo consumo, porque me paso mas tiempo haciendo contenido que consumiendo contenido.

Sin embargo, desde que he probado esto de escuchar YouTube en formato podcast, estoy completamente fascinado.

¿Que es YTPodcast?¿Como escuchar YouTube en formato podcat?

Como ya te adelanté en el episodio 438 del podcast, YTPodcast, es un servicio implementado en Rust que te permite crear un podcast para consumir los vídeos de YouTube en formato audio.

Para ello necesitarás una Raspberry o un servidor, y en caso de que quieras consumirlo desde internet, además necesitarás acceso a la red de redes. Necesitarás Docker, para levantar el servicio, y por supuesto, almacenamiento para descargar y guardar los audios.

¿Como funciona?

Es muy sencillo. Bajó el capó encontrarás a YT-DLP, Una aplicación implementada en Python de la que te hablé en un episodio anterior del podcast. En concreto en el episodio 371 del podcast que titulé ¿el fin de YouTube-DL?¿Termina una era?.

Esta herramienta te permite descargar los vídeos de YouTube de forma relativamente sencilla, pero no solo esto, también te permite descargar información sobre los vídeos que se encuentran en un determinado canal o en una lista de reproducción de YouTube. Esto precisamente, es lo que me ha hecho darle una vuelta a la aplicación.

Así, una vez al día o cada varios días según tu lo tengas configurado, YTPodcast, utilizará YT-DLP, para comprobar si hay nuevos vídeos disponibles. En el caso de que existan, los descargará, convirtiéndolos a mp3, y dejándolos en un directorio para ese url.

¿Como se consumen?

Se consumen como cualquier feed, pero, este se genera al vuelo. Es decir, cuando tu aplicación, por ejmplo AntennaPod, pida el feed, este lo va a construir en base a lo que tenga descargado. Y esto lo hace de forma dinámica.

Y cuando AntennaPod, por ejemplo, quiera consumir uno de los audios, simplemente YTPodcast, lo servirá como cualquier servidor estático.

¿Cuantos podcast puedo tener?

Si, efectivamente, aunque inicialmente, lo hice para alojar un solo canal o lista, lo cierto es que me he replanteado la cuestión. ¿Porque tener uno sólo? Pues eso, que puedes tener tantas listas y canales como tu quieras.

Simplemente tienes que dar una información mínima de cada uno de los podcast que quieres crear,

  • la dirección de donde quieres descargar los vídeos
  • el título de este podcast. Este título tiene que ser único, dado que es lo que se utiliza para posteriormente realizar las llamadas y para guardar los audios.
  • la descripción del podcast, para que tenga un resumen
  • una imagen, por aquello de que tu podcast sea elegante.

¿Es posible proteger los podcast con contraseña?

En el caso de que quieras servir el podcast a internet, es interesante que este vaya protegido por contraseña, a menos que quieras que lo consuma cualquiera, en cuyo caso, esto no es necesario.

Si quieres proteger, es tan sencillo como hacerlo a través del archivo de configuración, indicando que quieres autenticación, y los credenciales a utilizar.

¿Para que son las cookies.txt?

Esto es para el caso de que quieras consumir vídeos que están etiquetados para adultos. Actualmente, para la versión que está disponible en DockerHub es imprescindible facilitar el archivo de cookies.txt

¿Porque una nueva versión?

Lo principal ha sido eliminar la necesidad de recurrir a la API para descargar la información del feed. Esto obligaba a tener una API de cliente, y soy consciente de que esto iba a ser una importante barrera.

En la versión anterior, como te he indicado anteriormente solo era posible un solo podcast de un solo canal. Aquí he ampliado para que tengas lo que necesites.

He modificado la configuración para que sea mediante un archivo con formato YAML. Me parece mucho mas sencillo de hacer y mantener.

He cambiado el framework de Rust que estaba utilizando. Mi manía por recurrir a lo mas utilizado. He pasado de actix-web a axum. Esto me ha consumido muchísimo tiempo. Ahora, con paciencia continuaré migrando aplicaciones entre estos dos framework.


Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.

Recuerda que este es un podcast suscrito a la red de podcast de Sospechoso habituales

Te puedes suscribir a esa fantástica red de podcast en feedpress.me/sospechososhabituales

Por último y como te digo siempre, recuerda que la vida son dos días y uno ya ha pasado.

Disfruta como si no hubiera un mañana y si puede ser con Linux, mejor que mejor.

6 comentarios en “Escuchar YouTube en formato podcast

  1. O
    O do Regato hace 2 años

    Genial! Qué pasada: dicho y hecho! Algo que venía haciendo de forma manual con un alias y el comando «mpv –video=no» ahora con la posibilidad de pasarlo a un feed y poder conectarlo a AntennaPod.

    Pero una pregunta de newbie total: ¿dónde encuentro el contenedor de YTPodcast par poder trastear con él? O simplemente hago alguna magia con docker y ya?

    Muchísimas gracias!

    1. RO
      roothelp hace 2 años

      docker hub lo tiene publicado lorenzo

  2. GU
    Guillermo Cabrera hace 2 años

    Estimado, en el capitulo 446 – ESCUCHAR YOUTUBE EN FORMATO PODCAST me parecio muy bueno.Me llevo a la idea de que se puede hacer un podcast (archivo xml) con enlaces a dinamicos al audio directamente de youtube. Como sabemos este enlace cambio periodicamente, por lo cual en vez de guardar el enlace del archivo de musica lo obtenemos directamente en tiempo real con un pequeño servidor que recibe la direccion de youtube y redirecciona al archivo m4a de youtube.De esta forma no es necesario guardar los archivos localmente. Tambien se puede aprovechar la idea y en vez de generar archivos xml para podcast se pueden generar archivos m3u para playlist de musica. Estos ultimos se pueden usar en programas de musica donde ya estan especializados en gestionar musica (donde existe crossfader que mejora mucho la experiencia de la musica)Tiene muchos aspectos para mejorar pero dejo una version 1 para php. https://www.dropbox.com/s/8ffa87j8grqmxbi/youtube_2_m3u-xml.zip?dl=0 para ejecutar cada uno arracar un servidor php en el directorio: php -S 0.0.0.0:9899 . Algunas propuestas para mejorar:- que el puerto se elija mediante un archivo de configuración- unificar los programas para que el mismo servicio genere xml o m3u mediante un boton de radio.Bueno espero que les guste la idea. Saludos

    1. AT
      atareao hace 2 años

      Es muy buena idea… la duda que me surge, es si el podcatcher los estiende siempre como el mismo audio o no?
      Saludos y muchas gracias por comentar.

      1. GU
        Guillermo Cabrera hace 2 años

        Me alegra, que les pareciera interesante. Por mi parte para los archivos XML utilizo la aplicacion podcast adict y para los archivos m3u utilizo vlc, en estos programas puedo declarar un rotundo exito.

        En el zip que deje un servidor operativo (basico), la pagina de inicio creo el archivo xml o m3u y queda operativo un servicio a traves del archivo url.php el cambio de direccion.

        Si lo piensas un poco mucho de los archivos que buscamos son reenviados a traves de varios servidores, sin que nos demos cuenta (si haces un traceroute de un link, te daras cuenta de esto) esto es uno mas, por eso no creo que tenga problemas con ningun aplicativo.

        Un saludos desde Uruguay

  3. GE
    Gerardo hace 2 años

    Gracias me gusta la idea pero aun no logro que me funcione.
    Tengo algunas dudas de su funcionamiento por ejemplo deje el canal de youtube que tienes en el config en github y el contenedor al parecer ya se esta ejecutando pero en la carpeta de audios no veo que cambie sigue vacia esto es por que tengo algo mal configurado o solo se agregan nuevo videos y al no haber nuevos videos no se agregaran? si asi fuera como podria poner audios de videos pasados tendria que descargarlos y copiarlos a la carpeta de audios si es asi en que formato y tambien hay cierta estructura en el nombre o las carpetas?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *