Update README

This commit is contained in:
genteure 2022-06-11 20:18:30 +08:00
parent 6cf533049c
commit b7a9f32234
3 changed files with 145 additions and 37 deletions

8
.github/assets/logo.svg vendored Normal file
View File

@ -0,0 +1,8 @@
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024" xml:space="preserve">
<style>.st1{fill:#1c9bcd}</style>
<path d="M293.4 951c-28.4 0-44.3-13.2-52.7-24.2-5.9-7.8-9.3-16.1-11.5-23.1-24.9-.2-51.1-.7-51.5-.7h-1.9l-1.8-.4c-2.9-.6-29.6-6.6-58.2-29.6-26.4-21.2-59.3-61.4-66.4-132.9l-.1-1.1v-1.1c1.6-120.4.2-357.6.2-370.7-.3-5.5-1.3-35.6 11.2-69.3 12.7-34.4 42.1-79.3 109.8-98.4l2.6-.7 155.2-.4-48.8-47.4-.7-.9c-10.2-12.6-15.5-39.3 11.7-61.6 11.8-9.7 20.1-14.1 28.4-15.2 12.7-1.7 20.8 5.2 24.3 8.1.5.4 1.1.9 1.3 1.1 5.7 3.8 46.1 42.8 120.2 115.6l97.5.2C671.1 91 677.1 87 679.3 85.4c.2-.2.9-.7 1.3-1.1 3.5-3 11.5-9.9 24.3-8.1 8.3 1.1 16.6 5.6 28.4 15.2 27.2 22.3 21.9 49 11.7 61.6l-.7.9-45.9 44.5c83.9.3 144.7.3 145.4.3h2.2l2.1.5c1.3.3 31.8 7.2 62.4 31.1 28.3 22.2 62.5 63.8 64.2 135.7v.8c-1.5 122.5 0 369.6 0 372.1v1c-.1 1.4-1.8 34.4-17.6 70.1-21.6 49.1-59 79.9-108.1 89l-2.1.4-2.2-.1c-19.3-.6-32.8-.7-41.8-.6-1.3 4.6-3.1 9.7-5.6 14.9-11.4 23.7-31.8 37-57.3 37.5-34.3.5-58.9-17.3-68.4-48.7-60.7.2-257.2 1.1-314 1.4-1.5 4.3-3.5 8.9-6.2 13.6-12.3 21.6-33 33.6-58 33.6zm408.5-832.6c-.1.1-.2.1-.2.2l.2-.2zm-380.1-2.9c.1.1.2.1.3.2-.1-.1-.2-.2-.3-.2z" style="fill:#f7f8f8"/>
<path class="st1" d="M175.9 218.7C60.6 251.2 69.5 366.5 69.5 366.5s1.5 246.8-.2 371.7C81.7 863 178.1 883 178.1 883s38.4.7 66.5.7c3 8.1 5.2 47.3 48.8 47.3 43.6 0 48.8-47.3 48.8-47.3s319.2-1.5 345.8-1.5c1.5 13.3 8.1 49.5 51.7 48.8 43.6-.7 46.6-51.7 46.6-51.7s14.8-1.5 59.1 0c103.4-19.2 109.4-140.4 109.4-140.4s-1.5-248.3 0-372.4C951.8 242.4 844 218.7 844 218.7s-85 .1-194.6-.5l80.2-77.8s12.8-15.8-8.9-33.5C699 89.2 697.9 97 690.6 102c-6.6 4.5-103.1 99.5-120.2 116.3l-113.8-.2S340.7 104 333.4 99c-7.3-4.9-8.5-12.8-30.1 4.9-21.7 17.7-8.9 33.5-8.9 33.5l83.2 80.6-201.7.7zm689.8 542.8c0 19.6-15.5 35.5-34.6 35.5H201.8c-19.1 0-34.6-15.9-34.6-35.5V344.8c0-19.6 15.5-35.5 34.6-35.5H831c19.1 0 34.6 15.9 34.6 35.5v416.7z"/>
<path class="st1" d="M512 340c-116 0-210 94-210 210s94 210 210 210 210-94 210-210-94-210-210-210zm0 375c-91.1 0-165-73.9-165-165s73.9-165 165-165 165 73.9 165 165-73.9 165-165 165z"/>
<path class="st1" d="M512 490c-33.1 0-60 26.9-60 60 0 12.4-10.1 22.5-22.5 22.5S407 562.4 407 550c0-58 47-105 105-105 12.4 0 22.5 10.1 22.5 22.5S524.4 490 512 490z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,13 +1,18 @@
# BiliBili Stream Recorder B站录播姬 <div style="text-align:center">
<img width="20%" src=".github/assets/logo.svg">
[![Build and Test](https://github.com/Bililive/BililiveRecorder/actions/workflows/build.yml/badge.svg)](https://github.com/Bililive/BililiveRecorder/actions/workflows/build.yml) # B站录播姬
[![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)](#) [![Version](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=Version)](#)
[![License](https://img.shields.io/github/license/Bililive/BililiveRecorder.svg)](#) [![License](https://img.shields.io/github/license/Bililive/BililiveRecorder.svg)](#)
[![Crowdin](https://badges.crowdin.net/bililiverecorder/localized.svg)](https://crowdin.com/project/bililiverecorder) [![Crowdin](https://badges.crowdin.net/bililiverecorder/localized.svg)](https://crowdin.com/project/bililiverecorder)
</div>
[简体中文 README | Simplified Chinese](README_CN.md) [简体中文 README | Simplified Chinese](README_CN.md)
GitHub is a global platform, and theoretically, everyone should use English. But since this project is mostly meant for Chinese user and rely on a Chinese website [BiliBili](https://live.bilibili.com) ([_wikipedia_](https://en.wikipedia.org/wiki/Bilibili)), all code comments are in Chinese. This README file will always use English so people like _you_ can understand what is this, and perhaps make some use out of it. GitHub is a global platform, and theoretically, everyone should use English. But since this project is mostly meant for Chinese user and rely on a Chinese website [BiliBili](https://live.bilibili.com) ([_wikipedia_](https://en.wikipedia.org/wiki/Bilibili)), most things related to this project like code comments, documentations and other related repositories are written in Chinese. This README file will always use English so people like _you_ can understand what is this, and perhaps make some use out of it.
Software UI is available in Software UI is available in
@ -16,9 +21,18 @@ Software UI is available in
- 日本語 - 日本語
- English - English
## Install & Use ## Installation
See [rec.danmuji.org](https://rec.danmuji.org) (in Chinese) See [rec.danmuji.org](https://rec.danmuji.org) (in Chinese) for Windows installer with auto update.
Alernatively, you can download from [releases](https://github.com/BililiveRecorder/BililiveRecorder/releases) page.
The zip file avaiable at the releases page does not have auto update enabled. You are welcome to watch this repository for releases. (Click the "Watch" dropdown menu, then "Custom", and check the "Releases" checkbox).
Binary files of the command line version are available for Linux, macOS, and Windows at [releases](https://github.com/BililiveRecorder/BililiveRecorder/releases).
Docker images are available at [Docker Hub `bililive/recorder`](https://hub.docker.com/r/bililive/recorder) or [`ghcr.io/bililiverecorder/bililiverecorder`](https://github.com/bililiverecorder/BililiveRecorder/pkgs/container/bililiverecorder).
Step by step installation guides are avaiable at [rec.danmuji.org/user/install](https://rec.danmuji.org/user/install) (in Chinese).
## Feature ## Feature
@ -33,21 +47,58 @@ See [rec.danmuji.org](https://rec.danmuji.org) (in Chinese)
<sup>1</sup>: Only unprocessed flv file downloaded directly from stream servers can be fixed. If the file is downloaded or processed by FFmpeg it no longer can be fixed, FFmpeg will fvck up the already broken recording even further. <sup>1</sup>: Only unprocessed flv file downloaded directly from stream servers can be fixed. If the file is downloaded or processed by FFmpeg it no longer can be fixed, FFmpeg will fvck up the already broken recording even further.
<sup>2</sup>: A minimal version of FFmpeg is bundled with the desktop edition of BililiveRecorder for the remux feature in toolbox. <sup>2</sup>: A minimal version of FFmpeg is bundled with the desktop edition of BililiveRecorder for the remux feature in toolbox.
## Develop & Build
Visual Studio 2019 with .NET 5 is recommended, though any other IDE should work too.
Project | Target | Note
:---:|:---:|:---:
BililiveRecorder.WPF | .NET Framework 4.7.2 | Windows only GUI
BililiveRecorder.Cli | .NET 5 | Cross-platform
BililiveRecorder.ToolBox | .NET Standard 2.0 | library used by WPF & Cli
BililiveRecorder.Core | .NET Standard 2.0 | Main recording logic
BililiveRecorder.Flv | .NET Standard 2.0 | Data processing logic
## Versioning ## Versioning
This project does not follow semantic versioning, no source code compatibility is guaranteed between any version. This project is following Semantic Versioning since version 2.0.0.
Please note this does not include the public .NET API of `BililiveRecorder.Flv`, or any project within this repository for that matter. They are considered as internal implementation thus could have breaking changes in any releases.
## Building from source
Note: full git history is required for version generation to work.
WPF version:
```powershell
cd BililiveRecorder.WPF
msbuild -t:restore
msbuild
```
Command line version:
```sh
# Build WebUI, optional
git submodule update --init --recursive
./webui/build.sh
# For building on Windows:
# ./webui/build.ps1
dotnet build BililiveRecorder.Cli
```
## Project structure
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 |
```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
```
## Reference & Acknowledgements ## Reference & Acknowledgements

View File

@ -1,14 +1,26 @@
<div style="text-align:center">
<img width="20%" src=".github/assets/logo.svg">
# B站录播姬 # B站录播姬
[![Build and Test](https://github.com/Bililive/BililiveRecorder/actions/workflows/build.yml/badge.svg)](https://github.com/Bililive/BililiveRecorder/actions/workflows/build.yml) [![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)
[![当前版本](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=当前版本)](#) [![Version](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=Version)](#)
[![开源协议](https://img.shields.io/github/license/Bililive/BililiveRecorder.svg?label=开源协议)](#) [![License](https://img.shields.io/github/license/Bililive/BililiveRecorder.svg)](#)
[![QQ群 689636812](https://img.shields.io/badge/QQ%E7%BE%A4-689636812-success)](https://jq.qq.com/?_wv=1027&k=5zVwEyf)
[![Crowdin](https://badges.crowdin.net/bililiverecorder/localized.svg)](https://crowdin.com/project/bililiverecorder) [![Crowdin](https://badges.crowdin.net/bililiverecorder/localized.svg)](https://crowdin.com/project/bililiverecorder)
## 安装 & 使用 </div>
参见网站 [rec.danmuji.org](https://rec.danmuji.org) ## 安装
在 [rec.danmuji.org](https://rec.danmuji.org) 提供了有自动更新功能的安装包。
或者也可以在 [releases](https://github.com/BililiveRecorder/BililiveRecorder/releases) 页面下载 “绿色版” 压缩包,没有版本检查和更新功能。你可以 watch 本仓库的新版本发布(点击 “Watch” 、点击 “Custom”、勾选 “Releases”
命令行版可执行文件可以在 [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)。
## 功能 ## 功能
@ -23,21 +35,58 @@
<sup>1</sup>仅限未经处理的直接从直播服务器下载的原始FLV文件。 如果录播是用 FFmpeg 录制的或处理过的就无法修复了FFmpeg 会进一步损坏有问题的文件。 <sup>1</sup>仅限未经处理的直接从直播服务器下载的原始FLV文件。 如果录播是用 FFmpeg 录制的或处理过的就无法修复了FFmpeg 会进一步损坏有问题的文件。
<sup>2</sup>:录播姬桌面版内含了一个 mini 版 FFmpeg 用于工具箱内的转封装功能。 <sup>2</sup>:录播姬桌面版内含了一个 mini 版 FFmpeg 用于工具箱内的转封装功能。
## 开发 & 编译
推荐使用选配了 .NET 5 开发的 Visual Studio 2019不过其他 IDE 应该也可以。
项目 | 平台 | 备注
:---:|:---:|:---:
BililiveRecorder.WPF | .NET Framework 4.7.2 | Windows only GUI
BililiveRecorder.Cli | .NET 5 | 跨平台命令行
BililiveRecorder.ToolBox | .NET Standard 2.0 | WPF 和 Cli 使用的库
BililiveRecorder.Core | .NET Standard 2.0 | 核心录制逻辑
BililiveRecorder.Flv | .NET Standard 2.0 | 数据处理逻辑
## 版本号 ## 版本号
本项目不使用 Semantic Versioning不保证任何版本之间源代码接口的兼容性。 本项目从 2.0.0 开始使用 Semantic Versioning。
请注意各个项目(比如 `BililiveRecorder.Flv`)的 .NET API 就算是 public 的也属于内部实现,所以不保证任何版本之间源代码接口的兼容性。
## 编译
注意:需要有完整的 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 |
```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
```
## 参考资料 & 鸣谢 ## 参考资料 & 鸣谢