From 9213e936ba10520623302b672647bec4a2cb07a5 Mon Sep 17 00:00:00 2001 From: qydysky <32743305+qydysky@users.noreply.github.com> Date: Sun, 16 Oct 2022 21:45:35 +0800 Subject: [PATCH] =?utf8?q?flv=E4=B8=AD=E6=96=ADfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Reply/stream.go | 11 ++++++----- demo/go.mod | 2 +- go.mod | 2 +- go.sum | 2 ++ 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Reply/stream.go b/Reply/stream.go index 54e17a3..2bb1985 100644 --- a/Reply/stream.go +++ b/Reply/stream.go @@ -446,7 +446,7 @@ func (t *M4SStream) saveStream() (e error) { // 获取流 switch t.stream_type { case `m3u8`: - e = t.saveStreamM4s() + fallthrough case `mp4`: e = t.saveStreamM4s() case `flv`: @@ -496,17 +496,18 @@ func (t *M4SStream) saveStreamFlv() (e error) { } rc, rw := io.Pipe() - var leastReadTime time.Time + var leastReadUnix = time.Now().Unix() // read timeout go func() { - timer := time.NewTimer(5 * time.Second) + timer := time.NewTicker(5 * time.Second) defer timer.Stop() for { select { case <-s.WaitC(): return case curT := <-timer.C: - if curT.Sub(leastReadTime).Seconds() > 5 { + if curT.Unix()-leastReadUnix > 5 { + t.log.L(`W: `, "5s未接收到任何数据") // 5s未接收到任何数据 r.Cancel() return @@ -521,7 +522,7 @@ func (t *M4SStream) saveStreamFlv() (e error) { var buf = make([]byte, 1<<16) for { n, e := rc.Read(buf) - leastReadTime = time.Now() + leastReadUnix = time.Now().Unix() buff = append(buff, buf[:n]...) if n > 0 { front_buf, keyframe, last_avilable_offset, e := Seach_stream_tag(buff) diff --git a/demo/go.mod b/demo/go.mod index 354f10c..8624802 100644 --- a/demo/go.mod +++ b/demo/go.mod @@ -15,7 +15,7 @@ require ( github.com/mdp/qrterminal/v3 v3.0.0 // indirect github.com/miekg/dns v1.1.50 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/qydysky/part v0.10.12 // indirect + github.com/qydysky/part v0.10.13 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e // indirect github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect diff --git a/go.mod b/go.mod index aea539b..04a2698 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/gofrs/uuid v4.3.0+incompatible github.com/gotk3/gotk3 v0.6.1 github.com/mdp/qrterminal/v3 v3.0.0 - github.com/qydysky/part v0.10.12 + github.com/qydysky/part v0.10.13 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 golang.org/x/text v0.3.8 diff --git a/go.sum b/go.sum index b627385..243d3d5 100644 --- a/go.sum +++ b/go.sum @@ -43,6 +43,8 @@ github.com/qydysky/part v0.10.11 h1:6KeTx3accgmzv+HwMP8mcYmWhWxAO7wxyPisQWJTfS4= github.com/qydysky/part v0.10.11/go.mod h1:B3GD/j5jmvwfKtnzDWqRYFqnwOXEyoUg/jShFk1yQSM= github.com/qydysky/part v0.10.12 h1:i5eMB/AMncs0pqWD3z1E8FivxiyDGGrsIQtKbkOjW/Y= github.com/qydysky/part v0.10.12/go.mod h1:B3GD/j5jmvwfKtnzDWqRYFqnwOXEyoUg/jShFk1yQSM= +github.com/qydysky/part v0.10.13 h1:X2pzesWFRTyEw164sP3AaijYiRH3WoaUcldzklrmcI8= +github.com/qydysky/part v0.10.13/go.mod h1:B3GD/j5jmvwfKtnzDWqRYFqnwOXEyoUg/jShFk1yQSM= github.com/shirou/gopsutil v3.20.12+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -- 2.39.2