youtube-subscriptions 0.2.76

terminal UI for viewing youtube subscriptions
youtube-subscriptions-0.2.76 is not a library.

Discord

youtube-subscriptions

terminal UI for viewing youtube and/or peertube subscriptions. Especially well suited for Raspberry Pi.

requirements

installing

You can download a self-contained binary from releases page

setup (youtube)

Create an subscription_manager file:

echo '<opml></opml>' > ~/.config/youtube-subscriptions/subscription_manager

Go to your channel page: https://www.youtube.com/feed/channels Scroll to the bottom of the page til all your channels are loaded. Save the source of the page in channels.html.

Then recover your channels list by running the following command (can take a long time if you have a lot of channels)

./extract-channel-ids.sh channels.html | tee channel_ids

copy all those id in channel_ids list (see configuration section)

setup (peertube)

Create a configuration file (see configuration section) and add the channel urls you want to register to channel_urls list.

usage

press h for help.

configuration

You can optionnaly add a user configuration at

$HOME/.config/youtube-subscriptions/config.json

example:

{
  "video_path": "__HOME/.cache/yts/videos",
  "cache_path": "__HOME/.cache/yts/yts.json",
  "youtubedl_format": "[height <=? 360][ext = mp4]",
  "video_extension": "mp4",
  "kind_symbols": {
    "Audio": "",
    "Video": "",
    "Other": ""
  },
  "players": [
    ["/usr/bin/mplayer", "-fs"]
  ],
  "channel_ids": [],
  "channel_urls": [],
  "mpv_mode": true,
  "mpv_path": "/usr/local/bin/mpv"
}

field description default value
video_path directory where videos will be stored /tmp
cache_path file path where video list will be stored /tmp/yts.json
blockish_player blockish player to use (supersedes players) None
players list of players command for videos in order of priority
youtubedl_format see youtube-dl doc [height <=? 360][ext = mp4]
video_extension youtube-dl video extension as per format mp4
kind_symbols hash of characters to describe the media { "Audio": "a", "Video": "v", "Magnet": "m", "Other": "o" }
channel_ids list of additional channel ids which will be also fetched []
channel_urls list of additional channel urls which will be also fetched (can be used for peertube) []
mpv_mode try and start mpv to play the youtubee video first true
mpv_path path to mpv binary (will be use if mpv_mode is true) /usr/bin/mpv
open_magnet tool to use to open magnet links (e.g. transmission-remote-cli None

__HOME will be substituted with the home path.

cross compiling for raspberry pi

simply run:

./cross-build-raspberry.sh

binary will be in target/arm-unknown-linux-gnueabihf/release/youtube-subscriptions