Ready-to-use SRT / WebRTC / RTSP / RTMP / LL-HLS media server and media proxy that allows to read, publish, proxy, record and playback video and audio streams.
MIT License
12.49k
stars
1.55k
forks
source link
RTSP publishing version with version MediaMTX v1.9.3 fails for unknown reasons but works against 1.6.0 #3991
Running on Raspberry PI. MediaMTX 1.9.3 installed on the same machine
Publish with gst-launch-1.0 videotestsrc ! video/x-raw, format=NV12,width=1280,height=720,framerate=30/1 ! videoconvert ! v4l2h264enc ! "video/x-h264, level=(string)3.1" ! rtspclientsink location=rtsp://127.0.0.1:8554/live - does not work (Trace 1 below)
3 Publish with the same pipeline from the same RPI to a public MediaMTX instance on an AWS server (based on a source build of 1.6.0) - works (Trace 2 below)
Server logs
Trace 1 (local 1.9.3 MediaMTX from pre-compiled binary on RPI)
2024/11/29 15:40:39 INF MediaMTX v1.9.3
2024/11/29 15:40:39 INF configuration loaded from /home/pi/mediamtx.yml
2024/11/29 15:40:39 DEB path manager created
2024/11/29 15:40:39 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2024/11/29 15:40:39 INF [RTMP] listener opened on :1935
2024/11/29 15:40:39 INF [HLS] listener opened on :8888
2024/11/29 15:40:39 INF [WebRTC] listener opened on :8889 (HTTP), :8189 (ICE/UDP)
2024/11/29 15:40:39 INF [SRT] listener opened on :8890 (UDP)
2024/11/29 15:41:10 INF [RTSP] [conn 127.0.0.1:54344] opened
2024/11/29 15:41:10 DEB [RTSP] [conn 127.0.0.1:54344] [c->s] OPTIONS rtsp://127.0.0.1:8554/live RTSP/1.0
CSeq: 1
Date: Fri, 29 Nov 2024 14:41:10 GMT
User-Agent: GStreamer/1.20.0
2024/11/29 15:41:10 DEB [RTSP] [conn 127.0.0.1:54344] [s->c] RTSP/1.0 200 OK
CSeq: 1
Public: DESCRIBE, ANNOUNCE, SETUP, PLAY, RECORD, PAUSE, GET_PARAMETER, TEARDOWN
Server: gortsplib
2024/11/29 15:41:10 DEB [RTSP] [conn 127.0.0.1:54344] [c->s] ANNOUNCE rtsp://127.0.0.1:8554/live RTSP/1.0
CSeq: 2
Content-Length: 420
Content-Type: application/sdp
Date: Fri, 29 Nov 2024 14:41:10 GMT
User-Agent: GStreamer/1.20.0
v=0
o=- 4283814357 1 IN IP4 127.0.0.1
s=Session streamed with GStreamer
i=rtspclientsink
t=0 0
a=tool:GStreamer
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 H264/90000
a=framerate:30
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=J0KAH5WgFAFuhAAAAwAEAAADAPOSAACYlgABqz+97gHiRNQ=,KM4CXIA=
a=control:stream=0
a=ts-refclk:local
a=mediaclk:sender
a=ssrc:342600924 cname:user2832644860@host-e4f7fba9
2024/11/29 15:41:10 INF [RTSP] [session 2e10d295] created by 127.0.0.1:54344
2024/11/29 15:41:10 DEB [RTSP] [conn 127.0.0.1:54344] [s->c] RTSP/1.0 400 Bad Request
CSeq: 2
Server: gortsplib
2024/11/29 15:41:10 INF [RTSP] [conn 127.0.0.1:54344] closed: path 'live' is not configured
2024/11/29 15:41:10 INF [RTSP] [session 2e10d295] destroyed: not in use
Trace 2 (remote 1.6.0 MediaMTX forked source installation (unchanged) on AWS, public addresses obfuscated for privacy)
2024/11/29 14:38:21 DEB path manager created
2024/11/29 14:38:21 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2024/11/29 14:38:21 INF [RTSPS] listener opened on :8322 (TCP)
2024/11/29 14:38:21 INF [WebRTC] listener opened on :8889 (HTTP), :8189 (ICE/UDP)
2024/11/29 14:38:32 INF MediaMTX v0.0.0
2024/11/29 14:38:32 INF configuration loaded from /usr/local/etc/mediamtx.yml
2024/11/29 14:38:32 DEB path manager created
2024/11/29 14:38:32 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
2024/11/29 14:38:32 INF [RTSPS] listener opened on :8322 (TCP)
2024/11/29 14:38:32 INF [WebRTC] listener opened on :8889 (HTTP), :8189 (ICE/UDP)
2024/11/29 14:38:48 INF [RTSP] [conn xx.xx.xx.xx:38668] opened
2024/11/29 14:38:48 DEB [RTSP] [conn xx.xx.xx.xx:38668] [c->s] OPTIONS rtsp://aitest.votix.com:8554/live RTSP/1.0
CSeq: 1
Date: Fri, 29 Nov 2024 14:38:48 GMT
User-Agent: GStreamer/1.20.0
2024/11/29 14:38:48 DEB [RTSP] [conn xx.xx.xx.xx:38668] [s->c] RTSP/1.0 200 OK
CSeq: 1
Public: DESCRIBE, ANNOUNCE, SETUP, PLAY, RECORD, PAUSE, GET_PARAMETER, TEARDOWN
Server: gortsplib
2024/11/29 14:38:48 DEB [RTSP] [conn xx.xx.xx.xx:38668] [c->s] ANNOUNCE rtsp://aitest.votix.com:8554/live RTSP/1.0
CSeq: 2
Content-Length: 443
Content-Type: application/sdp
Date: Fri, 29 Nov 2024 14:38:48 GMT
User-Agent: GStreamer/1.20.0
v=0
o=- 3521680625 1 IN IP4 192.168.188.130
s=Session streamed with GStreamer
i=rtspclientsink
t=0 0
a=tool:GStreamer
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 H264/90000
a=framerate:29.970029970029969
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=J0KAH5WgFAFuhAAAAwAEAAADAOuSAACYlgABqz+97gHiRNQ=,KM4CXIA=
a=control:stream=0
a=ts-refclk:local
a=mediaclk:sender
a=ssrc:2248247979 cname:user3575300193@host-bc2c0953
2024/11/29 14:38:48 INF [RTSP] [session d2c23dca] created by xx.xx.xx.xx:38668
2024/11/29 14:38:48 DEB [path live] created
2024/11/29 14:38:48 DEB [RTSP] [conn xx.xx.xx.xx:38668] [s->c] RTSP/1.0 200 OK
CSeq: 2
Server: gortsplib
2024/11/29 14:38:48 DEB [RTSP] [conn xx.xx.xx.xx:38668] [c->s] SETUP rtsp://aitest.votix.com:8554/live/stream=0 RTSP/1.0
CSeq: 3
Date: Fri, 29 Nov 2024 14:38:48 GMT
Transport: RTP/AVP/UDP;unicast;client_port=33586-33587;mode=RECORD
User-Agent: GStreamer/1.20.0
2024/11/29 14:38:49 DEB [RTSP] [conn xx.xx.xx.xx:38668] [s->c] RTSP/1.0 200 OK
CSeq: 3
Server: gortsplib
Session: 3147202aa5f643a6a051f9433b8df088
Transport: RTP/AVP;unicast;client_port=33586-33587;server_port=8000-8001
2024/11/29 14:38:49 DEB [RTSP] [conn xx.xx.xx.xx:38668] [c->s] RECORD rtsp://aitest.votix.com:8554/live RTSP/1.0
CSeq: 4
Date: Fri, 29 Nov 2024 14:38:49 GMT
Session: 3147202aa5f643a6a051f9433b8df088
User-Agent: GStreamer/1.20.0
2024/11/29 14:38:49 INF [path live] runOnReady command started
2024/11/29 14:38:49 INF [RTSP] [session d2c23dca] is publishing to path 'live', 1 track (H264)
2024/11/29 14:38:49 DEB [RTSP] [conn xx.xx.xx.xx:38668] [s->c] RTSP/1.0 200 OK
CSeq: 4
Server: gortsplib
Session: 3147202aa5f643a6a051f9433b8df088
I'm not sure why the server responds with 400. Any change to come closer?
Which version are you using?
1.9.3
Which operating system are you using?
Linux arm64 standard
Describe how to replicate the issue
gst-launch-1.0 videotestsrc ! video/x-raw, format=NV12,width=1280,height=720,framerate=30/1 ! videoconvert ! v4l2h264enc ! "video/x-h264, level=(string)3.1" ! rtspclientsink location=rtsp://127.0.0.1:8554/live
- does not work (Trace 1 below) 3 Publish with the same pipeline from the same RPI to a public MediaMTX instance on an AWS server (based on a source build of 1.6.0) - works (Trace 2 below)Server logs
Trace 1 (local 1.9.3 MediaMTX from pre-compiled binary on RPI)
2024/11/29 15:41:10 INF [RTSP] [conn 127.0.0.1:54344] closed: path 'live' is not configured 2024/11/29 15:41:10 INF [RTSP] [session 2e10d295] destroyed: not in use
Trace 2 (remote 1.6.0 MediaMTX forked source installation (unchanged) on AWS, public addresses obfuscated for privacy)
I'm not sure why the server responds with 400. Any change to come closer?
Network dump
No response