This is a simple script to generate a .opml file from a list of youtube channels.

Related tags

Videoyoutube-to-rss
Overview

Youtube to rss

Don't spend more time than you need to on youtube.com

This is a simple script to generate a .opml file from a list of youtube channels.

Since the subscriptions tab and the little bell that you need to click to actually get notifications on new uploads seem to work whenever youtube feels like it (and since email notifications no longer exist) I wanted to get an rss feed from the channels I wanted to actually follow.

Youtube used to have a button to do this but now I can't seem to find a way to follow a channel via RSS.

How to get an rss feed for a youtube channel

To get a channels RSS feed:

  1. Go to the channel you want to follow
  2. Find the channel ID
  • If the url looks like this: https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw then the ID is the random string after channell (ie UCYO_jab_esuFRV4b17AJtAw)
  • If the url has a username like this https://www.youtube.com/user/USERNAME you can find their ID by
    • Viewing the page source (Ctrl+U)
    • Search the page (Ctrl+F) for external_id or channel_id or simply youtube/channel/ and copy the string that follows.
  1. Point to the channel with this url: https://www.youtube.com/feeds/videos.xml?channel_id=THE_CHANNEL_ID_HERE

The above is a valid RSS feed you can add to the reader of your choice. You can also follow by user via this link https://www.youtube.com/feeds/videos.xml?user=USERNAME and by playlist https://www.youtube.com/feeds/videos.xml?playlist_id=YOUR_YOUTUBE_PLAYLIST_NUMBER though there may be a querry limit that breaks this, I haven't tested it myself.

How to get a list of your subscriptions

There also used to be a button to extract your subsciptions to RSS but it is no longer there. The only ways I found to get a list of subscribed channels are:

  1. Crawl this here link subscription list (which is a pain to find as well) and extract the channel links.
  2. Do the above by hand
  3. Request for an API key and use the developer console to possibly get access.
  4. Ask for google for your data here. You only need to check the "Youtube and Youtube Music" box. Check in the zip file after downloading for subscriptions.csv (or similar in case something changes)

Sadly the easiest and least complicated option is number 4. This script will work with any csv that contains channel IDs and names but by default assumes the google takeout format. The choice is given anyway.

How to use this script

  1. Download the script to a directory you have permissions to write to. (eg Desktop or Downloads should work)
  2. Run the script by running the command python3 youtube-to-rss.py in your terminal. You need to have python3 installed.
  3. Point the script to a .csv file with the youtube channels you want to track via RSS by following the instrucitons.
  4. Import the resulting .opml file to the RSS reader of your choice.

What does it do ?

This script is mostly user interaction fluff. Basically it looks for a .csv file with a collumn of channel IDs and another of channel names. It then creates the rss links as described above and finally formats them as a basic opml/xml file to import them in a reader. By default it places each channel in its own folder. If this is not the desired behaviour there is a function called add_channel_nofolder commmented out in the code. To use that one and have all the channels in a single folder comment out the add_channel function, uncommnent the add_channel_nofolder and rename it to add_channel. (I may add this as a choice in user dialog in the future)

Plaintext links just in case

subscription list - https://www.youtube.com/feed/channels

google takeout - https://takeout.google.com/

google developer console - https://console.developers.google.com/

python installation guide - https://realpython.com/installing-python/

Owner
Kostas
Kostas
Tiny python video cutter

tiny_python_video_cutter Source code based on a discussion in StackOverflow Setup project in Pycharm: Configure virtual env in Pycharm. You are done w

Truong 2 May 28, 2022
Ffmpeg videostream - High speed video frame access in Python, using FFmpeg and FFshow

FFmpeg VideoStream High speed video frame access in Python, using FFmpeg and FFshow This script requires: Karl Kroening's 'ffmpeg-python' library. (ht

3 Sep 29, 2022
A telegram bot for compressing/encoding videos in h264 format.

Video-Encoder-Bot a telegram bot for compressing/encoding videos in h264 format. Configuration Add values in environment variables or add them in conf

