YouTube Downloader como servicio
Hasta la fecha, solo, en ocasiones muy puntuales, he necesitado descargar vídeos de YouTube. Sin embargo, recientemente con esto de automatizar las publicaciones en YouTube, y publicarlas directamente en Twitter, se ha convertido en una necesidad. Pero esto ya te lo contaré mas adelante. Desde luego, hay quien para él, esto de tener la posibilidad de descargar los vídeos de YouTube, para consumirlos cuando lo necesite, sin tener que acabar con su tarifa de datos es una auténtica necesidad. O quizá tu razón para descargar los vídeos es otra cualquiera, esto, creo que es lo que menos importa ahora mismo, simplemente, necesitas descargar los vídeos, y esto que te voy a contar es una buena opción. Se trata de montar tu propio servicio de descarga de vídeos de YouTube bajo demanda, lo que he llamado YouTube Downloader como servicio.
YouTube Downloader como servicio, es una alternativa a utilizar un gestor de descargas, o alguna extensión, que esté en tu propio equipo. Este servicio, lo puedes tener instalado en una Raspberry, en un VPS, en un ordenador o donde tu quieras.
YouTube Downloader como servicio
¿Que es YouTube Downloader como servicio?
¿En que consiste YouTube Downloader como servicio? YouTube Downloader como servicio, es algo tan sencillo, que no se como no lo puedes encontrar a patadas. Probablemente, porque existen decenas de extensiones y aplicaciones que ya cumplen esta función, y no sea realmente una necesidad.
Se trata de tener youtube-dl
, corriendo en un servidor, y que lo puedas llamar o bien, introduciendo la url del vídeo que quieres descargar en una página web, o bien lo puedas llamar desde una Rest API
. Esto es realmente lo que a mi me interesa llamarlo desde una Rest API, para poder descargar el vídeo bajo demanda, cuando a mi me interese y sin preocuparme de nada mas.
¿Como aprovecharlo?
Hasta aquí está todo claro, simplemente visito la página web e introduzco la url
que quiero descargar, o bien, la otra opción es llamarlo mediante un wget
, o un curl
, desde el terminal o incluso desde otra aplicación. Con esto consigo que se descargue el vídeo. Pero ¿como utilizo el vídeo?
Aquí de nuevo, tienes dos opciones… O bien, lo descargas haciendo una segunda llamada a tu YouTube Downloader como servicio. O bien, lo que me parece mas interesante, lo tienes en un directorio compartido, desde el cual consumirlo directamente.
¿Como lo utilizo?
Yo me he creado dos tipos de flujos de trabajo. Uno para vídeos y otro para audios. En este segundo caso, lo que hago es descargar un audio del RSS del podcast. Si, lo cierto es que he aprovechado una cosa para la otra. Una vez descargado, lo convierto en vídeo, utilizando audiowave. El siguiente paso, es recortar los primeros 30 segundos y por último publicarlo en Twitter…
Si ahora mismo, lo tengo en un todo-en-uno. Una solución que no me gusta, y que tengo que dividir en partes para poder utilizar en otros flujos de trabajo. Pero, es una solución realmente cómoda, y que me permite olvidarme de las condiciones de contorno.
El segundo flujo de trabajo es similar. En este caso descargo un vídeo del canal de YouTube de atareao.es, cada vez que se publica. De nuevo, recorto los primeros 30 segundos, lo convierto en mp4
, que es lo que admite Twitter, y lo publico en esta red social. Quedaría el paso de publicarlo en otras redes sociales como puede ser Mastodon, pero todo llegará.
El contenedor
Actualmente estoy utilizando YouTube Downloader como servicio, o como yo lo he bautizado, yaas
, detrás de Traefik, y mediante docker-compose
. El archivo, es como el que te muestro a continuación,
version: '3'
services:
yaas:
image: kmb32123/youtube-dl-server
container_name: yaas
restart: unless-stopped
networks:
- proxy
volumes:
- ./youtube-dl:/youtube-dl
labels:
- traefik.enable=true
- traefik.http.services.yaas.loadbalancer.server.port=8080
- traefik.http.routers.yaas.entrypoints=http
- traefik.http.routers.yaas.rule=Host(`yaas.tuservidor.es`)
- traefik.http.middlewares.yaas-https-redirect.redirectscheme.scheme=https
- traefik.http.routers.yaas.middlewares=yaas-https-redirect
- traefik.http.routers.yaas-secure.entrypoints=https
- traefik.http.routers.yaas-secure.rule=Host(`yaas.tuservidor.es`)
- traefik.http.routers.yaas-secure.tls=true
- traefik.http.routers.yaas-secure.tls.certresolver=myresolver
networks:
proxy:
external: true
Con esto ya tendrías YouTube Downloader como servicio levantado y dispuesto a actuar cuando tu le dijeras.
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.
Imagen de portada de Jakob Owens
La entrada YouTube Downloader como servicio aparece primero en Atareao.