Hack - Une playlist Youtube en flux de podcast
jeudi 1 janvier 1970 à 01:00# Mon projet
Je fais pas mal de veille et je rattrape les conférences des événements en replay quand celles-ci ont été enregistrées. J'écoute beaucoup de flux en audio sur mon smartphone, des podcasts. Et parfois des vidéos Youtube en fond sonore.
J'ai défini un cahier des charges pour un mini-projet correspond au besoin suivant : pouvoir écouter ces conférences en mode déconnecté/sans connexion.
Mes besoins sont donc les suivants
– La version audio me suffit. Je veux pouvoir mettre le smartphone dans une poche et donc la vidéo ne sert pas ;
– Je veux pouvoir reprendre d'où j'en étais (avec un bon lecteur de vidéo, ça doit être possible, je n'ai pas cherché). Je suis susceptible d'écouter plusieurs flux en parallèle selon les envies, les inspirations
– Je veux pouvoir écouter en mode déconnecté, donc avoir les fichiers sur mon smartphone, mais pas tout en même temps ;
– Je veux que ce soit dans mon application de Podcast : j'aime bien écouter différentes choses en parallèle pour varier un peu. Je veux pouvoir télécharger les fichiers à la demande/selon le besoin pour ne pas saturer l'espace de mon smartphone.
– Et parce que j'ai envie de faire ce projet, tout simplement ;-)
Je pars donc sur le projet de convertir une playlist Youtube en flux de podcast. Et les conférences de l'événement le Capitole du libre s'y prêtent bien. Les conférences sont filmées mais l'écran diffusant les supports de conférences n'est pas des plus visibles, du coup seul le flux audio m'importe dans ce cas.é
# Deux scripts
Qui peuvent être regroupés en 1 seul si besoin
## Création du script de récupération DownloadAndConvert.sh
Préréquis : avoir le logiciel yt-dlp d'installer
#!/bin/bash # Configuration # Ici je mets la playliste Youtube des vidéos du Capitole du libre édition 2025 PLAYLIST_URL="https://www.youtube.com/playlist?list=PLU8kgF3be3rTmynqvcRAaTneHp9kAFZ20" OUTPUT_DIR="./podcast" # Créer le dossier de sortie mkdir -p "$OUTPUT_DIR" # Télécharger et convertir les vidéos en audio yt-dlp -x --audio-format mp3 --embed-thumbnail --parse-metadata "%(title)s:%(description)s" --output "$OUTPUT_DIR/%(title)s.%(ext)s" --format bestaudio/best "$PLAYLIST_URL"Je récupère ainsi dans le dossier "Podcast" l'ensemble des fichiers mp3 correspondant aux pistes audio de l'ensemble des conférences de la playliste.
## Création du flux de podcast Youtube2Podcast.sh
#!/bin/bash # Configuration OUTPUT_DIR="./podcast" PODCAST_TITLE="Capitole du libre 2025" PODCAST_DESCRIPTION="CDL2025 Capitole du libre 2025" PODCAST_AUTHOR="Genma" PODCAST_LINK="https://podcast.mondomaine.com" # Optionnel : URL de ton serveur web # Générer le fichier RSS cd "$OUTPUT_DIR" echo '' > CDL2025.rss echo '' >> CDL2025.rss echo " " >> CDL2025.rss echo " $PODCAST_TITLE " >> CDL2025.rss echo " $PODCAST_DESCRIPTION " >> CDL2025.rss echo " <link>$PODCAST_LINK" >> CDL2025.rss echo " fr-fr " >> CDL2025.rss echo " $PODCAST_AUTHOR " >> CDL2025.rss echo " " >> CDL2025.rss echo " " >> CDL2025.rss echo "https://blog.genma.fr/local/cache-vignettes/L150xH150/siteon0-68008.png?1737630417 " >> CDL2025.rss echo "$PODCAST_TITLE " >> CDL2025.rss echo "<link>$PODCAST_LINK" >> CDL2025.rss echo " " >> CDL2025.rss # Ajouter chaque fichier audio comme épisode for file in *.mp3; do title="${file%.mp3}" echo " - " >> CDL2025.rss echo "
$title " >> CDL2025.rss echo "Épisode : $title " >> CDL2025.rss echo " " >> CDL2025.rss echo "$PODCAST_LINK/$file " >> CDL2025.rss echo "$(date -R) " >> CDL2025.rss echo " " >> CDL2025.rss done echo " " >> CDL2025.rss echo " " >> CDL2025.rss echo "Flux RSS généré : $OUTPUT_DIR/CDL2025.rss"# Diffusion
Sur une instance Yunohost, j'ai crée un sous-domaine dédié (podcast.mondomaine.com) et dessus j'ai installé l'application MyWebApp pour avoir une configuration Nginx automatisée et simple qui me permette de partager les fichiers.
J'upload les fichiers (mp3 et le fichier RSS) à la racine de ma webapp.
Je valide l'URL du flux via un navigateur. Et je vérifie que les fichiers audio se lisent bien.
# Ajout dans l'application de podcast
J'ajoute un flux RSS (https://podcast.mondomaine.com/CDL2025.rss) dans mon application de podcast (PodcastAddict, que j'utilise depuis une dizaine d'années). Une fois le flux récupré, ça donne ça :
Une fois qu'un épisode est téléchargé, la vignette change (pratique pour savoir ce que j'ai téléchargé ou pas encore).
Et j'utilise ensuite les fonctionnalités de l'application (lecture en vitesse accélérée, reprise, effacer les fichiers une fois lu pour regagner de la place...)
# A améliorer & La suite
Faire la même chose pour d'autres projets !
Faire la même chose pour une playliste sur Peertube du coup :)




