录播姬 | mikufans 生放送录制
Go to file
2022-06-29 19:46:58 +08:00
.config Improve config code generation 2021-07-15 21:41:21 +08:00
.github CI: Add arm64 build for macOS 2022-06-14 22:41:56 +08:00
BililiveRecorder.Cli Cli: Separate log files 2022-06-28 23:08:20 +08:00
BililiveRecorder.Core Add stream host to stats 2022-06-29 19:46:58 +08:00
BililiveRecorder.Flv Add new option FlvProcessorSplitOnScriptTag 2022-06-25 17:31:21 +08:00
BililiveRecorder.ToolBox Add new option FlvProcessorSplitOnScriptTag 2022-06-25 17:31:21 +08:00
BililiveRecorder.Web Add stream host to stats 2022-06-29 19:46:58 +08:00
BililiveRecorder.WPF Add stream host to stats 2022-06-29 19:46:58 +08:00
config_gen Add new option FlvProcessorSplitOnScriptTag 2022-06-25 17:31:21 +08:00
test Core: Refactor file name templateing 2022-06-28 16:10:06 +08:00
webui update webui to v2.0.3 2022-06-24 19:57:33 +08:00
.editorconfig Update dockerfile and GitHub Actions workflow 2022-05-19 18:11:03 +08:00
.gitattributes init 2018-03-12 18:57:20 +08:00
.gitignore CLI: Embed WebUI 2022-06-06 12:36:58 +08:00
.gitmodules Move flv test data and expectations to a dedicated git repisitory. 2022-06-07 19:51:09 +08:00
appveyor.yml fix build 2021-02-26 22:25:35 +08:00
BannedSymbols.txt WPF: Disable minimize to tray icon when a ContentDialog is open. fix #316 2022-05-16 21:06:49 +08:00
BililiveRecorder.sln Web: Merge to one project, implement config GET/POST 2022-04-03 14:47:54 +08:00
configV2.schema.json Core: Strictly enforce qn settings 2021-11-20 14:34:35 +08:00
configV3.schema.json Add new option FlvProcessorSplitOnScriptTag 2022-06-25 17:31:21 +08:00
crowdin.yml Update Crowdin configuration file 2021-01-03 17:12:27 +08:00
Directory.Build.props Fix github actions artifacts 2022-05-17 02:51:47 +08:00
Dockerfile Expose port 2356 in Dockerfile 2022-06-23 17:46:17 +08:00
Dockerfile.GitHubActions Expose port 2356 in Dockerfile 2022-06-23 17:46:17 +08:00
GitVersion.yml update GitVersion.yml 2021-12-18 23:35:28 +08:00
global.json Update to .NET 6 2022-04-02 18:49:23 +08:00
lgtm.yml Add lgtm.yml 2022-06-28 22:18:51 +08:00
LICENSE Create LICENSE 2018-03-12 19:04:51 +08:00
nuget.config Maybe fix CI 2022-05-11 20:16:59 +08:00
README_CN.md Update README 2022-06-11 20:18:30 +08:00
README.md Update README.md and fix typo 2022-06-26 15:16:01 +08:00
RELEASING.md update RELEASING.md 2021-12-04 00:08:13 +08:00

B站录播姬

Build and Test Version License Crowdin

简体中文 README | Simplified Chinese

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 (wikipedia), 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

  • 简体中文 (Source and default)
  • 繁体中文
  • 日本語
  • English

Installation

See rec.danmuji.org (in Chinese) for Windows installer with auto update.

Alernatively, you can download from releases page.
The zip file available at the releases page does not have auto update enabled. You are welcome to watch this repository for new 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.

Docker images can be pulled from Docker Hub bililive/recorder or ghcr.io/bililiverecorder/bililiverecorder.

See rec.danmuji.org/user/install for step by step installation guides (in Chinese).

Feature

  • Easy to use
  • Start recording automatically when stream starts
  • Record multiple stream at same time
  • Fix broken recording caused by broken bilibili stream server
  • Toolbox mode to fix broken bilibili stream recording recorded by other software1
  • Pure C#, no native dependency like ffmpeg2
  • Open source!

1: 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.
2: A minimal version of FFmpeg is bundled with the desktop edition of BililiveRecorder for the remux feature in toolbox.

Versioning

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:

cd BililiveRecorder.WPF
msbuild -t:restore
msbuild

Command line version:

# 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
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