昨天在B站闲逛的时候看到一款有趣的容器,叫bili-sync。
项目在这儿:https://github.com/amtoaer/bili-sync
这是一款能用尽量高的文件参数自动下载哔哩哔哩收藏夹的容器:
全自动的下载流程,收藏便下载;
可以登录大会员;
多线程下载;
定义格式和编码,并自动封装和转码;
支持订阅收藏夹,下载全部视频,也可以按需下载;
可以下载弹幕;
支持Emby媒体库格式的海报墙(¿
在理想情况下,下载的结果会自动整理成这样:
额我直接借用的作者的图,因为我没有Emby...
嚯嚯嚯,封面图都是直接去作者那里偷的(
网上的教程五花八门还挺复杂,提炼一下可能会更方便部署,原理是一样的不过流程会更容易理解。
前置准备
先创建需要的文件夹
这个容器只需要一个叫 config 的文件夹,首先根据习俗,养成良好习惯,在docker的运行目录里创建一个叫 Bili-Sync-rs
的文件夹,文件夹的下面分别创建Config
大小写无所谓。
创建好了之后应该是这样的:
然后进入到刚才创建的Bili-Sync-rs/Config
里,用随便什么方法在Config下创建一个文件叫config.toml
。
(不知道怎么创建的话,可以直接用Windows访问这个文件夹,新建→“新建文本文档.txt",然后把它的文件名改成config.toml
)
创建好了之后,用文本编辑器,或者记事本也可以,打开它:
创建配置
把下面的配置文本内容复制 → 粘贴进去,然后点一下保存:
video_name = "{{title}}"
page_name = "{{title}}_{{bvid}}"
interval = 1200
upper_path = "/app/.config/bili-sync/upper_face"
[credential]
sessdata = ""
bili_jct = ""
buvid3 = ""
dedeuserid = ""
ac_time_value = ""
[filter_option]
video_max_quality = "Quality8k"
video_min_quality = "Quality360p"
audio_max_quality = "QualityHiRES"
audio_min_quality = "Quality64k"
codecs = [
"AV1",
"HEV",
"AVC",
]
no_dolby_video = false
no_dolby_audio = false
no_hdr = false
no_hires = false
[danmaku_option]
duration = 15.0
font = "黑体"
font_size = 25
width_ratio = 1.2
horizontal_gap = 20.0
lane_size = 32
float_percentage = 0.5
bottom_percentage = 0.3
opacity = 76
bold = true
outline = 0.8
time_offset = 0.0
[favorite_list]
30000000 = "/downloads"
展开解释
!!一定要十分严格的写!!
"sessdata": "填写项",
"bili_jct": "填写项",
"buvid3": "填写项",
"dedeuserid": "填写项",
"ac_time_value": "填写项",
#上面五个项目是账户信息和账户所登录的设备信息。
结尾的[favorite_list] 下面是收藏夹的ID和对应的下载目录。
填写信息
获取收藏夹ID
先来获取ID,再填账号信息。
首先打开电脑的浏览器,打开bilibili,登录自己的账号,然后点右上角的“收藏”,点“新建收藏夹”为这个镜像创建一个专门的收藏夹,方便以后管理:
创建好了之后点进这个收藏夹,会看到网址栏有变化:
https://space.bilibili.com/xxxxx/favlist?fid=30000000&ftype=create
此处的fid=后面的30000000
便收藏夹ID,将它复制下来填写到favorite_list
下面:
[favorite_list]
30000000 = "/downloads"---引号中为之后挂载的下载目录。
如果有多个收藏夹需要订阅,则回车再写一行并挂载到不同的文件夹即可。
冒号的左边是容器的下载路径,若是多个收藏夹可以提行添加,并按对应的格式写别的文件夹。
既然到了哔哩哔哩,顺便收藏一个视频到这个文件夹里面吧!
获取账号信息
需要获取一些账号信息方便登录,emmmm...希望以后支持扫码直接登录吧(
现在只能手动获取,可以参考这篇文章获取:获取 Credential 类所需信息>>>
往下翻,找到对应的浏览器的获取方法就行。
mmmmm,还是简单说一下:
打开哔哩哔哩首页,确定自己已经登录,按键盘上的F12,如果弹出警告或者提示,就点“允许”,然后看这儿:
将这四项分别复制出来,粘贴到对应的引号中。
!!!只需要复制数字,不要有多余的字符和空格!!!
ac_time_value
还有最后一项信息,ac_time_value
没有获取到,在上面的同一个界面,点“控制台”,然后输入window.localStorage.ac_time_value ,下面显示的数字便是
ac_time_value,复制,然后粘贴到 config
中对应的位置。
!!!只需要复制数字,避免有多余的字符和空格!!!
参数设置(不需要修改)
下面二组是弹幕参数:
},
"subtitle": {
"font_name": "微软雅黑,黑体",---字体名称
"font_size": 40.0,---字体大小
"alpha": 0.8,
"fly_time": 5.0,
"static_time": 10.0
第三组是下载的视频参数:
"stream": {
"video_max_quality": 127,---视频最高参数
"audio_max_quality": 30280,---音频最高参数
"video_min_quality": 16,---视频最低参数
"audio_min_quality": 30216,---视频最高参数
"codecs": [---优先编码顺序
"av01",--AV1编码
"avc",---x264编码
"hev"---x265编码
],
"no_dolby_video": false,---不要杜比视界 false表示不启用,true表示启用
"no_dolby_audio": false,---不要杜比音轨 false表示不启用,true表示启用
"no_hdr": false,---不要HDR false表示不启用,true表示启用
"no_hires": false---不要High Resolution Audio false表示不启用,true表示启用
可以根据需要调整,不调整保持默认也行。
检查一下
填写好了之后检查一下然后保存,配置文件应该是这样的:
开始部署
等一下,等一下
还要回到文件管理中新建一个文件夹用于存放下载文件。
在计划要放下载文件的位置新建一个文件夹,名字无所谓,记得住就行,比如我就创建一个文件夹在/volume3/Hotdata/Bili-Sync-rs
,放到我的放临时文件的目录,一会儿在挂载/downloads
时挂载这个位置就行。
开始部署
打开Docker,切换到“注册表”选项卡,搜索"bili-sync-rs",双击唯一的那个,版本选择“latest”,下载。
或者输入命令拉取也可以:docker pull amtoaer/bili-sync-rs
然后双击创建,容器设置这样填:
填好了之后点击完成应用,然后看看日志有没有报错:
检查结果
回到刚才设置的目录,看看刚才设置的视频有没有下载成功,如果看到文件被顺利下载了就说明弄好啦↓
有错别字的话之后再改,此刻的我需要去做点吃的 = =