yutto

yutto-devGPL-3.0活跃维护

用 Python 写的 B 站视频下载器,支持番剧、弹幕和多线程异步下载,跨平台可用,适合批量保存视频和弹幕。

:ice_cube: 一个可爱且任性的 B 站视频下载器

v2.3.1发布于 2026-08-28 14:22 UTC2,155star +17 / 7 天182fork同步于 2026-11-10 17:47 UTC

怎么上手

由 README 提炼,执行前请确认
pip install yutto
yutto <url>
硬件要求按 README 说明

README 未说明硬件要求,仅要求 Python 3.11 及以上并配置好 FFmpeg

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

yutto 是命令行 B 站视频下载器,支持投稿、番剧、课程等资源下载

用 Python 写的 B 站视频下载器,支持番剧、弹幕和多线程异步下载,跨平台可用,适合批量保存视频和弹幕。

核心能力

  • 支持 av/BV 号、ep 号及纯 id 直接定位资源
  • 用 -b/--batch 批量下载系列视频、md/ss 页面
  • 可列出并选择视频流与音频流清晰度
  • 自动生成 ASS 弹幕文件
  • 支持 yutto.toml 配置文件与大会员登录

容易踩的坑

需自行安装并配置 FFmpeg,否则无法正常下载;pip 安装要求 Python 3.11 及以上;用 Docker 运行时下载路径需通过 -v :/app 挂载指定

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.3.1
  1. v2.3.1最新正式版2026-08-28 · 2026-08-28 14:22 UTC

    What's Changed

    New Contributors

    Full Changelog: https://github.com/yutto-dev/yutto/compare/v2.3.0...v2.3.1

  2. v2.3.02026-08-22 · 2026-08-22 08:01 UTC
    查看更新说明

    What's Changed

  3. [email protected]2026-08-01 · 2026-08-01 19:04 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/yutto-dev/yutto/compare/[email protected]@2.5.0

  4. [email protected]2026-06-13 · 2026-06-13 15:50 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/yutto-dev/yutto/compare/[email protected]@2.4.0

  5. v2.2.02026-03-28 · 2026-03-28 13:28 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/yutto-dev/yutto/compare/v2.1.1...v2.2.0

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    yutto

    完整静态文档在这里喔 → yutto

    [!TIP]

    如果在使用过程中遇到问题,请通过 Issues 反馈功能正确性问题和功能请求,其他问题请通过 Discussions 反馈~

    什么是 yutto?

    yutto 是一个 B 站视频下载器,它可以帮助你下载 B 站上的投稿视频、番剧、课程等资源,支持单个视频下载、批量下载等功能,就像这样:

    ❯ yutto https://www.bilibili.com/video/BV1CTMHziEaB/
     INFO  发现配置文件 yutto.toml,加载中……
     大会员  成功以大会员身份登录~
     投稿视频  《原神》动画短片——「尘间星旅」
     INFO  开始处理视频 《原神》动画短片——「尘间星旅」
     INFO  共包含以下 15 个视频流:
     INFO  * 0 [AVC ] [1920x1080] <1080P 高码率> #3
     INFO    1 [HEVC] [1920x1080] <1080P 高码率> #3
     INFO    2 [AV1 ] [1920x1080] <1080P 高码率> #3
     INFO    3 [AVC ] [1920x1080] <1080P 高清> #3
     INFO    4 [HEVC] [1920x1080] <1080P 高清> #3
     INFO    5 [AV1 ] [1920x1080] <1080P 高清> #3
     INFO    6 [AVC ] [1280x720 ] <720P 准高清> #3
     INFO    7 [HEVC] [1280x720 ] <720P 准高清> #3
     INFO    8 [AV1 ] [1280x720 ] <720P 准高清> #3
     INFO    9 [AVC ] [ 852x480 ] <480P 标清 > #3
     INFO   10 [HEVC] [ 852x480 ] <480P 标清 > #3
     INFO   11 [AV1 ] [ 852x480 ] <480P 标清 > #3
     INFO   12 [AVC ] [ 640x360 ] <360P 流畅 > #3
     INFO   13 [HEVC] [ 640x360 ] <360P 流畅 > #3
     INFO   14 [AV1 ] [ 640x360 ] <360P 流畅 > #3
     INFO  共包含以下 3 个音频流:
     INFO  * 0 [MP4A] <320kbps >
     INFO    1 [MP4A] < 64kbps >
     INFO    2 [MP4A] <128kbps >
     弹幕  ASS 弹幕已生成
     INFO  开始下载……
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━  49.25 MiB/ 54.30 MiB 32.22 MiB/⚡
    

    从安装开始~

    包管理器一键安装啦

    目前 yutto 已经可以通过部分包管理器直接安装~

    使用 Homebrew 的用户可以尝试下下面的命令:

    brew tap siguremo/tap
    brew install yutto
    

    Arch Linux 用户可以从 AUR(感谢 @ouuan)或 archlinuxcn 安装:

    # 从 AUR 安装
    yay -S yutto      # 适用于 yay 用户
    paru -S yutto     # 适用于 paru 用户
    # 或者从 archlinuxcn 安装
    sudo pacman -S yutto
    

    使用 Docker

    你也可以尝试使用 docker 直接运行 yutto(具体如何运行需要参考下后面的内容~)

    docker run --rm -it -v /path/to/download:/app siguremo/yutto <url> [options]
    

    与直接运行 yutto 不同的是,这里的下载目标路径是通过 -v <path>:/app 指定的,也就是说 docker 里的 yutto 会将内容下载到 docker 里的 /app 目录下,与之相对应的挂载点 <path> 就是下载路径。你也可以直接挂载到 $(pwd),此时就和本机 yutto 的默认行为一致啦,也是下载到当前目录下~

    pip/pipx/uv 安装

    [!TIP]

    在此之前请确保安装 Python3.11 及以上版本,并配置好 FFmpeg(参照 yutto 文档的“FFmpeg 下载与配置”)

    pip install yutto
    

    当然,你也可以通过 pipx/uv 来安装 yutto(当然,前提是你要自己先安装它)

    pipx install yutto      # 使用 pipx
    uv tool install yutto   # 或者使用 uv
    

    pipx/uv 会类似 Homebrew 无感地为 yutto 创建一个虚拟环境,与其余环境隔离开,避免污染 pip 的环境,因此相对于 pip,pipx/uv 是更推荐的安装方式(uv 会比 pipx 更快些~)。

    体验 main 分支最新特性

    [!TIP]

    这同样要求你自行配置 Python 和 FFmpeg 环境

    有些时候有一些在 main 分支还没有发布的新特性或者 bugfix,你可以尝试直接安装 main 分支的代码,最快的方式仍然是通过 pip 安装,只不过需要使用 git 描述符

    pip install git+https://github.com/yutto-dev/yutto@main                 # 通过 pip
    pipx install git+https://github.com/yutto-dev/yutto@main                # 通过 pipx
    uv tool install git+https://github.com/yutto-dev/yutto.git@main         # 通过 uv
    

    主要功能

    基本命令

    yutto 的基本命令如下:

    yutto <url>
    

    你可以通过 yutto -h 查看详细命令参数。

    如果你需要下载单个视频,只需要使用 yutto 加上这个视频的地址即可。它支持 av/BV 号以及相应带 p=n 参数的投稿视频页面,也支持 ep 号(episode_id)的番剧页面。

    比如只需要这样你就可以下载《転スラ日記》第一话:

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

    yutto 还支持直接使用能够唯一定位资源的 id 来作为 <url>,刚刚的功能与下面的简化后的命令功能是完全一样的

    yutto ep395211
    

    不过有时你可能想要批量下载很多剧集,因此 yutto 提供了用于批量下载的参数 -b/--batch,它不仅支持前面所说的单个视频所在页面地址(会解析该单个视频所在的系列视频),还支持一些明确用于表示系列视频的地址,比如 md 页面(media_id)、ss 页面(season_id)。

    比如像下面这样就可以下载《転スラ日記》所有已更新的剧集:

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

    更多功能

    yutto 还支持很多功能,限于篇幅不在 README 中展示,你可以前往 yutto 文档 查看更多详细内容~

    Agent skill

    如果你有趁手的 Agent,你也可以通过如下命令来安装 yutto 的 skill:

    npx skills add https://github.com/yutto-dev/yutto --skill bilibili-video-download
    

    其他应用

    你也可以通过这些应用来使用 yutto

    • KubeSpider: 一个多功能全局资源编排下载系统,支持下载、订阅各类资源网站~

    Roadmap

    2.0.0

    • feat: 支持弹幕字体、字号、速度等设置
    • feat: 配置文件支持
    • feat: 配置文件功能优化,支持自定义配置路径
    • docs: issue template 添加配置引导
    • docs: 优化 biliass rust 重构后的贡献指南

    future

    • docs: 可爱的静态文档(WIP in #86)
    • feat: 新的基于 toml 的任务列表
    • refactor: 配置参数复用 pydantic 验证
    • refactor: 针对视频合集优化路径变量
    • refactor: 优化杜比视界/音效/全景声选取逻辑(Discussing in #62)
    • refactor: 直接使用 rich 替代内置的终端显示模块
    • feat: 更多批下载支持
    • feat: 以及更加可爱~

    参与贡献

    请阅读 CONTRIBUTING.md