【BBDown】命令行哔哩哔哩下载器(支持下载TV无水印片源,支持Win/Linux/Mac)
【BBDown】命令行哔哩哔哩下载器(支持下载TV无水印片源,支持Win/Linux/Mac)
nilaodaBBDown
一款命令行式哔哩哔哩下载器. Bilibili Downloader.
注意
本软件混流时需要外部程序:
快速开始
本软件已经以 Dotnet Tool 形式发布
如果你本地有dotnet环境,使用如下命令即可安装使用
dotnet tool install --global BBDown |
如果需要更新bbdown,使用如下命令
dotnet tool update --global BBDown |
下载
Release版本:https://github.com/nilaoda/BBDown/releases
自动构建的测试版本:https://github.com/nilaoda/BBDown/actions
开始使用
下载无水印视频需要登录云视听小电视账号,部分视频可能还是会有水印,一般很火的视频是没有水印的。
目前命令行参数支持情况
Description: |
功能
- 番剧下载(Web|TV|App)
- 课程下载(Web)
- 普通内容下载(Web|TV|App)
- 合集/列表/收藏夹/个人空间解析
- 多分P自动下载
- 选择指定分P进行下载
- 选择指定清晰度进行下载
- 下载外挂字幕并转换为srt格式
- 自动合并音频+视频流+字幕流+章节信息
(使用ffmpeg或mp4box)
- 单独下载视频/音频/字幕
- 二维码登录账号
- 多线程下载
- 支持调用aria2c下载
- 支持AVC/HEVC/AV1编码
- 支持8K/HDR/杜比视界/杜比全景声下载
- 自定义存储文件名
TODO
- 自动刷新cookie
- 支持更多自定义选项
使用教程
配置文件 (NEW)
在1.4.9
或更高版本中,BBDown支持读取本地配置文件以简化命令行的手动输入。
如果用户没有指定--config-file
,则默认读取程序同目录下的BBDown.config
文件;若用户指定,则读取特定文件。
一个典型的配置文件:
#本文件是BBDown程序的配置文件 |
自定义输出文件名格式 (NEW)
在1.4.9
或更高版本中,BBDown支持用户自定义合并时的文件名组成。
代码 | 含义 |
---|---|
<videoTitle> | 视频主标题 |
<pageNumber> | 视频分P序号 |
<pageNumberWithZero> | 视频分P序号(前缀补零) |
<pageTitle> | 视频分P标题 |
<bvid> | 视频BV号 |
<aid> | 视频aid |
<cid> | 视频cid |
<dfn> | 视频清晰度 |
<res> | 视频分辨率 |
<fps> | 视频帧率 |
<videoCodecs> | 视频编码 |
<videoBandwidth> | 视频码率 |
<audioCodecs> | 音频编码 |
<audioBandwidth> | 音频码率 |
<ownerName> | 上传者名称(下载番剧时,该值为””) |
<ownerMid> | 上传者mid(下载番剧时,该值为””) |
<publishDate> | 发布时间(yyyy-MM-dd_HH-mm-ss) |
<apiType> | API类型(TV/APP/INTL/WEB) |
WEB/TV鉴权
扫码登录网页账号:
BBDown login |
然后按照提示操作
扫码登录云视听小电视账号:
BBDown logintv |
然后按照提示操作
PS: 如果登录报错The type initializer for 'Gdip' threw an exception
,请参考 #37 解决
手动加载网页cookie:
BBDown -c "SESSDATA=******" "https://www.bilibili.com/video/BV1qt4y1X7TW" |
手动加载云视听小电视token:
BBDown -tv -token "******" "https://www.bilibili.com/video/BV1qt4y1X7TW" |
APP鉴权
根据 #123 ,可以填写TV登录产生的
access_token
来给APP接口使用。可复制BBDownTV.data
到BBDownApp.data
使程序自动读取.
目前程序无法自动获取鉴权信息,推荐通过抓包来获取.
在请求Header中寻找键为authorization
的项,其值形为identify_v1 5227************1
,其中的5227************1
就是token(access_key)
获取后手动通过-token
命令加载, 或写入BBDownApp.data
使程序自动读取.
BBDown -app -token "******" "https://www.bilibili.com/video/BV1qt4y1X7TW" |
常用命令
下载普通视频:
BBDown "https://www.bilibili.com/video/BV1qt4y1X7TW" |
使用TV接口下载(粉丝量大的UP主基本上是无水印片源):
BBDown -tv "https://www.bilibili.com/video/BV1qt4y1X7TW" |
当分P过多时,默认会隐藏展示全部的分P信息,你可以使用如下命令来显示所有每一个分P。
BBDown --show-all "https://www.bilibili.com/video/BV1At41167aj" |
选择下载某些分P的三种情况:
- 单个分P:10
BBDown "https://www.bilibili.com/video/BV1At41167aj?p=10"
BBDown -p 10 "https://www.bilibili.com/video/BV1At41167aj" - 多个分P:1,2,10
BBDown -p 1,2,10 "https://www.bilibili.com/video/BV1At41167aj"
- 范围分P:1-10下载番剧全集:
BBDown -p 1-10 "https://www.bilibili.com/video/BV1At41167aj"
BBDown -p ALL "https://www.bilibili.com/bangumi/play/ss33073"
API服务器
启动服务器(自定义监听地址和端口):
BBDown server -l http://0.0.0.0:12450 |
API服务器不支持HTTPS配置,如果有需要请自行使用nginx等反向代理进行配置
API详细请参考json-api-doc.md
演示
下载完毕后在当前目录查看MP4文件: