diff --git a/README.md b/README.md index bd28485..04d7bf6 100644 --- a/README.md +++ b/README.md @@ -3,18 +3,18 @@ ## 简介 > [!NOTE] -> 新版本已使用 Rust 重构,该文档是对新版本的说明。对于 v1.x 的 Python 版本,请前往 [v1.x](https://github.com/amtoaer/bili-sync/tree/v1.x) 分支查看。 -> -> 目前新版本尚未进行 docker 打包,docker 版本相关问题请同样参考 [v1.x](https://github.com/amtoaer/bili-sync/tree/v1.x) 分支的 README 与 [v1.x 的 release 文档](https://github.com/amtoaer/bili-sync/releases)。 +> 此为 v2.x 版本文档,v1.x 版本文档请前往[此处](https://github.com/amtoaer/bili-sync/tree/v1.x)查看。 -> [!CAUTION] -> 当前新版本尚不稳定,可能会有未告知的不兼容更改,请优先使用 v1.x 的 Python 版本。 为 NAS 用户编写的 BILIBILI 收藏夹同步工具,可使用 EMBY 等媒体库工具浏览。 支持展示视频封面、名称、加入日期、标签、分页等。 + ## 效果演示 + +**注:因为可能同时存在单页视频和多页视频,媒体库类型请选择“混合内容”。** + ### 概览 ![概览](./assets/overview.png) ### 详情 @@ -26,13 +26,18 @@ ## 配置文件说明 -程序默认会将配置文件存储于 `~/.config/bili-sync/config.toml`,数据库文件存储于 `~/.config/bili-sync/data.sqlite`,如果发现不存在则新建并写入初始配置。 +> [!NOTE] +> 在 Docker 环境中,`~` 会被展开为 `/app`。 -配置文件加载时会进行简单校验,对于默认的空配置,校验将会报错,程序将会终止运行。 +程序默认会将配置文件存储于 `~/.config/bili-sync/config.toml`,数据库文件存储于 `~/.config/bili-sync/data.sqlite`,如果发现不存在会新建并写入默认配置。 + +配置文件加载时会进行简单校验,默认配置无法通过校验,程序会报错终止运行。 + +可以下载程序后直接运行程序,看到报错后参考报错信息对默认配置进行修改,修改正确后即可正常运行。 对于配置文件中的 `credential`,请参考[凭据获取流程](https://nemo2011.github.io/bilibili-api/#/get-credential)。 -配置文件中的 `video_name` 和 `page_name` 支持使用模板,在执行时会被动态替换为对应的内容。 +配置文件中的 `video_name` 和 `page_name` 支持使用模板,模板的替换语法请参考示例。模板中的内容在执行时会被动态替换为对应的内容。 video_name 支持设置 bvid(视频编号)、title(视频标题)、upper_name(up 主名称)、upper_mid(up 主 id)。 @@ -71,11 +76,17 @@ page_name 除支持 video 的全部参数外,还支持 ptitle(分 P 标题 ## 配置文件示例 ```toml +# 视频所处文件夹的名称 video_name = "{{title}}" +# 视频分页文件的命名 page_name = "{{bvid}}" +# 扫描运行的间隔(单位:秒) interval = 1200 +# emby 演员信息的保存位置 +upper_path = "/home/amtoaer/.config/nas/emby/metadata/people/" [credential] +# Bilibili 的 Web 端身份凭据,需要凭据才能下载高清视频 sessdata = "" bili_jct = "" buvid3 = "" @@ -83,6 +94,8 @@ dedeuserid = "" ac_time_value = "" [filter_option] +# 视频、音频流的筛选选项,程序会使用范围内质量最高的流 +# 注意设置范围过小可能导致无满足条件的流,推荐仅调整质量上限和编码优先级 video_max_quality = "Quality8k" video_min_quality = "Quality360p" audio_max_quality = "QualityHiRES" @@ -98,6 +111,7 @@ no_hdr = false no_hires = false [danmaku_option] +# 弹幕的一些相关选项,如字体、字号、透明度、停留时间、是否加粗等 duration = 12.0 font = "黑体" font_size = 25 @@ -112,9 +126,34 @@ outline = 0.8 time_offset = 0.0 [favorite_list] +# 收藏夹 ID = 存储的位置 52642258 = "/home/amtoaer/HDDs/Videos/Bilibilis/混剪" ``` +## Docker Compose 文件示例 + +该项目为 `Linux/amd64` 与 `Linux/arm64` 提供了 Docker 版本镜像。 + +Docker 版包含该平台对应版本的可执行文件(位于`/app/bili-sync-rs`),并预装了 FFmpeg,其它用法与普通版本完全一致。(可查看 [用于构建镜像的 Dockerfile](./Dockerfile) ) + +以下是一个 Docker Compose 的编写示例: +```yaml +services: + bili-sync-rs: + image: amtoaer/bili-sync-rs:v2.0.0 + restart: unless-stopped + network_mode: bridge + tty: true # 该选项请仅在日志终端支持彩色输出时启用,否则日志中可能会出现乱码 + hostname: bili-sync-rs + container_name: bili-sync-rs + volumes: + - /home/amtoaer/.config/nas/bili-sync-rs:/app/.config/bili-sync + # 以及一些其它必要的挂载,确保此处的挂载与 bili-sync-rs 的配置相匹配 + # ... + logging: + driver: "local" +``` + ## 路线图 - [x] 凭证认证 @@ -129,7 +168,7 @@ time_offset = 0.0 - [x] 更好的错误处理 - [x] 更好的日志 - [x] 请求过快出现风控的 workaround -- [ ] 提供简单易用的打包(如 docker) +- [x] 提供简单易用的打包(如 docker) - [ ] 支持 UP 主合集下载 ## 参考与借鉴