mirror of
https://github.com/langhuihui/monibuca.git
synced 2025-10-30 03:31:51 +08:00
50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package transcode
|
|
|
|
import "m7s.live/m7s/v5"
|
|
|
|
// / 定义传输模式的常量
|
|
const (
|
|
TRANS_MODE_PIPE TransMode = "pipe"
|
|
TRANS_MODE_RTSP TransMode = "rtsp"
|
|
TRANS_MODE_RTMP TransMode = "rtmp"
|
|
TRANS_MODE_LIB TransMode = "lib"
|
|
)
|
|
|
|
type (
|
|
TransMode string
|
|
DecodeConfig struct {
|
|
Codec string `json:"codec" desc:"解码器"`
|
|
Track string `json:"track" desc:"待解码的 track 名称"`
|
|
Args string `json:"args" desc:"解码参数"`
|
|
}
|
|
EncodeConfig struct {
|
|
Codec string `json:"codec" desc:"编码器"`
|
|
Track string `json:"track" desc:"待编码的 track 名称"`
|
|
Args string `json:"args" desc:"编码参数"`
|
|
Dest string `json:"dest" desc:"目标主机路径"`
|
|
}
|
|
TransRule struct {
|
|
From DecodeConfig `json:"from"`
|
|
To []EncodeConfig `json:"to" desc:"编码配置"` //目标
|
|
Mode TransMode `json:"mode" desc:"转码模式"` //转码模式
|
|
LogToFile bool `json:"logtofile" desc:"转码是否写入日志"` //转码日志写入文件
|
|
PreStart bool `json:"prestart" desc:"是否预转码"` //预转码
|
|
}
|
|
)
|
|
|
|
func NewTransform() m7s.ITransformer {
|
|
return &Transformer{}
|
|
}
|
|
|
|
type Transformer struct {
|
|
m7s.DefaultTransformer
|
|
}
|
|
|
|
func (t *Transformer) Start() (err error) {
|
|
err = t.TransformJob.Subscribe()
|
|
if err == nil {
|
|
|
|
}
|
|
return
|
|
}
|