Weeb >.< 61 Dec 29, 2022
Python Simple Mass Video Clipper (PSMVC)

Python Simple Mass Video Clipper (PSMVC) PSMVC é um gerador de cortes via terminal construído em python. Uso Basta abrir o arquivo start.py Dependenci

Bruno 2 Oct 16, 2021
Code for the manim-generated scenes used in 3blue1brown videos

Code for the manim-generated scenes used in 3blue1brown videos

Grant Sanderson 4.1k Jan 09, 2023
Video processing routines for SciPy

scikit-video Video Processing SciKit BETA Video processing algorithms, including I/O, quality metrics, temporal filtering, motion/object detection, mo

Alex Izvorski 119 Dec 27, 2022
Examples of usage of GStreamer hlssink3 plugin.

Examples of usage of GStreamer hlssink3 plugin.

Rafael Carício 2 Aug 03, 2022
Uncompress DEFLATE streams in pure Python

stream-deflate Uncompress DEFLATE streams in pure Python. Work in progress. This README serves as a rough design spec. Installation pip install stream

Michal Charemza 7 Oct 13, 2022
Wonkey - an open source programming language for the creation of cross-platform video games

Wonkey Programming Language Wonkey is an open source programming language for the creation of cross-platform video games, highly inspired by the “Blit

Wonkey Coders 110 Nov 09, 2022
A free project by a normal kamenrider fan

DEMONS DRIVER Python + OpenCV demons.py采集原视频中led灯珠颜色,并将结果输出到output文件夹 Arduino + WS2812B 基于FastLED 实现DEMONS驱动器的led面板效果 项目未完成,持续更新中 --------------------

2 Nov 14, 2022
A Telegram bot to convert videos into x265/x264 format via ffmpeg.

Video Encoder Bot A Telegram bot to convert videos into x265/x264 format via ffmpeg. Configuration Add values in environment variables or add them in

Adnan Ahmad 82 Jan 03, 2023
Synchronize Two Cameras in Real Time using Multiprocessing

Synchronize Two Cameras in Real Time using Multiprocessing In progress ... 📁 Project Structure 📚 Install Libraries for this Project (requirements.tx

Eduardo Carvalho Nunes 2 Oct 31, 2021
A script to disable steam servers regionwise. [Works on Windows only]

Csgo-server-blocker A script to disable steam servers regionwise. [Works on Windows only] Dependencies python3.x Usage: pip install requirements.txt I

Aditya Bennur 2 Jun 10, 2022
Webcam Indicator is an application to recieve and send messages from your own Webcam Server.

Welcome to Webcam Indicator 👋 Webcam Indicator is an application to recieve and send messages from your own Webcam Server. 🏠 Homepage Prerequisites

Lorenzo Carbonell 2 Apr 04, 2022
Simple background blur for your webcam

backgroundblur Simple background blur for your webcam. This script will capture your webcams output, add a blur effect to the background and output th

Stefan Wagner 4 Dec 07, 2021
GStreamer Inspector GUI

gst-explorer GStreamer GUI Interface Tool GUI interface for inspecting GStreamer Plugins, Elements and Type Finders. Expects Python3 Qt, PyQt5 and GSt

Jetsonhacks 31 Nov 29, 2022
OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality video editing and animation solutions to the world.

OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality v

OpenShot Studios, LLC 3.1k Jan 01, 2023
A python youtube search module

A python youtube search module

Fayas Noushad 4 Dec 01, 2021
This plugin generates json files used by deovr allowing you to play 2d and 3d video's using the player

deovr-plugin This plugin generates json files used by deovr allowing you to play 2d and 3d video's using the player. Deovr looks for an index file /de

10 Sep 29, 2022
All the code in these repos was created and explained by HashLips on the main YouTube channel.

Welcome to HashLips 👄 All the code in these repos was created and explained by HashLips on the main YouTube channel. To find out more please visit: ?

HashLips 6.7k Jan 06, 2023