⬆️ deps: Update dependencies (non-major) (#449) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
⬆️ deps: Update dependencies (non-major) (#449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
🧊 yutto,一个可爱且任性的 B 站视频下载器(CLI)
完整静态文档在这里喔 → yutto
[!TIP] 如果在使用过程中遇到问题,请通过 Issues 反馈功能正确性问题和功能请求,其他问题请通过 Discussions 反馈~
[!TIP]
如果在使用过程中遇到问题,请通过 Issues 反馈功能正确性问题和功能请求,其他问题请通过 Discussions 反馈~
yutto 是一个 B 站视频下载器,它可以帮助你下载 B 站上的投稿视频、番剧、课程等资源,支持单个视频下载、批量下载等功能,就像这样:
❯ yutto https://www.bilibili.com/video/BV1ZEf9YiE2h/ INFO 发现配置文件 yutto.toml,加载中…… 大会员 成功以大会员身份登录~ 投稿视频 植物大战僵尸融合版2.2正式版宣传片 INFO 开始处理视频 植物大战僵尸融合版2.2正式版宣传片 INFO 共包含以下 15 个视频流: INFO * 0 [AVC ] [1920x1080] <1080P 60帧> #3 INFO 1 [HEVC] [1920x1080] <1080P 60帧> #3 INFO 2 [AV1 ] [1920x1080] <1080P 60帧> #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 开始下载…… ━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━ 39.05 MiB/ 72.13 MiB 32.22 MiB/⚡
目前 yutto 已经可以通过部分包管理器直接安装~
使用 Homebrew 的用户可以尝试下下面的命令:
brew tap siguremo/tap brew install yutto
使用 paru(Arch 上的 AUR 包管理器)的用户可以尝试下这样的命令(感谢 @ouuan):
paru -S yutto
你也可以尝试使用 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 的默认行为一致啦,也是下载到当前目录下~
-v <path>:/app
/app
<path>
$(pwd)
[!TIP] 在此之前请确保安装 Python3.9 及以上版本,并配置好 FFmpeg(参照 bilili 文档)
在此之前请确保安装 Python3.9 及以上版本,并配置好 FFmpeg(参照 bilili 文档)
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 更快些~)。
[!TIP] 这同样要求你自行配置 Python 和 FFmpeg 环境
这同样要求你自行配置 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 -h
如果你需要下载单个视频,只需要使用 yutto 加上这个视频的地址即可。它支持 av/BV 号以及相应带 p=n 参数的投稿视频页面,也支持 ep 号(episode_id)的番剧页面。
比如只需要这样你就可以下载《転スラ日記》第一话:
yutto https://www.bilibili.com/bangumi/play/ep395211
yutto 还支持直接使用能够唯一定位资源的 id 来作为 <url>,刚刚的功能与下面的简化后的命令功能是完全一样的
<url>
yutto ep395211
不过有时你可能想要批量下载很多剧集,因此 yutto 提供了用于批量下载的参数 -b/--batch,它不仅支持前面所说的单个视频所在页面地址(会解析该单个视频所在的系列视频),还支持一些明确用于表示系列视频的地址,比如 md 页面(media_id)、ss 页面(season_id)。
-b/--batch
比如像下面这样就可以下载《転スラ日記》所有已更新的剧集:
yutto --batch https://www.bilibili.com/bangumi/play/ep395211
yutto 还支持很多功能,限于篇幅不在 README 中展示,你可以前往 yutto 文档 查看更多详细内容~
README
你也可以通过这些应用来使用 yutto
请阅读 CONTRIBUTING.md
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
yutto
🧊 yutto,一个可爱且任性的 B 站视频下载器(CLI)
完整静态文档在这里喔 → yutto
什么是 yutto?
yutto 是一个 B 站视频下载器,它可以帮助你下载 B 站上的投稿视频、番剧、课程等资源,支持单个视频下载、批量下载等功能,就像这样:
从安装开始~
包管理器一键安装啦
目前 yutto 已经可以通过部分包管理器直接安装~
使用 Homebrew 的用户可以尝试下下面的命令:
使用 paru(Arch 上的 AUR 包管理器)的用户可以尝试下这样的命令(感谢 @ouuan):
使用 Docker
你也可以尝试使用 docker 直接运行 yutto(具体如何运行需要参考下后面的内容~)
与直接运行 yutto 不同的是,这里的下载目标路径是通过
-v <path>:/app
指定的,也就是说 docker 里的 yutto 会将内容下载到 docker 里的/app
目录下,与之相对应的挂载点<path>
就是下载路径。你也可以直接挂载到$(pwd)
,此时就和本机 yutto 的默认行为一致啦,也是下载到当前目录下~pip/pipx/uv 安装
当然,你也可以通过 pipx/uv 来安装 yutto(当然,前提是你要自己先安装它)
pipx/uv 会类似 Homebrew 无感地为 yutto 创建一个虚拟环境,与其余环境隔离开,避免污染 pip 的环境,因此相对于 pip,pipx/uv 是更推荐的安装方式(uv 会比 pipx 更快些~)。
体验 main 分支最新特性
有些时候有一些在 main 分支还没有发布的新特性或者 bugfix,你可以尝试直接安装 main 分支的代码,最快的方式仍然是通过 pip 安装,只不过需要使用 git 描述符
主要功能
基本命令
yutto 的基本命令如下:
你可以通过
yutto -h
查看详细命令参数。如果你需要下载单个视频,只需要使用 yutto 加上这个视频的地址即可。它支持 av/BV 号以及相应带 p=n 参数的投稿视频页面,也支持 ep 号(episode_id)的番剧页面。
比如只需要这样你就可以下载《転スラ日記》第一话:
yutto 还支持直接使用能够唯一定位资源的 id 来作为
<url>
,刚刚的功能与下面的简化后的命令功能是完全一样的不过有时你可能想要批量下载很多剧集,因此 yutto 提供了用于批量下载的参数
-b/--batch
,它不仅支持前面所说的单个视频所在页面地址(会解析该单个视频所在的系列视频),还支持一些明确用于表示系列视频的地址,比如 md 页面(media_id)、ss 页面(season_id)。比如像下面这样就可以下载《転スラ日記》所有已更新的剧集:
更多功能
yutto 还支持很多功能,限于篇幅不在
README
中展示,你可以前往 yutto 文档 查看更多详细内容~其他应用
你也可以通过这些应用来使用 yutto
Roadmap
2.0.0
future
参与贡献
请阅读 CONTRIBUTING.md