深入解析ytfzf:一款强大的视频搜索与播放工具

深入解析ytfzf:一款强大的视频搜索与播放工具

ytfzf A posix script to find and watch youtube videos from the terminal. (Without API) ytfzf 项目地址: https://gitcode.com/gh_mirrors/yt/ytfzf

工具概述

ytfzf是一个基于POSIX标准的命令行工具,它能够帮助用户从多个视频平台(包括知名视频网站、PeerTube和Odysee)搜索和播放视频内容,而无需依赖任何API。该工具通过mpv和视频下载工具实现视频的播放和下载功能,为终端用户提供了高效便捷的视频访问体验。

核心功能

1. 视频搜索与播放

ytfzf的核心功能是视频搜索与播放,它支持:

  • 多平台搜索(知名视频网站、PeerTube、Odysee)
  • 无API依赖的直接访问
  • 灵活的播放选项(mpv播放器集成)
  • 下载功能(通过视频下载工具实现)

2. 高级搜索操作符

ytfzf提供了一系列特殊的搜索操作符来增强搜索能力:

  • :help - 显示当前使用的抓取器的帮助信息
  • 其他平台特定的操作符(取决于使用的抓取器)

快捷键系统

ytfzf内置了一套直观的快捷键系统,主要作用于支持快捷键的菜单界面(如fzf):

| 功能 | 快捷键 | 对应配置变量 | |------|--------|--------------| | 下载 | alt-d | download_shortcut | | 观看视频 | alt-v | video_shortcut | | 仅音频 | alt-m | audio_shortcut | | 分离模式 | alt-e | detach_shortcut | | 打印链接 | alt-l | print_link_shortcut | | 显示格式 | alt-f | show_formats_shortcut | | 显示全部信息 | alt-i | info_shortcut | | 新搜索 | alt-s | search_again_shortcut | | 抓取下一页 | ctrl-p | next_page_action_shortcut |

主要配置选项

1. 播放与下载控制

  • -d/--download:下载选中视频
  • -m/--audio-only:仅播放音频
  • -f/--formats:播放前显示可用格式
  • --detach:从终端分离视频播放器
  • -u/--url-handler:指定URL处理器

2. 信息获取选项

  • -I:获取视频信息而非播放
    • L/l/link:视频URL
    • VJ/vj/video-json:视频JSON
    • J/j/json:搜索结果JSON
    • F/f/format:视频格式
    • R/r/raw:原始数据

3. 界面自定义

  • -l/--loop:视频结束后重新打开菜单
  • -s/--search-again:关闭fzf后执行新搜索
  • -t/--show-thumbnails:显示缩略图
  • -T/--thumb-viewer:指定缩略图查看器
  • -D/--external-menu:使用外部菜单(默认dmenu)

4. 自动选择功能

  • -a/--auto-select:自动播放第一个结果
  • -A/--select-all:选择所有结果
  • -r/--random-select:随机选择一个结果播放
  • -S/--select:选择特定视频(支持sed语法)

抓取器系统

ytfzf的强大之处在于其灵活的抓取器系统,支持多种视频来源:

主要内置抓取器

  1. 视频网站相关

    • video-site/Y:通过API搜索
    • video-site-channel:抓取视频频道
    • video-site-playlist:抓取播放列表
    • video-site-trending:获取热门视频
  2. 其他平台

    • peertube/P:PeerTube平台
    • odysee/O:Odysee平台
  3. 实用功能

    • history/H:搜索历史记录
    • url/U:直接打开URL
    • comments:视频评论抓取

抓取器选项

  • --pages:抓取页数
  • --max-threads:最大线程数
  • --sort-by:结果排序方式
  • --upload-date:按上传时间筛选
  • --video-duration:视频时长筛选
  • --type:结果类型筛选

配置与扩展

ytfzf提供了高度可定制的配置系统:

配置文件

默认配置文件位于:

  • $YTFZF_CONFIG_DIR/conf.sh
  • $YTFZF_CONFIG_DIR/subscriptions(订阅文件)
  • $YTFZF_CONFIG_DIR/scrapelist(抓取列表)

插件系统

ytfzf支持多种插件类型:

  1. 界面插件(interfaces)
  2. 抓取器插件(scrapers)
  3. 排序插件(sort-names)
  4. 缩略图查看器(thumbnail-viewers)
  5. URL处理器(url-handlers)
  6. 扩展插件(extensions)

插件安装位置为$YTFZF_SYSTEM_ADDON_DIR/<插件类型>/插件名称

实用技巧

  1. 多搜索功能:使用--multi-search选项,用逗号分隔多个搜索词
  2. 缩略图自定义:通过$YTFZF_CUSTOM_THUMBNAILS_DIR使用自定义缩略图
  3. 格式选择:使用--format-selection指定格式选择界面类型
  4. 区域限制:通过--region指定搜索区域(国家代码)

环境变量

ytfzf使用多个环境变量控制其行为:

  • YTFZF_CONFIG_DIR:配置文件目录
  • YTFZF_THUMBNAIL_VIEWERS_DIR:缩略图查看器目录
  • YTFZF_CUSTOM_SCRAPERS_DIR:自定义抓取器目录
  • YTFZF_CUSTOM_INTERFACES_DIR:自定义界面目录

总结

ytfzf是一个功能强大且高度可定制的命令行视频工具,它通过简洁的界面和丰富的功能集,为用户提供了从搜索到播放的一站式视频体验。无论是日常的视频观看需求,还是特定的视频内容获取任务,ytfzf都能提供高效灵活的解决方案。通过合理的配置和插件扩展,用户可以打造完全符合个人需求的视频工作流。

ytfzf A posix script to find and watch youtube videos from the terminal. (Without API) ytfzf 项目地址: https://gitcode.com/gh_mirrors/yt/ytfzf

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郝钰程Kacey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值