Skip to content

Releases: amtoaer/bili-sync

v2.2.0

14 Jan 12:00
Compare
Choose a tag to compare

重拾半年前的代码,修修补补更新一波。该版本变动较大,虽然在本地测试没有发现问题,但还是推荐备份配置和数据后再更新。

主要的变化包括:

  1. 调整视频音频的筛选与排序逻辑,修复了筛选音频时错误认为 192K > HiRes、Dolby 的问题,参见 #212
  2. 引入了可调节的并发限制,允许调整视频和分页下载任务的并行度、对 b 站 API 的请求频率;
  3. 支持监控下载 UP 主投稿视频(b 站对 UP 主投稿视频接口有着更严格的风控限制,建议酌情使用,如遇风控可尝试调低并发限制);
  4. video_name 和 page_name 中允许使用路径分割符,并添加了 fav_time 和 pubtime 两个模板参数;
  5. 视频页(page)分批插入数据库,避免单个视频有数百乃至上千个 page 时 SQL 过长导致的插入失败问题;

总体来说,用户可感知的配置文件变动不算多,可直接参见最新的文档内容变更 #217

What's Changed

  • docs: 修复配置文件位置的描述错误 by @amtoaer in #145
  • docs: 将图片转为 webp 并压缩,大幅缩小占用空间 by @amtoaer in #147
  • docs: 支持点击放大文档中的图片 by @amtoaer in #149
  • feat: 支持各种任务结束之后的 delay 配置 by @amtoaer in #148
  • build: 单独升级一下 time 依赖 by @amtoaer in #150
  • refactor: 把循环拆分到外层,提取公共代码 by @amtoaer in #151
  • feat: 支持设置时间格式化字符串,支持在 video_name 和 page_name 中使用 time by @amtoaer in #152
  • refactor: 重构部分代码,调整函数位置 by @amtoaer in #154
  • feat: 支持 up 主投稿视频下载 by @amtoaer in #155
  • refactor: 将 filenamify 移动至本地,将正则表达式设置为 static by @amtoaer in #156
  • feat: 支持设置 video 和 page 的下载并发 by @amtoaer in #157
  • fix: 确保无论视频下载结果如何,都在最终删除临时文件 by @amtoaer in #159
  • build: 升级依赖 by @amtoaer in #160
  • fix: 修复视频 page 过多时数据库插入失败的问题 by @amtoaer in #162
  • feat: 允许在 video_name 和 page_name 中使用对应平台的路径分隔符 by @amtoaer in #163
  • test: 修复 windows 单元测试错误 by @amtoaer in #164
  • chore: 支持使用 leaky-bucket 限制请求频率 by @amtoaer in #211
  • feat: 调整并重构视频音频流的选择逻辑,应该可以提升些许性能 by @amtoaer in #212
  • refactor: 一些边边角角的小重构 by @amtoaer in #213
  • deps: 更新项目依赖 by @amtoaer in #214
  • docs: 文档跟进最新代码变化 by @amtoaer in #217

Full Changelog: v2.1.2...v2.2.0

v2.1.2

21 Jul 15:55
Compare
Choose a tag to compare

该版本:

  1. 实现 wbi 签名逻辑,现在合集、视频下载接口的请求参数会添加签名,这应该能够缓解风控问题;
  2. 更新文档,加入“工作原理”小节,较为详细地解释了程序的运行逻辑;
  3. 移除一些未使用的代码,更新依赖。

What's Changed

  • chore: 更正许可证文件名错误 by @A1ca7raz in #141
  • feat: 为合集接口实现 wbi 签名 by @amtoaer in #140
  • feat: 为下载视频接口加入 wbi 签名 by @amtoaer in #143
  • refactor: 移除不必要的标记和代码块,统一 use 格式 by @amtoaer in #144
  • docs: 添加"工作原理"小节 by @amtoaer in #135

New Contributors

Full Changelog: v2.1.1...v2.1.2

v2.1.1

11 Jul 10:36
Compare
Choose a tag to compare

该版本:

  1. 修复少数情况下视频合集、视频列表下载时判断“上一次处理到的位置”无法命中的问题;
  2. 支持稍后再看的扫描与下载,使用方法详见在线文档。

What's Changed

  • fix: 修复 exist_labels 可能判断错误的问题 by @amtoaer in #132
  • feat: 支持稍后再看的扫描与下载 by @amtoaer in #131

Full Changelog: v2.1.0...v2.1.1

v2.1.0

05 Jul 15:05
Compare
Choose a tag to compare

本次更新,用户可感知的变更:

  1. 将文档整理至单独的文档页面以避免 README 中平铺的篇幅限制,后续文档内容会与最新的程序版本保持一致
  2. 引入了视频合集和视频列表的下载(详情可点击上面的文档查看)

用户无感知的变更:

  1. 大范围重构代码、调整代码结构,现在代码应该会易读一些(希望有佬给提提 PR)
  2. 配置 cargo release 实现一键发版

