#youtube #终端 #TUI #Raspberry Pi #CLI

app youtube-subscriptions

查看 YouTube 订阅的终端 UI

18 个版本

0.2.80 2023年12月30日
0.2.79 2023年11月13日
0.2.77 2023年10月16日
0.2.74 2020年11月17日
0.1.0 2019年6月23日

#294命令行工具

Download history 3/week @ 2024-04-23 120/week @ 2024-04-30 20/week @ 2024-07-02 56/week @ 2024-07-23 29/week @ 2024-07-30

85 每月下载量

MITGPL-3.0-or-later

72KB
2K SLoC

Discord

youtube-subscriptions

查看 YouTube 和/或 PeerTube 订阅的终端 UI。特别适合 Raspberry Pi。

要求

  • mpv 用于流式传输视频(如果启用了 mpv_mode(默认))
  • youtube-dl 用于下载 YouTube 视频(如果禁用了 mpv_mode
  • omxplayervlcmplayermpv 用于播放视频

安装

您可以从 发布页面 下载自包含的二进制文件

设置(YouTube)

创建一个 subscription_manager 文件

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

转到您的频道页面: https://www.youtube.com/feed/channels 将页面滚动到底部直到所有频道都已加载。将页面的源代码保存到 channels.html

然后通过运行以下命令恢复您的频道列表(如果您有大量频道,这可能需要很长时间)

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

将这些 ID 复制到 channel_ids 列表中(请参阅配置部分)

设置(PeerTube)

创建一个配置文件(请参阅配置部分),并将您想注册的频道 URL 添加到 channel_urls 列表中。

后台模式

有时重新加载视频列表可能需要很长时间。

为了避免阻塞主应用程序,您可以在单独的进程中运行视频重新加载。

只需使用 --background 标志(您可以在 cron 中使用它),然后您可以使用 r 重新加载主 UI。

使用方法

按 h 键获取帮助。

配置

您可以选择在以下位置添加用户配置

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

示例

{
  "video_path": "__HOME/.cache/yts/videos",
  "cache_path": "__HOME/.cache/yts/yts.json",
  "youtubedl_format": "[height <=? 360][ext = mp4]",
  "youtube_instance": "https://invidious.privacydev.net/",
  "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"
}

字段 描述 默认值
video_path 视频存储的目录 /tmp
cache_path 视频列表存储的文件路径 /tmp/yts.json
blockish_player blockish player 要使用(替代 players) None
players 视频播放器命令列表,按优先级排序
youtubedl格式 请参阅youtube-dl文档 [高度<=? 360][扩展名=mp4]
youtube_instance 用于打开视频的invidious/youtube实例 https://www.youtube.com/
视频扩展名 根据格式指定的youtube-dl视频扩展名 mp4
kind_symbols 描述媒体的字符哈希 { "音频": "a", "视频": "v", "磁力链接": "m", "其他": "o" }
channel_ids 将同时抓取的附加频道ID列表 []
channel_urls 将同时抓取的附加频道URL列表(可用于peertube) []
mpv_mode 尝试首先启动mpv播放youtubee视频 true
mpv_path mpv二进制文件的路径(如果mpv_mode为true,则将使用它) /usr/bin/mpv
open_magnet 用于打开磁力链接的工具(例如transmission-remote-cli) None
auto_thumbnail_path 当光标移动时写入缩略图的文件路径 None

__HOME将被替换为家目录。

为树莓派交叉编译

只需运行

./cross-build-raspberry.sh

二进制文件将在target/arm-unknown-linux-gnueabihf/release/youtube-subscriptions

依赖项

~23–63MB
~1M SLoC