mirror of
https://github.com/langhuihui/monibuca.git
synced 2025-09-27 05:35:57 +08:00
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"flag"
|
|
"fmt"
|
|
"path/filepath"
|
|
"strings"
|
|
"time"
|
|
|
|
"m7s.live/v5"
|
|
_ "m7s.live/v5/plugin/debug"
|
|
_ "m7s.live/v5/plugin/flv"
|
|
_ "m7s.live/v5/plugin/gb28181"
|
|
_ "m7s.live/v5/plugin/logrotate"
|
|
_ "m7s.live/v5/plugin/mp4"
|
|
mp4 "m7s.live/v5/plugin/mp4/pkg"
|
|
_ "m7s.live/v5/plugin/preview"
|
|
_ "m7s.live/v5/plugin/rtmp"
|
|
_ "m7s.live/v5/plugin/rtsp"
|
|
_ "m7s.live/v5/plugin/sei"
|
|
_ "m7s.live/v5/plugin/srt"
|
|
_ "m7s.live/v5/plugin/test"
|
|
_ "m7s.live/v5/plugin/transcode"
|
|
_ "m7s.live/v5/plugin/webrtc"
|
|
)
|
|
|
|
func main() {
|
|
conf := flag.String("c", "config.yaml", "config file")
|
|
flag.Parse()
|
|
mp4.CustomFileName = func(job *m7s.RecordJob) string {
|
|
if job.RecConf.Fragment == 0 {
|
|
return job.RecConf.FilePath + ".mp4"
|
|
}
|
|
ss := strings.Split(job.StreamPath, "/")
|
|
lastPart := ss[len(ss)-1]
|
|
return filepath.Join(job.RecConf.FilePath, fmt.Sprintf("%s_%s%s", lastPart, time.Now().Local().Format("2006-01-02-15-04-05"), ".mp4"))
|
|
}
|
|
// ctx, _ := context.WithDeadline(context.Background(), time.Now().Add(time.Second*100))
|
|
m7s.Run(context.Background(), *conf)
|
|
}
|