mirror of
https://github.com/bluenviron/mediamtx
synced 2025-01-11 09:29:35 +00:00
update dependencies (#1698)
This commit is contained in:
parent
f3a728b918
commit
02e6c24c83
6
go.mod
6
go.mod
@ -6,9 +6,9 @@ require (
|
||||
code.cloudfoundry.org/bytefmt v0.0.0
|
||||
github.com/alecthomas/kong v0.7.1
|
||||
github.com/asticode/go-astits v1.11.0
|
||||
github.com/bluenviron/gohlslib v0.2.0
|
||||
github.com/bluenviron/gortsplib/v3 v3.2.0
|
||||
github.com/bluenviron/mediacommon v0.2.0
|
||||
github.com/bluenviron/gohlslib v0.2.1
|
||||
github.com/bluenviron/gortsplib/v3 v3.2.1
|
||||
github.com/bluenviron/mediacommon v0.2.1
|
||||
github.com/fsnotify/fsnotify v1.6.0
|
||||
github.com/gin-gonic/gin v1.9.0
|
||||
github.com/google/uuid v1.3.0
|
||||
|
12
go.sum
12
go.sum
@ -10,12 +10,12 @@ github.com/asticode/go-astikit v0.30.0 h1:DkBkRQRIxYcknlaU7W7ksNfn4gMFsB0tqMJflx
|
||||
github.com/asticode/go-astikit v0.30.0/go.mod h1:h4ly7idim1tNhaVkdVBeXQZEE3L0xblP7fCWbgwipF0=
|
||||
github.com/asticode/go-astits v1.11.0 h1:GTHUXht0ZXAJXsVbsLIcyfHr1Bchi4QQwMARw2ZWAng=
|
||||
github.com/asticode/go-astits v1.11.0/go.mod h1:QSHmknZ51pf6KJdHKZHJTLlMegIrhega3LPWz3ND/iI=
|
||||
github.com/bluenviron/gohlslib v0.2.0 h1:EqUyOGyPBhwM10IfkZ1saG4TYK0+b90J3KKzsc9HzUQ=
|
||||
github.com/bluenviron/gohlslib v0.2.0/go.mod h1:jPRjSDyELabTOcVXkI/H3U3/sCMQZzpBL+8+GAlquPE=
|
||||
github.com/bluenviron/gortsplib/v3 v3.2.0 h1:Hnc29HzpU2RiX6WOrFHYHB6FuMh7AzOO9D0CwiA8wyI=
|
||||
github.com/bluenviron/gortsplib/v3 v3.2.0/go.mod h1:gAN1zD0tywu09WKNdHfXWU17VBJUVchXnhc4s+2H9Sc=
|
||||
github.com/bluenviron/mediacommon v0.2.0 h1:XEuIr8FA5bfzjsQhrITd6ILgN9JCl0e0Cu8IVFEp5Hk=
|
||||
github.com/bluenviron/mediacommon v0.2.0/go.mod h1:t0dqPsWUTchyvib0MhixIwXEgvDX4V9G+I0GzWLQRb8=
|
||||
github.com/bluenviron/gohlslib v0.2.1 h1:ZDbC87oaSv6B85o5lYC+gcOISJsg1z9IX4xTbxMqJh4=
|
||||
github.com/bluenviron/gohlslib v0.2.1/go.mod h1:fxwqh+twBM2Mi3AZ05nuQ7qvp8un833dFqcyykzv8bc=
|
||||
github.com/bluenviron/gortsplib/v3 v3.2.1 h1:wdMocTWu1EWa9PPWb8F/S6LY2hZikgrs7zgDtnwBPO0=
|
||||
github.com/bluenviron/gortsplib/v3 v3.2.1/go.mod h1:AzHdywoBckre5q9Y581xg93PVthXayVHVqYMc3hwBlk=
|
||||
github.com/bluenviron/mediacommon v0.2.1 h1:NkbbXwjMqspatQwSyGDYqxg14ftxJSjNsnPNocUxScw=
|
||||
github.com/bluenviron/mediacommon v0.2.1/go.mod h1:t0dqPsWUTchyvib0MhixIwXEgvDX4V9G+I0GzWLQRb8=
|
||||
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
|
||||
github.com/bytedance/sonic v1.8.0 h1:ea0Xadu+sHlu7x5O3gKhRpQ1IKiMrSiHttPF0ybECuA=
|
||||
github.com/bytedance/sonic v1.8.0/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
|
||||
|
@ -25,8 +25,12 @@ import (
|
||||
|
||||
var testFormatH264 = &formats.H264{
|
||||
PayloadTyp: 96,
|
||||
SPS: []byte{0x01, 0x02, 0x03, 0x04},
|
||||
PPS: []byte{0x01, 0x02, 0x03, 0x04},
|
||||
SPS: []byte{ // 1920x1080 baseline
|
||||
0x67, 0x42, 0xc0, 0x28, 0xd9, 0x00, 0x78, 0x02,
|
||||
0x27, 0xe5, 0x84, 0x00, 0x00, 0x03, 0x00, 0x04,
|
||||
0x00, 0x00, 0x03, 0x00, 0xf0, 0x3c, 0x60, 0xc9, 0x20,
|
||||
},
|
||||
PPS: []byte{0x08, 0x06, 0x07, 0x08},
|
||||
PacketizationMode: 1,
|
||||
}
|
||||
|
||||
@ -473,18 +477,7 @@ func TestAPIProtocolSpecificList(t *testing.T) {
|
||||
err = conn.InitializeClient(u, true)
|
||||
require.NoError(t, err)
|
||||
|
||||
videoTrack := &formats.H264{
|
||||
PayloadTyp: 96,
|
||||
SPS: []byte{ // 1920x1080 baseline
|
||||
0x67, 0x42, 0xc0, 0x28, 0xd9, 0x00, 0x78, 0x02,
|
||||
0x27, 0xe5, 0x84, 0x00, 0x00, 0x03, 0x00, 0x04,
|
||||
0x00, 0x00, 0x03, 0x00, 0xf0, 0x3c, 0x60, 0xc9, 0x20,
|
||||
},
|
||||
PPS: []byte{0x08, 0x06, 0x07, 0x08},
|
||||
PacketizationMode: 1,
|
||||
}
|
||||
|
||||
err = conn.WriteTracks(videoTrack, nil)
|
||||
err = conn.WriteTracks(testFormatH264, nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
@ -496,6 +489,48 @@ func TestAPIProtocolSpecificList(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
defer source.Close()
|
||||
|
||||
go func() {
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
/*source.WritePacketRTP(medi, &rtp.Packet{
|
||||
Header: rtp.Header{
|
||||
Version: 2,
|
||||
Marker: true,
|
||||
PayloadType: 96,
|
||||
SequenceNumber: 123 + uint16(i),
|
||||
Timestamp: 45343 + uint32(i)*90000,
|
||||
SSRC: 563423,
|
||||
},
|
||||
Payload: []byte{
|
||||
testSPS,
|
||||
0x05,
|
||||
},
|
||||
})
|
||||
|
||||
[]byte{ // 1920x1080 baseline
|
||||
0x67, 0x42, 0xc0, 0x28, 0xd9, 0x00, 0x78, 0x02,
|
||||
0x27, 0xe5, 0x84, 0x00, 0x00, 0x03, 0x00, 0x04,
|
||||
0x00, 0x00, 0x03, 0x00, 0xf0, 0x3c, 0x60, 0xc9, 0x20,
|
||||
},*/
|
||||
|
||||
source.WritePacketRTP(medi, &rtp.Packet{
|
||||
Header: rtp.Header{
|
||||
Version: 2,
|
||||
Marker: true,
|
||||
PayloadType: 96,
|
||||
SequenceNumber: 123 + uint16(i),
|
||||
Timestamp: 45343 + uint32(i)*90000,
|
||||
SSRC: 563423,
|
||||
},
|
||||
Payload: []byte{
|
||||
// testSPS,
|
||||
0x05,
|
||||
},
|
||||
})
|
||||
}
|
||||
}()
|
||||
|
||||
func() {
|
||||
res, err := http.Get("http://localhost:8888/mypath/index.m3u8")
|
||||
require.NoError(t, err)
|
||||
@ -683,18 +718,7 @@ func TestAPIKick(t *testing.T) {
|
||||
err = conn.InitializeClient(u, true)
|
||||
require.NoError(t, err)
|
||||
|
||||
videoTrack := &formats.H264{
|
||||
PayloadTyp: 96,
|
||||
SPS: []byte{ // 1920x1080 baseline
|
||||
0x67, 0x42, 0xc0, 0x28, 0xd9, 0x00, 0x78, 0x02,
|
||||
0x27, 0xe5, 0x84, 0x00, 0x00, 0x03, 0x00, 0x04,
|
||||
0x00, 0x00, 0x03, 0x00, 0xf0, 0x3c, 0x60, 0xc9, 0x20,
|
||||
},
|
||||
PPS: []byte{0x08, 0x06, 0x07, 0x08},
|
||||
PacketizationMode: 1,
|
||||
}
|
||||
|
||||
err = conn.WriteTracks(videoTrack, nil)
|
||||
err = conn.WriteTracks(testFormatH264, nil)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
|
@ -52,7 +52,7 @@ const create = () => {
|
||||
} else if (video.canPlayType('application/vnd.apple.mpegurl')) {
|
||||
// since it's not possible to detect timeout errors in iOS,
|
||||
// wait for the playlist to be available before starting the stream
|
||||
fetch('stream.m3u8')
|
||||
fetch('index.m3u8')
|
||||
.then(() => {
|
||||
video.src = 'index.m3u8';
|
||||
video.play();
|
||||
|
@ -176,8 +176,8 @@ func TestHLSServer(t *testing.T) {
|
||||
require.Regexp(t, "#EXTM3U\n"+
|
||||
"#EXT-X-VERSION:9\n"+
|
||||
"#EXT-X-TARGETDURATION:1\n"+
|
||||
"#EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK=2.50000,CAN-SKIP-UNTIL=6\n"+
|
||||
"#EXT-X-PART-INF:PART-TARGET=1\n"+
|
||||
"#EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK=2\\.50000,CAN-SKIP-UNTIL=6\\.00000\n"+
|
||||
"#EXT-X-PART-INF:PART-TARGET=1\\.00000\n"+
|
||||
"#EXT-X-MEDIA-SEQUENCE:1\n"+
|
||||
"#EXT-X-MAP:URI=\"init.mp4\"\n"+
|
||||
"#EXT-X-GAP\n"+
|
||||
|
@ -65,7 +65,7 @@ segment2.ts
|
||||
#EXT-X-ENDLIST
|
||||
`
|
||||
|
||||
ctx.Writer.Header().Set("Content-Type", `application/x-mpegURL`)
|
||||
ctx.Writer.Header().Set("Content-Type", `application/vnd.apple.mpegurl`)
|
||||
io.Copy(ctx.Writer, bytes.NewReader([]byte(cnt)))
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package core
|
||||
import (
|
||||
"crypto/tls"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"testing"
|
||||
@ -25,7 +24,8 @@ func TestMetrics(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
defer os.Remove(serverKeyFpath)
|
||||
|
||||
p, ok := newInstance("metrics: yes\n" +
|
||||
p, ok := newInstance("hlsAlwaysRemux: yes\n" +
|
||||
"metrics: yes\n" +
|
||||
"webrtcServerCert: " + serverCertFpath + "\n" +
|
||||
"webrtcServerKey: " + serverKeyFpath + "\n" +
|
||||
"encryption: optional\n" +
|
||||
@ -101,13 +101,6 @@ webrtc_conns_bytes_sent 0
|
||||
err = conn.WriteTracks(videoTrack, nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
func() {
|
||||
res, err := http.Get("http://localhost:8888/rtsp_path/index.m3u8")
|
||||
require.NoError(t, err)
|
||||
defer res.Body.Close()
|
||||
require.Equal(t, 200, res.StatusCode)
|
||||
}()
|
||||
|
||||
bo, err = httpPullFile("http://localhost:9998/metrics")
|
||||
require.NoError(t, err)
|
||||
|
||||
@ -118,8 +111,12 @@ webrtc_conns_bytes_sent 0
|
||||
`paths_bytes_received\{name=".*?",state="ready"\} 0`+"\n"+
|
||||
`paths\{name=".*?",state="ready"\} 1`+"\n"+
|
||||
`paths_bytes_received\{name=".*?",state="ready"\} 0`+"\n"+
|
||||
`hls_muxers\{name="rtsp_path"\} 1`+"\n"+
|
||||
`hls_muxers_bytes_sent\{name="rtsp_path"\} [0-9]+`+"\n"+
|
||||
`hls_muxers\{name=".*?"\} 1`+"\n"+
|
||||
`hls_muxers_bytes_sent\{name=".*?"\} [0-9]+`+"\n"+
|
||||
`hls_muxers\{name=".*?"\} 1`+"\n"+
|
||||
`hls_muxers_bytes_sent\{name=".*?"\} [0-9]+`+"\n"+
|
||||
`hls_muxers\{name=".*?"\} 1`+"\n"+
|
||||
`hls_muxers_bytes_sent\{name=".*?"\} [0-9]+`+"\n"+
|
||||
`rtsp_conns\{id=".*?"\} 1`+"\n"+
|
||||
`rtsp_conns_bytes_received\{id=".*?"\} [0-9]+`+"\n"+
|
||||
`rtsp_conns_bytes_sent\{id=".*?"\} [0-9]+`+"\n"+
|
||||
|
Loading…
Reference in New Issue
Block a user