From 0ec981937e4bf3fc84d93314fb41747512f04899 Mon Sep 17 00:00:00 2001 From: qydysky <32743305+qydysky@users.noreply.github.com> Date: Wed, 1 Feb 2023 02:38:55 +0800 Subject: [PATCH] =?utf8?q?Improve=20=E7=A7=BB=E9=99=A4OBS=E6=8E=A7?= =?utf8?q?=E5=88=B6=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- Reply/F.go | 174 ++++++++++++++++++------------------ demo/config/config_K_v.json | 1 - 3 files changed, 87 insertions(+), 90 deletions(-) diff --git a/README.md b/README.md index c6e2ecb..aba47ee 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ - [x] 舰长数统计 - [x] 直播流保存(默认hls,支持flv) - [x] ASS字幕生成 -- [x] OBS调用 +- [x] ~~OBS调用~~ - [x] 节奏提示 - [x] 反射型弹幕机 - [x] 自动型弹幕机 diff --git a/Reply/F.go b/Reply/F.go index f0ae2be..9db9c22 100644 --- a/Reply/F.go +++ b/Reply/F.go @@ -10,7 +10,6 @@ import ( "math" "net/http" "net/url" - "os/exec" "path/filepath" "strconv" "strings" @@ -36,7 +35,6 @@ import ( web "github.com/qydysky/part/web" websocket "github.com/qydysky/part/websocket" - obsws "github.com/christopher-dG/go-obs-websocket" encoder "golang.org/x/text/encoding" ) @@ -361,99 +359,99 @@ func StreamOStop(roomid int) { } } -type Obs struct { - c obsws.Client - Prog string //程序路径 -} +// type Obs struct { +// c obsws.Client +// Prog string //程序路径 +// } -var obs = Obs{ - c: obsws.Client{Host: "127.0.0.1", Port: 4444}, - Prog: "obs", -} +// var obs = Obs{ +// c: obsws.Client{Host: "127.0.0.1", Port: 4444}, +// Prog: "obs", +// } -func Obsf(on bool) { - if !IsOn("调用obs") { - return - } - l := c.C.Log.Base(`obs`) +// func Obsf(on bool) { +// if !IsOn("调用obs") { +// return +// } +// l := c.C.Log.Base(`obs`) - if on { - if sys.Sys().CheckProgram("obs")[0] != 0 { - l.L(`W: `, "obs已经启动") - return - } - if sys.Sys().CheckProgram("obs")[0] == 0 { - if obs.Prog == "" { - l.L(`E: `, "未知的obs程序位置") - return - } - l.L(`I: `, "启动obs") - p.Exec().Start(exec.Command(obs.Prog)) - sys.Sys().Timeoutf(3) - } +// if on { +// if sys.Sys().CheckProgram("obs")[0] != 0 { +// l.L(`W: `, "obs已经启动") +// return +// } +// if sys.Sys().CheckProgram("obs")[0] == 0 { +// if obs.Prog == "" { +// l.L(`E: `, "未知的obs程序位置") +// return +// } +// l.L(`I: `, "启动obs") +// p.Exec().Start(exec.Command(obs.Prog)) +// sys.Sys().Timeoutf(3) +// } - // Connect a client. - if err := obs.c.Connect(); err != nil { - l.L(`E: `, err) - return - } - } else { - if sys.Sys().CheckProgram("obs")[0] == 0 { - l.L(`W: `, "obs未启动") - return - } - obs.c.Disconnect() - } -} +// // Connect a client. +// if err := obs.c.Connect(); err != nil { +// l.L(`E: `, err) +// return +// } +// } else { +// if sys.Sys().CheckProgram("obs")[0] == 0 { +// l.L(`W: `, "obs未启动") +// return +// } +// obs.c.Disconnect() +// } +// } -func Obs_R(on bool) { - if !IsOn("调用obs") { - return - } +// func Obs_R(on bool) { +// if !IsOn("调用obs") { +// return +// } - l := c.C.Log.Base("obs_R") +// l := c.C.Log.Base("obs_R") - if sys.Sys().CheckProgram("obs")[0] == 0 { - l.L(`W: `, "obs未启动") - return - } else { - if err := obs.c.Connect(); err != nil { - l.L(`E: `, err) - return - } - } - //录 - if on { - req := obsws.NewStartRecordingRequest() - if err := req.Send(obs.c); err != nil { - l.L(`E: `, err) - return - } - resp, err := req.Receive() - if err != nil { - l.L(`E: `, err) - return - } - if resp.Status() == "ok" { - l.L(`I: `, "开始录制") - } - } else { - req := obsws.NewStopRecordingRequest() - if err := req.Send(obs.c); err != nil { - l.L(`E: `, err) - return - } - resp, err := req.Receive() - if err != nil { - l.L(`E: `, err) - return - } - if resp.Status() == "ok" { - l.L(`I: `, "停止录制") - } - sys.Sys().Timeoutf(3) - } -} +// if sys.Sys().CheckProgram("obs")[0] == 0 { +// l.L(`W: `, "obs未启动") +// return +// } else { +// if err := obs.c.Connect(); err != nil { +// l.L(`E: `, err) +// return +// } +// } +// //录 +// if on { +// req := obsws.NewStartRecordingRequest() +// if err := req.Send(obs.c); err != nil { +// l.L(`E: `, err) +// return +// } +// resp, err := req.Receive() +// if err != nil { +// l.L(`E: `, err) +// return +// } +// if resp.Status() == "ok" { +// l.L(`I: `, "开始录制") +// } +// } else { +// req := obsws.NewStopRecordingRequest() +// if err := req.Send(obs.c); err != nil { +// l.L(`E: `, err) +// return +// } +// resp, err := req.Receive() +// if err != nil { +// l.L(`E: `, err) +// return +// } +// if resp.Status() == "ok" { +// l.L(`I: `, "停止录制") +// } +// sys.Sys().Timeoutf(3) +// } +// } type Autoban struct { Banbuf []string diff --git a/demo/config/config_K_v.json b/demo/config/config_K_v.json index 73cbba8..1396f2f 100644 --- a/demo/config/config_K_v.json +++ b/demo/config/config_K_v.json @@ -51,7 +51,6 @@ ], "统计营收": true, "Gtk弹幕窗": false, - "调用obs": false, "直播流清晰度-help": "清晰度可选-1:不保存 0:默认 20000:4K 10000:原画 400:蓝光 250:超清 150:高清 80:流畅,无提供所选清晰度时,使用低一档清晰度", "直播流清晰度": 10000, "直播流类型-help": "flv,fmp4,flvH,fmp4H,带H后缀的为Hevc格式编码", -- 2.39.2