Skip to content

Releases: amtoaer/bili-sync

v2.0.0

12 Apr 14:05
Compare
Choose a tag to compare

v2.0.0 已发布!

bili-sync 已经完全由 Rust 重写,带来了更快的运行速度与更少的运行时占用。
需注意的是,出于项目功能和实现难度上的考量,该版本与 v1.x 的 Python 版本配置不兼容

Docker 方面,为了区分不同的构建,避免意料外的升级,v2.0.0 版本开始采用 amtoaer/bili-sync-rs 的包名发布。
自该版本起,每次发版会在 Release 中携带预构建的各平台二进制包。如裸机使用该程序,需确认 FFmpeg 存在于 $PATH 中

与 v1.x 版本的区别:

  1. 完全重写带来的各部分差异(配置文件格式、日志等)。
  2. 引入模板,支持自定义视频和分页的存储路径。
  3. 移除分页视频是否仅下载第一页(即paginated_video)的选项。
  4. 引入了一个实验性的画布比例对齐方案,基本解决了弹幕字体大小不一致的问题。

1.1.8

26 Feb 16:00
Compare
Choose a tag to compare

该版本主要进行了一些修复:

  1. 修复视频标题含有非法 xml 字符,导致标题不能识别的问题(如 &、<、>)
  2. 修复分 p 视频不存在第一帧图片时的异常问题(修复后会 fallback 到视频的封面)
  3. 修复开启分 p 后执行 refresh 命令导致历史视频也被刷新为分 p 的问题

Full Changelog: 1.1.7...1.1.8

1.1.7

24 Feb 18:03
Compare
Choose a tag to compare

该版本变动较多,请尽可能阅读完版本变更。以下逐个说明。

Fix

nfo 修复

单个视频的 nfo 标签应该设置为movie,在之前版本错误地写为了 episodedetails
emby 自身做了额外的兼容可以正常识别,但极空间不行(#41),该版本修复了该问题。

可能的数据库错误修复

数据库批量操作可能会出现处理数量过多导致的 SQL 错误,该版本为所有批量操作设置 batch_size 以解决该问题。

Feature

支持分P视频下载

在设置中引入 paginated_video 选项,默认关闭,用于控制分页视频的下载。
关闭时保持原始行为,开启时对于多P视频(大于1),程序会构造 tvshowepisodedetails 类型的 nfo 信息,将分P模拟为电视剧处理。

需要澄清的是,分P视频是共享 bvid 的,这意味着没办法判断你收藏时收藏的是哪一P。该开关关闭时的“原始行为”是指始终尝试下载第一P,而非下载你收藏时的分P位置

如果开启该选项,程序将总是会下载全部分P,对于部分上百P的视频或者单P过大的视频可能会出现耗时长、存储占用大的情况。还请用户自行选择是否开启。(例如我刚刚找了一个 4k 的埃尔登法环全流程,下载了 189G)。

对额外命令的分P适配

做了一些额外的修改,让check命令可以适用于分P情况。其它几个命令大概检查了一下应该没什么要适配的,遇到问题可以报告。

支持指定下载时视频、音频流的选择策略

在该版本中引入了 stream 配置,用于指定下载时视频、音频流的选择策略,codecs 也迁移为了 stream 的子选项,迁移过程会在启动时自动完成。
以下是新的配置项:

    "stream": {
        "video_max_quality": 127,
        "audio_max_quality": 30280,
        "video_min_quality": 16,
        "audio_min_quality": 30216,
        "codecs": [
            "av01",
            "avc"
        ],
        "no_dolby_video": false,
        "no_dolby_audio": false,
        "no_hdr": false,
        "no_hires": false
    }

这些选项的变量名很清楚,唯一值得注意的是视频质量和音频质量的取值,请参考以下枚举变量设置:

class VideoQuality(Enum):
    """
    视频的视频流分辨率枚举

    - _360P: 流畅 360P
    - _480P: 清晰 480P
    - _720P: 高清 720P60
    - _1080P: 高清 1080P
    - _1080P_PLUS: 高清 1080P 高码率
    - _1080P_60: 高清 1080P 60 帧码率
    - _4K: 超清 4K
    - HDR: 真彩 HDR
    - DOLBY: 杜比视界
    - _8K: 超高清 8K
    """

    _360P = 16
    _480P = 32
    _720P = 64
    _1080P = 80
    _1080P_PLUS = 112
    _1080P_60 = 116
    _4K = 120
    HDR = 125
    DOLBY = 126
    _8K = 127

class AudioQuality(Enum):
    """
    视频的音频流清晰度枚举

    - _64K: 64K
    - _132K: 132K
    - _192K: 192K
    - HI_RES: Hi-Res 无损
    - DOLBY: 杜比全景声
    """

    _64K = 30216
    _132K = 30232
    DOLBY = 30250
    HI_RES = 30251
    _192K = 30280

Full Changelog: 1.1.6...1.1.7

1.1.6

02 Feb 14:36
Compare
Choose a tag to compare

修复无音频流视频下载失败的问题:
445b0cad3ea985a9711aece5b248d356

Full Changelog: 1.1.5...1.1.6

1.1.5

02 Feb 10:21
Compare
Choose a tag to compare

更新上游依赖,修复获取视频信息和下载视频时的异常报错。

Full Changelog: 1.1.4...1.1.5

1.1.4

20 Jan 07:58
Compare
Choose a tag to compare

该版本:

  1. 优化了 docker 镜像的体积
  2. 修复终止程序时不触发 cleanup 的错误
  3. 支持设置编码优先级(在 config.json 中修改 codec 列表,列表顺序越靠前,优先级越高)
"codec": [
    "av01",
    "avc",
    "hev"
]

Full Changelog: 1.1.3...1.1.4

1.1.3

04 Jan 17:44
Compare
Choose a tag to compare

该版本:

  1. 新增 arm64 的 docker 镜像,并做了部分优化(thanks to @DDSDerek
  2. 更新上游依赖,以修复 cookie 刷新失败的问题 (相关 pr:Nemo2011/bilibili-api#593
  3. 更新版本管理工具,后续发版更加方便

最近比较忙,这周末尽量抽时间写写分p视频下载(咕咕咕

Full Changelog: 1.1.2...1.1.3

1.1.2

07 Dec 14:14
Compare
Choose a tag to compare

Full Changelog: 1.1.1...1.1.2

相关改动:

  1. 移除无用的 favorite_ids 设置,添加字幕字体相关配置
  2. 分割处理视频的功能块,各块不影响其它块执行

1.1.1

05 Dec 17:28
Compare
Choose a tag to compare

Full Changelog: 1.1.0...1.1.1

现在 refresh 开头的命令默认仅处理本地不存在的部分,可通过指定 --force 参数强制覆盖。(带上这个参数会先把所有本地内容删了再执行正常逻辑)

1.1.0

05 Dec 16:58
Compare
Choose a tag to compare

Full Changelog: 1.0.9...1.1.0

支持弹幕下载,调整命令名称。
弹幕字体有点丑,有无大哥来帮忙调一调 XD

image