Giter Site home page Giter Site logo

madiele / vod2pod-rss Goto Github PK

View Code? Open in Web Editor NEW
198.0 3.0 4.0 1.42 MB

Vod2Pod-RSS converts a YouTube or Twitch channel into a podcast with ease. It creates a podcast RSS that can be listened to directly inside any podcast client. VODs are transcoded to MP3 on the fly and no server storage is needed!

License: MIT License

Makefile 1.55% Rust 84.10% Dockerfile 2.70% Shell 0.52% HTML 11.12%
podcast rss self-hosted twitch youtube youtube-rss podcast-rss audio-transcoding rss-generator rss-podcast

vod2pod-rss's Introduction

vod2pod-rss tests stable image beta image

Converts a YouTube or Twitch channel into a full blown audio podcast feed.

Features

  • Completely converts the VoDs into a proper podcast RSS that can be listened to directly inside the client.
  • The VoDs are not downloaded on the server, so no need for storage while self-hosting this app.
  • VoDs are transcoded to MP3 192k on the fly by default, tested to be working flawlessly even on a Raspberry Pi 3-4.
  • also works on standard rss podcasts feed if you want to have a lower bitrate version to save mobile data.

Limitations

  • Youtube channel avatar is not present and results are limited to 15 when no YouTube API key is set.

Usage

Web UI

  • just go where you hosted vod2pod and you will find an easy to use UI to generate the feed

Manually Generate A Podcast URL

  • In a web browser go to where you hosted vod2pod, es: http://myserver.com/ or http://localhost/
    • In the web page that opens paste the channel you want to convert to podcast and copy the generated link.
  • Optionally goto : http://myserver.com/transcodize_rss?url=channel_url
    • An RSS will be generated.
    • Replace channel_url with the URL of the YouTube or Twitch channel you want to convert into a podcast.
      • YouTube: http://myserver.com/transcodize_rss?url=https://www.youtube.com/c/channelname
      • Twitch: http://myserver.com/transcodize_rss?url=https://www.twitch.tv/channelname
      • RSS/atom feed: http://myserver.com/transcodize_rss?url=https://feeds.simplecast.com/aU_RzZ7j
        • Add the domain to the whitelist. See configurations below

Add The URL To A Podcast Client

  • find a tutorial on how to add an rss feed to your favorite podcast app

Optional API Access

See configurations below

Install

Clone This Repository

git clone https://github.com/madiele/vod2pod-rss.git

Docker

  • Install Docker Compose
  • Precompiled images are available here for linux machines with arm64, amd64 and armv7 (raspberry pis are supported).

Docker Compose

cd vod2pod-rss
nano docker-compose.yml

See configurations below

sudo docker compose up -d

Updating

sudo docker compose pull && sudo docker compose up -d
sudo docker system prune

Configurations

Web Server Port

  • ports: "80:8080" (optional) Change 80 to another port if you already use the port 80 on your host

Optional API Keys

  • YT_API_KEY: Set your YouTube API key (works without but the feed is limited to 15)
    • e.g. YT_API_KEY=AIzaSyBTCCEOHm
  • TWITCH_SECRET: Set your Twitch secret
  • TWITCH_CLIENT_ID: Set your Twitch client ID

Note: These can also be set using Docker .env files

Environment

  • TRANSCODE: Set to "false" to disable transcoding, usefull if you only need the feeds (default: "true")
  • MP3_BITRATE: Set the bitrate of the trascoded stream to your client (default: "192")
  • SUBFOLDER: Set the the root path of the app, useful for reverse proxies (default: "/")
  • VALID_URL_DOMAINS: (optional) Set a comma separated list of domain urls that are allowed to be converted into RSS (defaults to YouTube and Twitch urls)

Honorable Mentions

These projects were fundamental for the success of vod2pod-rss, originally they handled the feed generation for youtube and twitch, now this is all done by vod2pod-rss internally so they are not used anymore, but were still helpful to get vod2pod-rss up and running fast.

Donations

This is a passion project, and mostly made for personal use, but if you want to gift a pizza margherita, feel free!

"Buy Me A Coffee"

Contributing

check the CONTRIBUTING.md to find a tutorial on how to setup your enviroment for develpment

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.