2018-03-12 18:57:20 +08:00
|
|
|
|
# B站录播姬
|
|
|
|
|
|
2018-03-25 15:23:48 +08:00
|
|
|
|
[![编译状态](https://ci.appveyor.com/api/projects/status/1n4822yitgtu7ht7?svg=true)](https://ci.appveyor.com/project/Genteure/bililiverecorder)
|
2018-04-17 12:26:12 +08:00
|
|
|
|
[![当前版本](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=当前版本)](#)
|
|
|
|
|
[![需要帮助的 issue](https://img.shields.io/github/issues/Bililive/BililiveRecorder/help%20wanted.svg?label=需要帮助的%20issue)](https://github.com/Bililive/BililiveRecorder/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
|
|
|
|
|
[![Pull Request Welcome](https://img.shields.io/badge/Pull%20request-欢迎-brightgreen.svg)](#)
|
|
|
|
|
[![开源协议](https://img.shields.io/github/license/Bililive/BililiveRecorder.svg?label=开源协议)](#)
|
2020-02-23 16:54:55 +08:00
|
|
|
|
[<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="112" height="20"><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="a"><rect width="112" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#a)"><path fill="#555" d="M0 0h39v20H0z"/><path fill="#4c1" d="M39 0h73v20H39z"/><path fill="url(#b)" d="M0 0h112v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"> <text x="205" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="290">QQ群</text><text x="205" y="140" transform="scale(.1)" textLength="290">QQ群</text><text x="745" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="630">689636812</text><text x="745" y="140" transform="scale(.1)" textLength="630">689636812</text></g> </svg>](https://jq.qq.com/?_wv=1027&k=5zVwEyf)
|
2018-03-25 15:23:48 +08:00
|
|
|
|
|
2018-03-31 17:05:16 +08:00
|
|
|
|
## 安装 & 使用
|
|
|
|
|
|
|
|
|
|
参见网站 [rec.danmuji.org](https://rec.danmuji.org)
|
|
|
|
|
|
|
|
|
|
## 功能
|
|
|
|
|
|
|
|
|
|
- 使用简单
|
2019-11-24 08:40:01 +08:00
|
|
|
|
- 使录出的文件时间戳从 0 开始
|
|
|
|
|
- 录制结束后自动写入总时长信息
|
2018-03-31 17:05:16 +08:00
|
|
|
|
- 可以主播开播后自动录制
|
|
|
|
|
- 可以同时录制多个直播间
|
2019-11-24 08:40:01 +08:00
|
|
|
|
- 纯 C# 实现,无 ffmpeg 等 native 依赖
|
2018-03-31 17:05:16 +08:00
|
|
|
|
- 开源!
|
|
|
|
|
|
|
|
|
|
## 入门 & 开发
|
|
|
|
|
|
|
|
|
|
开发之前,你需要
|
|
|
|
|
|
2020-02-23 16:54:55 +08:00
|
|
|
|
- Visual Studio 2017 / 2019 并安装 .NET Core 开发环境
|
2018-03-31 17:05:16 +08:00
|
|
|
|
- PowerShell
|
|
|
|
|
|
|
|
|
|
项目中有两个文件是由 [编译前脚本](./CI/patch_buildinfo.ps1) 生成的,打开项目后先编译整个项目(执行脚本)可以消除 Visual Studio 给出的错误提醒。
|
|
|
|
|
|
|
|
|
|
项目 | 类型 | 备注
|
|
|
|
|
:---:|:---:|:---
|
|
|
|
|
BililiveRecorder.WPF | .NET Framework 4.6.2
|
|
|
|
|
BililiveRecorder.Core | .NET Standard 2.0
|
|
|
|
|
BililiveRecorder.FlvProcessor | .NET Standard 2.0
|
2019-11-24 08:40:01 +08:00
|
|
|
|
BililiveRecorder.Server | .NET Core 2.0 | 预留坑,将来填(咕咕咕)
|
2018-03-31 17:05:16 +08:00
|
|
|
|
|
|
|
|
|
如果你想研究这个项目的源代码,或修改功能的话:
|
|
|
|
|
|
|
|
|
|
- WPF 界面建议从 `BililiveRecorder.WPF/MainWindow.xaml` 开始看
|
|
|
|
|
- 录制逻辑建议从 `BililiveRecorder.Core/Recorder.cs` 开始看
|
|
|
|
|
- FLV数据处理建议从 `BililiveRecorder.FlvProcessor/FlvStreamProcessor.cs` 开始看
|
|
|
|
|
|
2019-11-24 08:40:01 +08:00
|
|
|
|
## Server 版说明
|
|
|
|
|
|
|
|
|
|
本项目核心逻辑均与 WPF 界面分离,使用 .NET Standard 2.0 而不是 .NET Framework,可以较轻松地改出可在 Linux 上运行的 .NET Core 版本,但因为本人没时间等原因一直没有做。
|
|
|
|
|
|
|
|
|
|
如果有有能人士有在 Linux 上运行本项目的需求的话可以自行 fork 修改(但我大概不会 merge 回来)
|
|
|
|
|
|
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)
|
|
|
|
|
- [coreyauger/flv-streamer-2-file](https://github.com/coreyauger/flv-streamer-2-file)
|
|
|
|
|
- [zyzsdy/biliroku](https://github.com/zyzsdy/biliroku): (大概是)第一个B站直播录播工具
|