What's Changed

  • chore: 修改项目路径结构,使用 workspace 组织包 by @amtoaer in #118
  • refactor: 引入 clap 处理环境变量和命令行参数 by @amtoaer in #119
  • ci: 对处于 draft 状态的 PR 禁用 workflow by @amtoaer in #123
  • build: 更新依赖 by @amtoaer in #125
  • feat: 大范围重构,支持视频合集下载 by @amtoaer in #97
  • fix: 修复重构引入的若干 bug by @amtoaer in #126
  • docs: 全局修改描述,在文档中加入版本信息并在发版时自动替换 by @amtoaer in #128

Full Changelog: v2.0.7...v2.1.0

v2.0.7

01 Jun 03:13
c4db12b
Compare
Choose a tag to compare
  1. 每次扫描收藏前都调用一个简单接口检查登录状态,避免匿名用户走到后续流程,下载到 480p 的低清晰度视频。
  2. 支持在配置文件中自定义 NFO 文件中采用的视频时间。
    可选值有两个:favtime 代表加入收藏夹的时间,pubtime 代表视频发布的时间。默认使用 favtime:
    image
  3. 修复某些视频分页的 cid 过大导致的数值溢出。
    image

What's Changed

  • Update README.md - compose中指定user,附加简要说明 by @ky0utarou in #102
  • feat: 每次执行前检查登录状态,避免凭据失效导致的非预期行为 by @amtoaer in #112
  • ci: 使用较旧的 nightly 版本以避免语言修改导致的编译失败 by @amtoaer in #113
  • feat: 支持自定义 NFO 文件中的视频时间,可选加入收藏夹的时间、视频发布的时间 by @amtoaer in #114
  • fix: 修复类型错误导致的数值溢出 by @amtoaer in #115

Full Changelog: v2.0.6...v2.0.7

v2.0.6

05 May 10:02
e5e5b07
Compare
Choose a tag to compare

该版本修复了如下问题:

如果视频已经下载完并成功合并,但视频下载状态还未保存至数据库中时程序被中断,继续运行时程序会尝试重新下载该视频并合并。
由于此时 ffmpeg 检测到目标文件已存在,需要手动在命令行中输入 'Y' 才能继续。但由于程序不会进行 stdin 操作,因此 ffmpeg 会卡在“是否 overwrite” 的询问无法继续运行。
该版本为 ffmpeg 的调用添加了 -y 参数,当目标文件已存在时默认进行覆盖,不会再询问。

What's Changed

  • fix: 修复当目标文件已存在时 ffmpeg 卡住的问题 by @amtoaer in #99

Full Changelog: v2.0.5...v2.0.6

v2.0.5

03 May 05:04
cd2bd9c
Compare
Choose a tag to compare
  1. 替换日志库,现在日志的时间将读取本地时间,而非固定为 UTC 时间。
  2. 调低并发下载量与 read_timeout 值,尝试缓解下载速度慢时出现的阻塞现象。

What's Changed

  • Dockerfile - 保留tzdata by @ky0utarou in #91
  • chore: 使用 tracing 替换 env_logger by @amtoaer in #93
  • chore: 减少并发下载量与 read_timeout 值 by @amtoaer in #96

New Contributors

Full Changelog: v2.0.4...v2.0.5

v2.0.4

29 Apr 05:57
e732e7d
Compare
Choose a tag to compare

What's Changed

  • feat: 放宽数据库连接池的连接数和获取时间,避免 time out 错误 by @amtoaer in #87

Full Changelog: v2.0.3...v2.0.4

v2.0.3

28 Apr 16:14
Compare
Choose a tag to compare

手写的 ChangeLog

该版本主要引入了一个功能,额外拷贝一份 poster 作为 fanart,方便 emby 官方客户端或一些第三方程序使用该图作为背景。
然而,已经下载过的视频不会触发这个拷贝过程,因此我写了一个简单的 python 脚本来对已有的视频做这个操作,该脚本位于源码仓库的 scripts/2.0.3_add_fanart.py,使用方法:

python 2.0.3_add_fanart.py <path1> <path2> ...

脚本内注释有对脚本的更多说明。


以下是 emby 官方 web 端的效果图,可以看到 emby 会读取 fanart 作为详情页的背景图:

What's Changed

  • refactor: 为 serde_json::Value 实现 validate trait,避免重复代码 by @amtoaer in #82
  • feat: 拷贝一份 poster 作为 fanart 使用 by @amtoaer in #84
  • build: 添加 justfile,方便本地构建镜像 by @amtoaer in #85

Full Changelog: v2.0.2...v2.0.3

v2.0.2

26 Apr 12:02
0958893
Compare
Choose a tag to compare

What's Changed

  • fix: 修复 filter option 未使用的问题 by @amtoaer in #80
  • style: 尽量使用绝对路径引入包 by @amtoaer in #81

Full Changelog: v2.0.1...v2.0.2