GitHub is a global platform, and theoretically, everyone should use English. But since this project is only meant for Chinese user and rely on a Chinese website [BiliBili](https://live.bilibili.com), 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.
## Install & Use
See [rec.danmuji.org](https://rec.danmuji.org) (in Chinese)
## Feature
- Eazy to use
- Fix timestamp automatically
- Start recording when stream starts
- Record multiple stream at same time
- Have a "Clip" Feature (just like [Twitch's](https://help.twitch.tv/customer/portal/articles/2442508-how-to-use-clips))
- Pure C#, no native dependents
- Open source!
## Develop & Getting Started
You'll need:
- Visual Studio 2017 with .NET Core
- PowerShell
Some file are generated by [PreComplie Script](./CI/patch_buildinfo.ps1). Build project to clear errors shown by Visual Studio.
Project | Type | Note
:---:|:---:|:---
BililiveRecorder.WPF | .NET Framework 4.6.2
BililiveRecorder.Core | .NET Standard 2.0
BililiveRecorder.FlvProcessor | .NET Standard 2.0
BililiveRecorder.Server | .NET Core 2.0 | TODO
You can start poking around from...
-`BililiveRecorder.WPF/MainWindow.xaml` about WPF gui
-`BililiveRecorder.Core/Recorder.cs` about core record logic
-`BililiveRecorder.FlvProcessor/FlvStreamProcessor.cs` about FLV data process
## Reference & Acknowledgements
- [coreyauger/flv-streamer-2-file](https://github.com/coreyauger/flv-streamer-2-file): An awesome library.
- [zyzsdy/biliroku](https://github.com/zyzsdy/biliroku): First BiliBili stream record tool.
- [Video File Format Specification Version 10.pdf](https://wwwimages2.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec_v10.pdf)