mediamtx/internal/protocols
hyesung913 cb16f68432
rtmp: improve control message compatibility with non-standard cameras (#4909)
* feat: improve RTMP control message compatibility with non-standard cameras

- Add flexible chunk stream ID validation for control messages
- Support common non-standard chunk stream IDs (2,3,4,5,6) used by various cameras
- Maintain backward compatibility with standard RTMP clients
- Fix connection issues with PTZ cameras using chunk stream ID 4

This resolves compatibility issues with IP cameras that don't strictly follow
RTMP spec while maintaining full support for standard RTMP implementations.
Previously, cameras using non-standard chunk stream IDs would fail with
'unexpected chunk stream ID' errors. Now MediaMTX provides nginx-rtmp level
compatibility with real-world camera implementations."

* add tests

* entirely remove control chunk stream ID validation

---------

Co-authored-by: Hyesung.Kim <hyesung.kim@xcath.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-09-03 15:11:32 +02:00
..
hls mpegts, srt: support MPEG-4 Audio LATM tracks (#4403) (#4759) 2025-07-21 10:02:40 +02:00
httpp refactor: remove duplicated http middleware (#4894) 2025-08-24 12:37:56 +02:00
mpegts update linter settings (#4790) 2025-07-26 16:44:32 +02:00
rtmp rtmp: improve control message compatibility with non-standard cameras (#4909) 2025-09-03 15:11:32 +02:00
rtsp record: fix loss of audio samples during segment switch (#4556) 2025-05-25 21:29:33 +02:00
tls move static sources into dedicated package (#2616) 2023-10-31 14:19:04 +01:00
udp restore Windows compatibility (#4860) 2025-08-12 13:00:45 +02:00
unix allow setting UDP read buffer size (#3308) (#4846) 2025-08-11 12:21:00 +02:00
webrtc webrtc: solve domains in webrtcAdditionalHosts on server-side (#4817) (#4866) 2025-08-12 15:49:38 +02:00
websocket update golangci-lint (#3149) 2024-03-19 12:53:26 +01:00
whip remove context from webrtc.PeerConnection arguments (#4854) 2025-08-12 15:19:59 +02:00