2018-03-12 18:57:20 +08:00
|
|
|
|
# 关于本项目的备忘随手笔记
|
|
|
|
|
|
|
|
|
|
- FLV处理模块 | Library
|
|
|
|
|
- 解析文件头
|
|
|
|
|
- 解析数据块
|
|
|
|
|
- 根据时间戳保存一定量的数据(Clip功能)
|
|
|
|
|
- 录制任务管理 | Library
|
|
|
|
|
- 对外提供 ObservableCollection
|
|
|
|
|
- 将来的版本再做弹幕录制导出
|
|
|
|
|
- Windows WPF 界面 | WPF
|
|
|
|
|
- 绑定 ObservableCollection
|
|
|
|
|
- 命令行 + 配置文件 跨平台录制工具 | Standard
|
|
|
|
|
|
2018-03-13 14:23:53 +08:00
|
|
|
|
- WPF界面
|
|
|
|
|
- `Recorder` 核心录制逻辑在这里
|
|
|
|
|
- `StreamMonitor`
|
|
|
|
|
- `DanmakuReceiver`
|
|
|
|
|
- `HttpWebRequest`
|
|
|
|
|
- `FlvStreamProcessor`
|
|
|
|
|
- `ObservableCollection<FlvClipProcessor>`
|
|
|
|
|
|
2018-03-13 13:21:01 +08:00
|
|
|
|
## flv处理模块 `FlvStreamProcessor`
|
2018-03-12 18:57:20 +08:00
|
|
|
|
|
|
|
|
|
- 对外提供的API应该继承 IDisposable
|
|
|
|
|
- 插入自定义FLV文件头
|
|
|
|
|
- 提供一个对Stream友好的写入字节流的接口
|
2018-03-13 13:21:01 +08:00
|
|
|
|
- 提供一个 Clip 方法
|
|
|
|
|
- Clip 方法应当不需要传入参数
|
|
|
|
|
- Clip 的时长应当由主 `FlvStreamProcessor` 设置
|
|
|
|
|
- 被 Clip 后的生成的 `FlvStreamProcessor` 应当拒绝再执行 Clip
|
|
|
|
|
- (?) 主 `FlvStreamProcessor` 应当自动传递处理后的数据给 Clips
|
2018-03-24 02:27:58 +08:00
|
|
|
|
- 输出位置应当尽量由调用方决定(但不能直接接受 Stream ,因为要重写覆盖文件头)
|
|
|
|
|
|
|
|
|
|
## 各种东西的叫法
|
|
|
|
|
|
|
|
|
|
- 录播姬
|
|
|
|
|
- 回放剪辑
|
2018-03-25 05:38:56 +08:00
|
|
|
|
- 录制出来的文件类型
|
|
|
|
|
- 录制
|
|
|
|
|
- 剪辑
|
|
|
|
|
|
|
|
|
|
## Appveyor
|
|
|
|
|
|
|
|
|
|
- 每次 push dev 分支的时候
|
|
|
|
|
- 编译 Debug 版本
|
|
|
|
|
- 版本号: 0.0.0.{build}
|
|
|
|
|
- 打包上传到 Appveyor 的 artifacts 列表
|
|
|
|
|
- 每次 push tag 的时候
|
|
|
|
|
- 编译 Release 版本
|
|
|
|
|
- 版本号: {tag去掉v}.0
|
|
|
|
|
- 执行 publish
|
|
|
|
|
- 复制生成结果 git push 到 soft.danmuji.org
|
|
|
|
|
- master 分支手动维护,保持在最后一个 tag 上
|