ytfzf 是一个脚本,通过在引擎盖下使用 mpv 和 youtube-dl 来搜索、下载和播放 YouTube 视频。 它适用于 Linux 和 macOS。 命令行脚本今天发布了第一个稳定版 (1.0.0)。
该工具最初是作为单行脚本开始的,但后来不断发展,最近获得了在终端中显示 YouTube 缩略图的能力以及其他增强功能。
对于每个 YouTube 搜索查询,右侧窗格中都会显示结果列表。 在左侧,您可以看到所选视频标题、发布视频的频道、观看次数、视频时长、上传日期和视频缩略图(可选)。
使用 Up
和 Down
箭头键浏览搜索结果,然后按 Enter
播放视频的键(或下载它,ytfzf 以 -d
命令行参数)。 默认情况下,视频使用 mpv 播放,但您可以使用其他视频播放器更改此设置,只要它能够启动 YouTube 链接即可。
缩略图是使用 Überzug 实现的,该命令行实用程序允许使用子窗口在终端上绘制图像。 由于 Überzug 仅适用于 X11,因此 ytfzf 视频缩略图功能也与 X11 会话相关联,并且不适用于 Wayland。 另外,不要指望这会在 tty 中工作 – 它显然不会。
值得注意的是,视频缩略图有时可能会显示在终端窗口之外。 在这种情况下,您需要调整终端的大小,然后按 Up
/ Down
箭头键选择不同的视频,它将使用更新的缩略图大小。
除此以外, ytfzf 还具有对视频历史记录的支持,允许选择媒体格式,并且可以对多个轨道进行排队(使用 fzf 多选)。 您可以使用 fzf、dmenu 或 rofi 搜索 YouTube 视频并播放/下载。
其他功能包括仅播放/下载音频、自动播放和重复 YouTube 视频、播放随机搜索结果以及在继续之前显示可用媒体格式的选项。
查看 ytfzf --help
获取完整的选项列表。
对于未来的版本,开发者打算实现对 YouTube 播放列表和评论的支持. 不过,这些功能何时实施还没有时间表。
[[Edit]]在 ytfzf 1.1.0 中,该工具增加了对订阅的支持,这使您可以轻松地在订阅频道的视频之间进行搜索。
相关:如何使用 youtube-dl(命令行)下载 YouTube 播放列表并将其转换为 MP3
配置和使用 ytfzf
ytfzf 配置可以在 ~/.config/ytfzf/conf.sh
文件,或使用环境变量。 让我们用 ~/.config/ytfzf/conf.sh
设置下面的所有内容。 创建 ~/.config/ytfzf
文件夹:
mkdir ~/.config/ytfzf
现在开放 ~/.config/ytfzf/conf.sh
在文本编辑器中(创建它,因为它不存在),并粘贴以下内容:
YTFZF_HIST=1 # history is on by default it can be set to -> 0 history off, 1: history on
YTFZF_LOOP=0 # if set to 1 it is on but normally it is off by default. Can be turned on using option -l
YTFZF_PREF="bestvideo[height<=?1080]+bestaudio/best" # set the video format
YTFZF_ENABLE_FZF_DEFAULT_OPTS=1 # fzf colors are going to be the one from your fzf configuration
FZF_PLAYER="mpv" # sets the video player used by ytfzf (mpv by default), e.g. FZF_PLAYER="devour mpv"; you can also specify the YTFZF_PLAYER_FORMAT, e.g. YTFZF_PLAYER_FORMAT="devour mpv --ytdl-format="
这是一个示例配置。 您可以更改其中一些设置,按原样使用它们,或取消注释以使用默认值。 您可以在此处找到更多配置选项。
使用 ytfzf 就像运行一样简单:
ytfzf
输入此命令后,系统会提示您输入 YouTube 搜索查询,如下所示:
$ ytfzf
Search Youtube:
您可以直接指定搜索查询,因此 ytfzf 不会提示您进行查询,如下所示:
ytfzf <query>
但是,使用此功能时,YouTube 搜索结果不会有缩略图。 启用缩略图, 运行 ytfzf -t
(或者 --thumbnails
) 命令行参数:
ytfzf -t
默认情况下,当您点击时,ytfzf 会播放您搜索结果中的视频 Enter
. 如果你想 下载视频而不是播放它, 使用 -d
命令行参数:
ytfzf -d
想要在 ytfzf(以及 mpv)中对 YouTube 视频进行排队? 按 Tab
选择要添加到队列中的每个视频,以 mpv 格式播放。 用 >
和 <
(所以使用 Shift + >
和 Shift + <
) 在队列中导航到下一个和上一个视频。
有关配置和使用 ytfzf 的更多详细信息,包括如何将其与外部菜单(如 dmenu 或 rofi)一起使用,请参阅其项目页面。
使用 browser-mpris2(Chrome 扩展程序)将 YouTube 播放器控件添加到您的 Linux 桌面
安装 ytfzf
ytfzf 可以从 Arch Linux / Manjaro 上的 AUR 安装,并使用 Gentoo 上的nitrosky 覆盖。 您也可以在 macOS 上安装它。
对于其他 Linux 发行版,安装 ytfzf 相当容易,因为它只是一个脚本。 不过,您需要手动安装其依赖项: mpv
, youtube-dl
, fzf
(可选,用于菜单), jq
和 ueberzug
(可选,对于视频缩略图;这也有一些依赖性)。 我们还需要 git
获取最新的 ytfzf。
下面您将找到在 Debian/Ubuntu/Linux Mint/Pop!_OS 和其他基于 Debian 或 Ubuntu 的 Linux 发行版上安装 ytfzf 的分步说明,以及 Fedora. 您可以在任何其他 Linux 发行版上安装 ytfzf,如下所述,但您需要自己找出 Linux 发行版的依赖项名称。
提醒一下,视频缩略图在 Wayland 上不起作用,所以如果您使用 Fedora 或默认使用 Wayland 的 Ubuntu 21.04,您可以不使用缩略图使用它,也可以从登录屏幕从 Wayland 切换到 X11 会话。
1. 安装 ytfzf 依赖项,以及 Üeberzug 依赖项。
- Debian / Ubuntu / Linux Mint / Pop!_OS:
sudo apt install jq mpv fzf git python3-pip python3-wheel python3-dev python3-xlib libx11-dev libxext-dev make
- Fedora (还需要添加 RPMFusion 存储库以安装 mpv):
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install jq mpv fzf git python3-pip python3-wheel python3-devel python3-xlib libX11-devel libXext-devel make
对于任何 Linux 发行版: 由于 youtube-dl 通常在存储库中更新(至少在 Debian / Ubuntu 上),让我们从 PyPi 安装它。 我们还需要以相同的方式安装 ueberzu:
python3 -m pip install --user youtube-dl ueberzug
如果您已经从存储库中安装了 youtube-dl 软件包,那么删除它可能是个好主意。 您可以稍后使用更新 youtube-dl python3 -m pip install --user --upgrade youtube-dl
2. 获取 ytfzf GitHub 仓库,并安装 ytfzf:
git clone https://github.com/pystardust/ytfzf
cd ytfzf
sudo make install
这会将 ytfzf 脚本安装到 /usr/bin
.
如果您以后想卸载它,请导航到 ytfzf 目录并运行:
sudo make uninstall
你可能喜欢: 奥利维亚: Cloud- 基于 YouTube 支持和超过 25,000 个在线广播电台的音乐播放器
通过 r/unixporn