Skip to content

hempalex/youcast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

youcast

youcast is a simple command line tool which downloads m4a audio files from youtube channel and makes RSS feed to use them as a podcast feed

It uses yt-dlp for downloading/extracting audio files from youtube and creates RSS file. You can use any web-server app to deliver podcasts to your devices.

Getting Started

Usage:

youcast https://www.youtube.com/channel/<channel id> <podcast name> <base url> [cover url]

Dependencies

  • Linux/FreeBSD/MacOS
  • Go compiler
  • yt-dlp
  • ffmpeg
  • mutagen/AtomicParsley tool for embedding metadata
  • web-server like nginx or apache

Installing

  • use your operating system packaging tool to install go/yt-dlp/ffmpeg/nginx
  • clone this repository
  • run make binary or make release (to build for all supported systems)
  • copy binary to appropriate place, like /opt/youcast/bin

Usage

First create directory for your podcasts storage, for example /var/www/podcasts Then create shell script to run youcast, for example /opt/bin/youcast.sh

#!/bin/sh

cd /var/www/podcasts
/opt/bin/youcast https://www.youtube.com/channel/<channel id>/videos <channel keyword> <base url> <url to channel artwork>

Where:

<channel id> - youtube channel id (you could just click on "video" section of your favorite youtube channel and copy url)

<channel keyword> - a filename for rss feed

<base url> - a url pointing to podcasts directory, like http://www.site.tld/podcasts

<url to channel artwork> - you could copy a url to channel image from youtube channel page and paste it here

Don't forget chnmod 0755 /opt/bin/youcast.sh and run it for testing For more than one channel just add a call to youcast for each channel url

Run it and in podcasts directory (/var/www/podcasts) you should see a <channel_keyword>.rss file and a audio directory which holds m4a files.

Secondly make your web server config (example for nginx.conf)

server {
   server_name wwww.site.tld;
  
  # ....
  
  location /podcasts {
      alias /var/www/podcasts;
      autoindex on;
  }
  
  # ....
  
}

Then reload your webserver config (nginx -t && nginx -s reload) and open http://wwww.site.tld/podcasts in browser.

You should see a list of RSS files. Copy url of one of then and use it to add to your favorite podcast catcher application. I prefer Downcast and Overcast for iOS but RSS shoud be compatible to almost any podcast app.

About

Youtube channel podcast generator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published