Generated by Stable Diffusion Model
前言
B站国内用的人比较多,相应的可以用于下载使用的工具也很多。这里向大家介绍三个开源免费的工具用于下载B站的音视频,BBDown、yt-dlp、you-get。从使用功能上看,BBDown
的功能最丰富也最专业,可以用于下载字幕、番剧等,而后两者只能用于下载音视频。演示系统:windows 11 22H2
演示例子:https://www.bilibili.com/video/BV1T84y1z7Af
前置准备-安装ffmpeg
上述三款软件都需要使用ffmpeg
用于音视频合并下载ffmpeg:https://github.com/BtbN/FFmpeg-Builds/r ... 64-gpl.zip
如果你打不开 Github,可以用这个链接下载ffmpeg:https://cloud.bobmaster.cyou/s/dQfRfF27oYeqBbg
将压缩包解压,进入解压后的文件夹的
Bin
目录,复制该路径,我这里是 C:\Users\qianxue\Downloads\ffmpeg-master-latest-win64-gpl\bin
打开
系统设置
->关于
->高级系统设置
->环境变量
选中
Path
->点编辑
->点新建
,将刚才拷贝的路径粘贴上去,然后保存即可到这里我们将
ffmpeg
二进制可执行文件的路径添加到了环境变量里,我们可以在终端里验证,打开命令提示符cmd
,输入 ffmpeg -version
,你能看到类似如下的回显就说明配置成功了BBDown 使用教程
下载地址:https://github.com/nilaoda/BBDown/relea ... in-x64.zip如果你打不开 Github,可以用这个链接下载:https://cloud.bobmaster.cyou/s/pYEf4RRE8KgNenL
下载好后,将其解压,然后进入到解压后的文件夹,在文件路径框里输入
cmd
打开终端为了方便下载,我们使用交互式的方式选择下载的清晰度
代码: 全选
#-ia, --interactive 交互式选择清晰度
BBDown.exe {视频URL} -ia
#本例子
BBDown.exe https://www.bilibili.com/video/BV1T84y1z7Af -ia
下载完成后,视频会保存在当前的目录下!
你还可以选择下载字幕,下载弹幕,然后把字幕嵌入视频中,效果很棒哦,这里以弹幕为例,只需要在前面的命令基础上额外添加一个参数
-dd
即可
代码: 全选
BBDown.exe https://www.bilibili.com/video/BV1T84y1z7Af -dd -ia
-?, -h, --help
等参数查看
代码: 全选
Usage:
BBDown <url> [command] [options]
Arguments:
<url> 视频地址 或 av|bv|BV|ep|ss
Options:
-tv, --use-tv-api 使用TV端解析模式
-app, --use-app-api 使用APP端解析模式
-intl, --use-intl-api 使用国际版解析模式
--use-mp4box 使用MP4Box来混流
--encoding-priority <encoding-priority> 视频编码的选择优先级, 用逗号分割 例: "hevc,av1,avc"
--dfn-priority <dfn-priority> 画质优先级,用逗号分隔 例: "8K 超高清, 1080P 高码率, HDR 真彩, 杜比视界"
-info, --only-show-info 仅解析而不进行下载
--show-all 展示所有分P标题
--use-aria2c 调用aria2c进行下载(你需要自行准备好二进制可执行文件)
-ia, --interactive 交互式选择清晰度
-hs, --hide-streams 不要显示所有可用音视频流
-mt, --multi-thread 使用多线程下载(默认开启)
--video-only 仅下载视频
--audio-only 仅下载音频
--sub-only 仅下载字幕
--debug 输出调试日志
--skip-mux 跳过混流步骤
--skip-subtitle 跳过字幕下载
--skip-cover 跳过封面下载
--force-http 下载音视频时强制使用HTTP协议替换HTTPS(默认开启)
-dd, --download-danmaku 下载弹幕
--skip-ai 跳过AI字幕下载
--bandwith-ascending 比特率升序(最小体积优先)
-F, --file-pattern <file-pattern> 使用内置变量自定义单P存储文件名:
<videoTitle>: 视频主标题
<pageNumber>: 视频分P序号
<pageNumberWithZero>: 视频分P序号(前缀补零)
<pageTitle>: 视频分P标题
<aid>: 视频aid
<cid>: 视频cid
<dfn>: 视频清晰度
<res>: 视频分辨率
<fps>: 视频帧率
<videoCodecs>: 视频编码
<videoBandwidth>: 视频码率
<audioCodecs>: 音频编码
<audioBandwidth>: 音频码率
<ownerName>: 上传者名称
<ownerMid>: 上传者mid
默认为: <videoTitle>
-M, --multi-file-pattern <multi-file-pattern> 使用内置变量自定义多P存储文件名:
默认为: <videoTitle>/[P<pageNumberWithZero>]<pageTitle>
-p, --select-page <select-page> 选择指定分p或分p范围: (-p 8 或 -p 1,2 或 -p 3-5 或 -p ALL 或 -p LAST)
--language <language> 设置混流的音频语言(代码), 如chi, jpn等
-c, --cookie <cookie> 设置字符串cookie用以下载网页接口的会员内容
-token, --access-token <access-token> 设置access_token用以下载TV/APP接口的会员内容
--aria2c-args <aria2c-args> 调用aria2c的附加参数(默认参数包含"-x16 -s16 -j16 -k 5M", 使用时注意字符串转义)
--work-dir <work-dir> 设置程序的工作目录
--ffmpeg-path <ffmpeg-path> 设置ffmpeg的路径
--mp4box-path <mp4box-path> 设置mp4box的路径
--aria2c-path <aria2c-path> 设置aria2c的路径
--delay-per-page <delay-per-page> 设置下载合集分P之间的下载间隔时间(单位: 秒, 默认无间隔)
--host <host> 指定BiliPlus host(解析服务器能够获取你账号的大部分权限!)
--ep-host <ep-host> 指定BiliPlus EP host
--area <area> 指定BiliPlus area 例: hk(使用BiliPlus需要access_token, 不需要cookie)
--config-file <config-file> 读取指定的BBDown本地配置文件(默认为: BBDown.config)
--version Show version information
-?, -h, --help Show help and usage information
Commands:
login 通过APP扫描二维码以登录您的WEB账号
logintv 通过APP扫描二维码以登录您的TV账号
you-get 使用教程
you-get
需要使用 pip
安装,因此你得先安装Python
下载地址:https://www.python.org/ftp/python/3.10. ... -amd64.exe
安装好
Python
后打开终端cmd/terminal
,输入如下命令安装you-get
代码: 全选
pip install -U you-get
安装好
you-get
我们现在进入视频下载流程假设我要将下载的视频保存在
C:\Users\qianxue\Downloads\temp
,那么就在这个目录下的地址栏里输入cmd
,这会使cmd
的当前工作区就是我们所需的目录,我们下载的视频也会保存在这里
1. 获取视频信息
代码: 全选
#使用参数 -i, --info
you-get -i "{视频地址}"
#本例子
you-get -i "https://www.bilibili.com/video/BV1T84y1z7Af"
2. 视频下载
这里我们选择下载码率为1080P的容器为mp4的视频流,程序有提示你该如何下载代码: 全选
# download-with: you-get --format=dash-flv [URL]
代码: 全选
you-get --format=dash-flv "https://www.bilibili.com/video/BV1T84y1z7Af"
视频此时就被下载到了当前工作区里~
yt-dlp 使用教程
yt-dlp
可以使用pip
安装也可以使用项目组用pyinstaller
打包好的二进制可执行文件直接运行。如果你没有装Python
,那么直接下载其二进制可执行文件即可(类似前面的BBDown
、ffmpeg
)。使用
pip
安装:
代码: 全选
pip install -U yt-dlp
软件更新方式:
通过
pip
安装的,再次执行上述命令即可下载二进制可执行文件的,可以使用
yt-dlp -U
命令更新
1. 获取视频信息
使用下面的命令获取视频清晰度、编码等信息代码: 全选
# -F/--list-formats
yt-dlp -F "{视频地址}"
#本例子为
yt-dlp -F "https://www.bilibili.com/video/BV1T84y1z7Af"
2. 视频下载
Bilibili 的视频采用音视频分离的模式进行分发,因此我们下载的时候需要同时指定视频流和音频流这里我打算下载分辨率为1920x1080码率为2209k编码为avc1的视频流,码率为319k编码为mp4a的音频流,因此我们的Format Code(ID)由43+2组成(视频流要放在音频流前面)
代码: 全选
# -f 指定 format-code
yt-dlp -f {format-code} "{URL}"
# 本例子为
yt-dlp -f 43+2 "https://www.bilibili.com/video/BV1T84y1z7Af"
然后视频会保存在当前
cmd
所在工作区所对应的路径里总结
使用体验上来说,BBDown的性能和功能是最棒的,毕竟是专门用于下B站视频的工具。而后两者是由国外开发者开发的,主要用于下载Youtube、Twitter、Instagram、Vimeo等网站的视频和音频的,因此各有优点。因此你如果只是下载Bilibili的视频,我推荐你使用
BBDown
,下载Youtube、BBC、Ted等网站的视频,我推荐yt-dlp
,下载Pinterest、Instagram等网站的图片我推荐用you-get
。思路都是先获取音视频图片等的信息,然后使用相应的参数下载即可,遇到问题和一些客制化的命令这里推荐大家阅读官方的文档。
BBDown: https://github.com/nilaoda/BBDown
you-get: https://github.com/soimort/you-get
yt-dlp: https://github.com/yt-dlp/yt-dlp