2022-06-11 20:18:30 +08:00
< div style = "text-align:center" >
< img width = "20%" src = ".github/assets/logo.svg" >
2018-03-12 18:57:20 +08:00
# B站录播姬
2022-06-11 20:18:30 +08:00
[![Build and Test ](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml/badge.svg?branch=dev )](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml)
[![Version ](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=Version )](#)
[![License ](https://img.shields.io/github/license/Bililive/BililiveRecorder.svg )](#)
2021-01-09 16:47:28 +08:00
[![Crowdin ](https://badges.crowdin.net/bililiverecorder/localized.svg )](https://crowdin.com/project/bililiverecorder)
2018-03-25 15:23:48 +08:00
2022-06-11 20:18:30 +08:00
< / div >
## 安装
在 [rec.danmuji.org ](https://rec.danmuji.org ) 提供了有自动更新功能的安装包。
或者也可以在 [releases ](https://github.com/BililiveRecorder/BililiveRecorder/releases ) 页面下载 “绿色版” 压缩包,没有版本检查和更新功能。你可以 watch 本仓库的新版本发布(点击 “Watch” 、点击 “Custom”、勾选 “Releases”) 。
2018-03-31 17:05:16 +08:00
2022-06-11 20:18:30 +08:00
命令行版可执行文件可以在 [releases ](https://github.com/BililiveRecorder/BililiveRecorder/releases ) 页面下载,支持 Linux、 macOS 和 Windows 系统。
可以在 [Docker Hub `bililive/recorder` ](https://hub.docker.com/r/bililive/recorder ) 或 [`ghcr.io/bililiverecorder/bililiverecorder` ](https://github.com/bililiverecorder/BililiveRecorder/pkgs/container/bililiverecorder ) 拉取 Docker 镜像。
安装使用教程在 [rec.danmuji.org/user/install ](https://rec.danmuji.org/user/install )。
2018-03-31 17:05:16 +08:00
## 功能
- 使用简单
2021-05-01 00:22:46 +08:00
- 主播开播后自动开始录制
- 同时录制多个直播间
- 自动修复B站直播服务器导致的各种问题
2021-11-20 15:02:50 +08:00
- 工具箱模式,用于修复旧版录播姬或其他软件录的视频文件< sup > 1</ sup >
- 纯 C# 实现,无 ffmpeg 等 native 依赖< sup > 2</ sup >
2018-03-31 17:05:16 +08:00
- 开源!
2021-11-20 15:02:50 +08:00
< sup > 1< / sup > : 仅限未经处理的直接从直播服务器下载的原始FLV文件。 如果录播是用 FFmpeg 录制的或处理过的就无法修复了, FFmpeg 会进一步损坏有问题的文件。
< sup > 2< / sup > :录播姬桌面版内含了一个 mini 版 FFmpeg 用于工具箱内的转封装功能。
2018-03-31 17:05:16 +08:00
2022-06-11 20:18:30 +08:00
## 版本号
2018-03-31 17:05:16 +08:00
2022-06-11 20:18:30 +08:00
本项目从 2.0.0 开始使用 Semantic Versioning。
2018-03-31 17:05:16 +08:00
2022-06-11 20:18:30 +08:00
请注意各个项目(比如 `BililiveRecorder.Flv` )的 .NET API 就算是 public 的也属于内部实现,所以不保证任何版本之间源代码接口的兼容性。
2019-11-24 08:40:01 +08:00
2022-06-11 20:18:30 +08:00
## 编译
注意:需要有完整的 git 历史才能生成版本号。
WPF 版:
```powershell
cd BililiveRecorder.WPF
msbuild -t:restore
msbuild
```
命令行版:
```sh
# Build WebUI, optional
git submodule update --init --recursive
./webui/build.sh
# For building on Windows:
# ./webui/build.ps1
dotnet build BililiveRecorder.Cli
```
## 项目结构
Project | Target |
:--- |:--- |
BililiveRecorder.Flv | .NET Standard 2.0 |
BililiveRecorder.Core | .NET Standard 2.0 |
BililiveRecorder.Toolbox | .NET Standard 2.0 |
BililiveRecorder.WPF | .NET Framework 4.7.2 |
BililiveRecorder.Web | .NET 6 |
BililiveRecorder.Cli | .NET 6 |
2021-05-18 22:41:35 +08:00
2022-06-11 20:18:30 +08:00
```mermaid
graph BT
toolbox(BililiveRecorder.Toolbox) --> flv(BililiveRecorder.Flv)
core(BililiveRecorder.Core) --> flv
wpf(BililiveRecorder.WPF) --> core
wpf --> toolbox
cli(BililiveRecorder.Cli) --> toolbox
cli ---> core
web(BililiveRecorder.Web) --> core
cli --> web
```
2021-05-18 22:41:35 +08:00
2018-03-31 17:05:16 +08:00
## 参考资料 & 鸣谢
2019-11-24 08:40:01 +08:00
- [Adobe Flash Video File Format Specification 10.1.2.01.pdf ](https://www.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec_v10_1.pdf )
2021-05-01 00:22:46 +08:00
- [coreyauger/flv-streamer-2-file ](https://github.com/coreyauger/flv-streamer-2-file ) 曾在本项目开发早期作为参考
2019-11-24 08:40:01 +08:00
- [zyzsdy/biliroku ](https://github.com/zyzsdy/biliroku ): (大概是)第一个B站直播录播工具