From 47d85edc9640abef0ee6ff7a413ee3424e5daf22 Mon Sep 17 00:00:00 2001 From: qydysky <32743305+qydysky@users.noreply.github.com> Date: Mon, 30 Jan 2023 19:54:25 +0800 Subject: [PATCH] =?utf8?q?Add=20=E5=8F=AF=E8=87=AA=E5=AE=9A=E4=B9=89?= =?utf8?q?=E5=BD=95=E6=92=AD=E5=9B=9E=E6=94=BE=E7=BD=91=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Reply/F.go | 13 ++++++++++++- demo/config/config_K_v.json | 2 ++ demo/go.mod | 1 + demo/go.sum | 2 ++ go.mod | 1 + go.sum | 2 ++ 6 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Reply/F.go b/Reply/F.go index 81523c1..7408a2a 100644 --- a/Reply/F.go +++ b/Reply/F.go @@ -19,6 +19,7 @@ import ( // "runtime" + humanize "github.com/dustin/go-humanize" "golang.org/x/text/encoding/simplifiedchinese" c "github.com/qydysky/bili_danmu/CV" @@ -1191,7 +1192,17 @@ func init() { f := file.New(v, int64(rangeHeaderNum), false) defer f.Close() - if e := f.CopyToIoWriter(w, 1000000, true); e != nil { + // 直播流回放速率 + var speed, _ = humanize.ParseBytes("1 M") + if rc, ok := c.C.K_v.LoadV(`直播流回放速率`).(string); ok { + if s, e := humanize.ParseBytes(rc); e != nil { + flog.L(`W: `, `直播流回放速率不合法:`, e) + } else { + speed = s + } + } + + if e := f.CopyToIoWriter(w, int64(speed), true); e != nil { flog.L(`E: `, e) } } else { diff --git a/demo/config/config_K_v.json b/demo/config/config_K_v.json index 50eda57..73cbba8 100644 --- a/demo/config/config_K_v.json +++ b/demo/config/config_K_v.json @@ -69,6 +69,8 @@ "直播Web可以发送弹幕":true, "弹幕回放-help": "仅保存当前直播间流为true时才有效", "弹幕回放": true, + "直播流回放速率-help": "速率为每秒速率 例最小值(1 MB)", + "直播流回放速率": "1 MB", "ass-help": "只有保存直播流时才考虑生成ass,ass编码默认GB18030(可选utf-8)", "生成Ass弹幕": true, "Ass编码": "GB18030", diff --git a/demo/go.mod b/demo/go.mod index 45dba61..f87b02f 100644 --- a/demo/go.mod +++ b/demo/go.mod @@ -7,6 +7,7 @@ require github.com/qydysky/bili_danmu v0.5.9 require ( github.com/andybalholm/brotli v1.0.4 // indirect github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/gofrs/uuid v4.3.0+incompatible // indirect github.com/gorilla/websocket v1.5.0 // indirect diff --git a/demo/go.sum b/demo/go.sum index 85b1c2a..8e748d8 100644 --- a/demo/go.sum +++ b/demo/go.sum @@ -12,6 +12,8 @@ github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5/go github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= diff --git a/go.mod b/go.mod index f9018ea..1467ce6 100644 --- a/go.mod +++ b/go.mod @@ -16,6 +16,7 @@ require ( require ( github.com/andybalholm/brotli v1.0.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dustin/go-humanize v1.0.1 github.com/go-ole/go-ole v1.2.6 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/klauspost/compress v1.15.11 // indirect diff --git a/go.sum b/go.sum index f1bd25b..9dc4b24 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,8 @@ github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5/go github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -- 2.39.2