Commit Graph

148 Commits

Author SHA1 Message Date
dependabot[bot]
253df883c2 build(deps): bump github.com/bluenviron/mediacommon/v2 (#4990)
Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon) from 2.4.2 to 2.4.3.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v2.4.2...v2.4.3)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
  dependency-version: 2.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 13:10:42 +02:00
Alessandro Ros
e3b8af8933 switch to gortsplib/v5 (#4978) 2025-09-16 13:10:34 +02:00
dependabot[bot]
ebd9eb6665 build(deps): bump github.com/bluenviron/mediacommon/v2 (#4975)
Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon) from 2.4.2-0.20250909112826-017d0bbe41db to 2.4.2.
- [Commits](https://github.com/bluenviron/mediacommon/commits/v2.4.2)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
  dependency-version: 2.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 22:56:28 +02:00
Alessandro Ros
35aceaa4a9 send server name (SNI) when opening TLS connections (#4973) 2025-09-15 19:38:36 +02:00
Alessandro Ros
1b8897d30d rtmp: move implementation to gortmplib (#4968) 2025-09-13 11:50:36 +02:00
Alessandro Ros
57021467e9 rename formatprocessor into codecprocessor (#4962) 2025-09-12 10:24:11 +02:00
Alessandro Ros
9318107779 rtmp: support additional enhanced RTMP features (#4168) (#4321) (#4954)
* support reading AV1, VP9, H265, Opus, AC-3, G711, LPCM
* support reading multiple video or audio tracks at once
2025-09-11 23:18:46 +02:00
Alessandro Ros
e0f4748839 modernize code (#4947) 2025-09-07 16:08:47 +02:00
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
Pooyan Khanjankhani
3c8d78194c refactor: remove duplicated http middleware (#4894) 2025-08-24 12:37:56 +02:00
alex9long
262ce82d58 refactor: use the built-in max/min to simplify the code (#4867)
Signed-off-by: alex9long <alex9long@outlook.com>
2025-08-14 10:32:24 +02:00
Alessandro Ros
c80220eb7c webrtc: solve domains in webrtcAdditionalHosts on server-side (#4817) (#4866) 2025-08-12 15:49:38 +02:00
Alessandro Ros
b627128d0f remove context from webrtc.PeerConnection arguments (#4854)
contexts are useless since there's already PeerConnection.Close().
2025-08-12 15:19:59 +02:00
Alessandro Ros
5ae934887d remove custom forks of pion/webrtc and pion/ice (#4861)
this fixes IPv6 reliability issues and allows to receive upstream
updates in a more linear way.
2025-08-12 14:30:08 +02:00
Alessandro Ros
afff90f00e restore Windows compatibility (#4860) 2025-08-12 13:00:45 +02:00
Alessandro Ros
03623799f5 use slices.Contains when possible (#4859) 2025-08-12 12:28:20 +02:00
Alessandro Ros
6d4dfff959 webrtc: fix clock rate of outgoing RTCP receiver reports (#4852) 2025-08-11 13:59:10 +02:00
Alessandro Ros
462fb2bd0f allow setting UDP read buffer size (#3308) (#4846)
new parameters: rtspUDPReadBufferSize, rtpUDPReadBufferSize, mpegtsUDPReadBufferSize
2025-08-11 12:21:00 +02:00
dependabot[bot]
9e073cd34f build(deps): bump github.com/bluenviron/gortsplib/v4 (#4850)
Bumps [github.com/bluenviron/gortsplib/v4](https://github.com/bluenviron/gortsplib) from 4.16.0 to 4.16.1.
- [Commits](https://github.com/bluenviron/gortsplib/compare/v4.16.0...v4.16.1)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v4
  dependency-version: 4.16.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 11:05:29 +02:00
krystiancha
6ffa07e8e8 Add support for HTTP over unix sockets (#4241)
This adds support for using unix scheme in xxxAddress config options.
For example `hlsAddress: "unix://hls.sock"`.

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-08-03 12:30:26 +02:00
Alessandro Ros
eeb6ac3824 webrtc: re-enable ipv6 (#3227) (#4816) 2025-08-02 23:32:48 +02:00
Alessandro Ros
548cdbeb8f webrtc: fix crash introduced in #4795 (#4814) 2025-08-02 12:58:45 +02:00
Alessandro Ros
81abc2e008 webrtc: speed up candidate extraction (#4801) 2025-07-29 12:09:12 +02:00
Alessandro Ros
89e295eb4a metrics: add additional WebRTC metrics (#3304) (#4797)
webrtc_sessions_rtp_packets_received, webrtc_sessions_rtp_packets_sent,
webrtc_sessions_rtp_packets_lost, webrtc_sessions_rtp_packets_jitter,
webrtc_sessions_rtcp_packets_received,
webrtc_sessions_rtcp_packets_sent.
2025-07-29 11:17:12 +02:00
Alessandro Ros
534ea4d0c6 api: add additional WebRTC statistics (#4795)
rtpPacketsReceived, rtpPacketsSent, rtpPacketsLost, rtpPacketsJitter,
rtcpPacketsReceived, rtcpPacketsSent
2025-07-29 10:43:52 +02:00
Alessandro Ros
d423a71aaa update linter settings (#4790) 2025-07-26 16:44:32 +02:00
Alessandro Ros
cc27cf6563 mpegts, srt: support MPEG-4 Audio LATM tracks (#4403) (#4759) 2025-07-21 10:02:40 +02:00
dependabot[bot]
d0a97e47ff build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.2.1 to 2.2.2 (#4763)
Bumps [github.com/bluenviron/gohlslib/v2](https://github.com/bluenviron/gohlslib) from 2.2.1 to 2.2.2.
- [Commits](https://github.com/bluenviron/gohlslib/compare/v2.2.1...v2.2.2)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gohlslib/v2
  dependency-version: 2.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 09:55:10 +02:00
Alessandro Ros
333c4d4c3c fix race condition in tests (#4764) 2025-07-20 19:39:25 +02:00
Alessandro Ros
82956a4abb rtmp: fix compatibility with GStreamer rtmp2src / rtmp2sink (#1433) (#4718) 2025-07-12 14:17:04 +02:00
Yaroslav Molochko
0df5e2c81a support routing KLV metadata (#2693) (#4670)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-07-06 20:34:41 +02:00
Alessandro Ros
1083eea307 make RTP packet size compatible with RTSP/SRTP (#4692)
when RTSP encryption is enabled, maximum RTP packet size is slightly
decreased to make room for SRTP.
2025-07-05 15:42:58 +02:00
dependabot[bot]
d422fab734 build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.1.5 to 2.2.0 (#4634)
Bumps [github.com/bluenviron/gohlslib/v2](https://github.com/bluenviron/gohlslib) from 2.1.5 to 2.2.0.
- [Commits](https://github.com/bluenviron/gohlslib/compare/v2.1.5...v2.2.0)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gohlslib/v2
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-09 23:04:34 +02:00
Alessandro Ros
c21c969a8c revert #4583 (#4606)
This reverts commit 500d18b6c6.
2025-06-03 20:27:53 +02:00
Alessandro Ros
500d18b6c6 rtmp: fix timeout when publishing with GLive T80 (#4002) (#4583) 2025-06-03 18:26:00 +02:00
Alessandro Ros
3c703052f6 webrtc: fix writing tracks to some clients (#4602)
some clients require PayloadType to be unique among all tracks, not
only among tracks of same kind.
2025-06-03 16:23:38 +02:00
Alessandro Ros
823697210e webrtc: fix race condition after #4558 (#4564) 2025-05-27 15:17:31 +02:00
Alessandro Ros
5d203b4d98 webrtc: prevent routine leaks (#4558)
wait for all routines to exit before assuming a WebRTC connection is closed.
2025-05-26 11:33:46 +02:00
Alessandro Ros
fff3b9b315 record: fix loss of audio samples during segment switch (#4556) 2025-05-25 21:29:33 +02:00
Alessandro Ros
fad64a87bd bump golangci-lint (#4550) 2025-05-23 15:10:21 +02:00
Alessandro Ros
1b9dfbd367 rtmp: support connecting to sources that require standard credentials (#4530) 2025-05-15 14:23:03 +02:00
Alessandro Ros
3b3b898358 fix error message (#4522) 2025-05-12 22:10:13 +02:00
Alessandro Ros
c17a6de2a6 parse HTTP username and password OR token, not both (#4517) 2025-05-11 10:20:57 +02:00
Alessandro Ros
f97213ae6e support passing JWTs through the password field (#4516)
This is safer than passing JWTs through query parameters, unfortunately support is limited.
2025-05-10 22:54:24 +02:00
Alessandro Ros
a85d8f1391 rtmp: fix connect command when reading (#4512)
when reading, the "connect" command should not contain fpad,
capabilities, audioCodecs, videoCodecs, videoFunction.
2025-05-10 15:26:48 +02:00
Alessandro Ros
15fff95246 ensure unmarshaled entities can be marshaled back (#4484) 2025-05-04 11:34:05 +02:00
Alessandro Ros
77a3c7ae6e webrtc: route original absolute timestamp of packets (#1300) (#4415) 2025-04-12 11:34:27 +02:00
Alessandro Ros
49bcd35afd bump gortsplib (#4416) 2025-04-12 11:29:37 +02:00
Alessandro Ros
8b98c02903 rtsp: route original absolute timestamp of packets (#1300) (#4378) 2025-03-29 19:08:42 +01:00
Alessandro Ros
4bbedc4955 hls: fix reading streams with non-standard clock rates (#4376) 2025-03-29 17:14:02 +01:00