mediamtx/internal
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
..
api Add support for HTTP over unix sockets (#4241) 2025-08-03 12:30:26 +02:00
auth update linter settings (#4790) 2025-07-26 16:44:32 +02:00
certloader replace New* with Initialize() (#4345) 2025-03-16 15:34:53 +01:00
conf use slices.Contains when possible (#4859) 2025-08-12 12:28:20 +02:00
confwatcher update linter settings (#4790) 2025-07-26 16:44:32 +02:00
core allow setting UDP read buffer size (#3308) (#4846) 2025-08-11 12:21:00 +02:00
counterdumper count and log all discarded frames, decode errors, lost packets (#4363) 2025-03-25 21:59:58 +01:00
defs api: add additional WebRTC statistics (#4795) 2025-07-29 10:43:52 +02:00
externalcmd update linter settings (#4790) 2025-07-26 16:44:32 +02:00
formatprocessor update linter settings (#4790) 2025-07-26 16:44:32 +02:00
hooks move hooks into dedicated package (#2746) 2023-11-26 22:06:07 +01:00
logger bump golangci-lint (#4550) 2025-05-23 15:10:21 +02:00
metrics Add support for HTTP over unix sockets (#4241) 2025-08-03 12:30:26 +02:00
playback Add support for HTTP over unix sockets (#4241) 2025-08-03 12:30:26 +02:00
pprof Add support for HTTP over unix sockets (#4241) 2025-08-03 12:30:26 +02:00
protocols rtmp: improve control message compatibility with non-standard cameras (#4909) 2025-09-03 15:11:32 +02:00
recordcleaner do not allocate recordcleaner.Cleaner when not needed (#4232) 2025-02-07 17:11:20 +01:00
recorder update linter settings (#4790) 2025-07-26 16:44:32 +02:00
recordstore improve documentation (#4918) 2025-08-31 14:15:58 +02:00
restrictnetwork support filtering interface and source IP in UDP sources (#4178) (#4464) 2025-04-28 22:22:55 +02:00
rlimit remove deprecated build flags syntax (#3930) 2024-11-06 15:07:33 +01:00
servers bump hls.js to v1.6.11 (#4898) 2025-08-26 23:51:13 +02:00
staticsources remove context from webrtc.PeerConnection arguments (#4854) 2025-08-12 15:19:59 +02:00
stream update linter settings (#4790) 2025-07-26 16:44:32 +02:00
test remove redundant definitions (#4793) 2025-07-27 12:01:52 +02:00
testapidocs rename apidocs into api (#4844) 2025-08-09 16:05:34 +02:00
teste2e rename high-level tests into E2E tests (#4395) 2025-04-04 14:43:35 +02:00
unit mpegts, srt: support MPEG-4 Audio LATM tracks (#4403) (#4759) 2025-07-21 10:02:40 +02:00