yutto:B站视频,一行命令下到本地

yutto 在 GitHub 上拿到了 1.8K Star。

一个 Python 写的命令行 B 站视频下载器。投稿视频、整季番剧、课程资源,输一行命令就开始下载。弹幕同步导出为 ASS 格式,视频流和音频流按需挑选,画质从 360P 到 1080P 高码率全覆盖,AVC、HEVC、AV1 三种编码都支持。

1、能做什么

把 B 站视频存到本地。

输入一个视频链接,yutto 先把所有可用的视频流和音频流列出来。一个 1080P 的投稿视频,通常能列出 15 种视频流、3 种音频流。编码、分辨率、码率、文件大小都有标注,默认选项用星号标出。

选好画质和音质,敲回车,终端里进度条跑起来,下载速度实时显示。

弹幕功能也没落下。下载时顺手把弹幕存成 ASS 格式,配合本地播放器加载,弹幕效果跟在 B 站网页上一样。从字体、字号到滚动速度,都可以在配置文件里调。

正文顶部截图

2、安装

方式不少,选顺手的来:

pip install yutto

pipx 和 uv 会把 yutto 装进隔离环境,避免和系统 Python 包打架:

pipx install yutto
uv tool install yutto

macOS 上走 Homebrew,Arch Linux 从 AUR 装。Docker 也能跑:

docker run --rm -it -v $(pwd):/app siguremo/yutto <url>

系统上要有 Python 3.10 以上和 FFmpeg。官网文档里有 FFmpeg 的下载配置说明。

3、特点

B 站下载器市面上不少,但这个项目的几个做法不太一样。

一是跨平台且覆盖全系列资源。Windows、macOS、Linux 都能跑,投稿视频、番剧、课程都能下。

二是 TOML 配置文件。大会员 cookie、默认画质、保存路径、弹幕选项,这些都可以写进配置文件,不用每次敲一堆参数。

三是 Agent skill。提供了一条 npx 命令就能安装的 skill,配合 AI 编程工具可以直接对话式操作下载任务。同类下载器里,这个功能不多见。

4、常用命令

下单个视频,链接往里塞就行:

yutto https://www.bilibili.com/video/BV1CTMHziEaB/

支持直接用 id 精简写法:

yutto ep395211

批量下载整季番剧,加上 --batch

yutto --batch https://www.bilibili.com/bangumi/play/ep395211

别的参数跑 yutto -h 看。完整的用法文档在 yutto 官网上。

README区域截图

5、在排什么计划

2.0 版本已经交付了:弹幕字体字号速度设置、配置文件支持、biliass 的 Rust 重构、静态文档。

排在后头的任务包括:新的 TOML 任务列表格式、Pydantic 配置参数验证、视频合集路径优化、用 rich 替换终端显示模块、更多批量下载支持。

6、适合谁

  • 想离线保存 B 站视频的用户
  • 做剪辑需要下载素材的创作者
  • 用命令行比用鼠标更顺手的开发者

替换终端显示模块、更多批量下载支持。

6、适合谁

  • 想离线保存 B 站视频的用户
  • 做剪辑需要下载素材的创作者
  • 用命令行比用鼠标更顺手的开发者
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