mirror of
https://github.com/Monibuca/plugin-record.git
synced 2025-10-04 00:16:26 +08:00
录制支持追加模式,并优化文档
This commit is contained in:
@@ -4,13 +4,18 @@ record plugin for monibuca
|
|||||||
实现了录制Flv文件的功能,并且支持再次使用录制好的Flv文件作为发布者进行发布。
|
实现了录制Flv文件的功能,并且支持再次使用录制好的Flv文件作为发布者进行发布。
|
||||||
|
|
||||||
## 默认配置
|
## 默认配置
|
||||||
配置中的Path 表示要保存的Flv文件的根路径,可以使用相对路径或者绝对路径
|
|
||||||
```toml
|
```toml
|
||||||
[Record]
|
[Record]
|
||||||
Path = ""
|
Path = "resource/[appName]/[streamName]"
|
||||||
AutoRecord = false
|
AutoRecord = false
|
||||||
|
AppendFlv = false
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- `Path` 表示要保存的Flv文件的根路径,可以使用相对路径或者绝对路径,默认为流路径
|
||||||
|
- `AutoRecord` 是否自动开启录制
|
||||||
|
- `AppendFlv` 当存在历史录制文件时,是否追加写入,如果不存在历史录制文件,则总是新创建文件
|
||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
- `/api/record/flv/list` 罗列所有录制的flv文件
|
- `/api/record/flv/list` 罗列所有录制的flv文件
|
||||||
|
6
main.go
6
main.go
@@ -17,6 +17,7 @@ import (
|
|||||||
var config struct {
|
var config struct {
|
||||||
Path string
|
Path string
|
||||||
AutoRecord bool
|
AutoRecord bool
|
||||||
|
AppendFlv bool
|
||||||
}
|
}
|
||||||
var recordings sync.Map
|
var recordings sync.Map
|
||||||
|
|
||||||
@@ -46,6 +47,9 @@ func init() {
|
|||||||
"AutoRecord": func(v interface{}) {
|
"AutoRecord": func(v interface{}) {
|
||||||
config.AutoRecord = v.(bool)
|
config.AutoRecord = v.(bool)
|
||||||
},
|
},
|
||||||
|
"AppendFlv": func(v interface{}) {
|
||||||
|
config.AppendFlv = v.(bool)
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
pc.Install(run)
|
pc.Install(run)
|
||||||
@@ -128,7 +132,7 @@ func run() {
|
|||||||
|
|
||||||
func onPublish(p *Stream) {
|
func onPublish(p *Stream) {
|
||||||
if config.AutoRecord || (ExtraConfig.AutoRecordFilter != nil && ExtraConfig.AutoRecordFilter(p.StreamPath)) {
|
if config.AutoRecord || (ExtraConfig.AutoRecordFilter != nil && ExtraConfig.AutoRecordFilter(p.StreamPath)) {
|
||||||
SaveFlv(p.StreamPath, false)
|
SaveFlv(p.StreamPath, config.AppendFlv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user