youtube-subscriptions
terminal UI for viewing youtube and/or peertube subscriptions. Especially well suited for Raspberry Pi.
requirements
- mpv to stream videos (if
mpv_mode
is enabled (default)) - youtube-dl to download youtube videos (if
mpv_mode
is disabled) - omxplayer or vlc or mplayer or mpv to play videos
installing
You can download a self-contained binary from releases page
setup (youtube)
Download your youtube subscriptions OPML (you can do that by pressing 'c' in the app).
and save it as the following file: ~/.config/youtube-subscriptions/subscription_manager
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