"math"
"net/http"
"net/url"
- "os"
"os/exec"
"path/filepath"
"strconv"
} else if p.Checkfile().IsExist(v + "0.mp4") {
v += "0.mp4"
}
- if f, e := os.OpenFile(v, os.O_RDONLY, 0644); e != nil {
- w.Header().Set("Retry-After", "1")
- w.WriteHeader(http.StatusServiceUnavailable)
+
+ f := file.New(v, 0, false)
+ defer f.Close()
+
+ if e := f.CopyToIoWriter(w, 1000000, true); e != nil {
flog.L(`E: `, e)
- } else {
- // 流推送
- l := limit.New(5, 500, -1)
- defer l.Close()
- var buf = make([]byte, 1<<16)
- for {
- if n, e := f.Read(buf); e != nil {
- if errors.Is(e, io.EOF) {
- break
- } else {
- flog.L(`E: `, e)
- }
- } else {
- if _, e := w.Write(buf[:n]); e != nil {
- break
- }
- }
- l.TO()
- }
}
} else {
w.Header().Set("Retry-After", "1")
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.13 // indirect
+ github.com/qydysky/part v0.10.14 // 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
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.14 h1:Pf13/0mbl7Gc0qRnJXUDnzALqJKRDL88ZbQm5JI2nS0=
+github.com/qydysky/part v0.10.14/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.5+incompatible h1:OloQyEerMi7JUrXiNzy8wQ5XN+baemxSl12QgIzt0jc=
github.com/shirou/gopsutil v3.21.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
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.13
+ github.com/qydysky/part v0.10.14
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
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/qydysky/part v0.10.14 h1:Pf13/0mbl7Gc0qRnJXUDnzALqJKRDL88ZbQm5JI2nS0=
+github.com/qydysky/part v0.10.14/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=