Commit Graph
259 Commits
Author SHA1 Message Date
Alessandro RosandGitHub f453b59cd6 improve listener labels (#5635)
add a label after every "listener opened on :XXX" message that mentions
protocols of every listener.
2026-04-03 16:35:31 +02:00
Alessandro RosandGitHub 0eb7089ed6 use safer atomic structs instead of atomic functions (#5622) 2026-03-31 11:30:50 +02:00
f98c9c59ca rtsp: support unwrapping MPEG-TS tracks (#5476)
this allows to use MPEG-TS tracks with other protocols and with the recording system.

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2026-03-17 19:14:04 +01:00
Alessandro RosandGitHub c8e07b55d5 api: add new stats (#5582)
- RTSPSession.outboundRTPPacketsDiscarded
- Path.inboundFramesInError
- SRTConn.outboundFramesDiscarded
- WebRTCSession.outboundFramesDiscarded
- RTMPConn.outboundFramesDiscarded
- HLSMuxer.outboundFramesDiscarded
2026-03-17 17:22:15 +01:00
Alessandro RosandGitHub adf45596a3 api: rename WebRTC stats to match RTSP ones (#5581) 2026-03-16 23:29:25 +01:00
Alessandro RosandGitHub dfce20fefa api: add RTSP reported lost packets (#5198) (#5579)
The new outboundRtpPacketsReportedLost property allows to track RTP
packets that have been reported lost by readers. Furthermore, stats now
have a "inbound" or "outbound" prefix to improve readability.
2026-03-16 22:10:18 +01:00
Alessandro RosandGitHub 3bad7045c1 api: add missing enums and move all enums in dedicated components (#5576) 2026-03-15 22:09:00 +01:00
Alessandro RosandGitHub d1fd3df27c api: add user field to RTSP, RTMP, SRT, WebRTC conns and sessions (#5104) (#5565) 2026-03-14 00:03:58 +01:00
Alessandro RosandGitHub a6856e9e58 tests: fix race conditions (#5571) 2026-03-13 22:32:06 +01:00
Alessandro RosandGitHub 979ddaf81d webrtc: fix panic with WHIP POST authentication failures (#5566) 2026-03-12 12:14:49 +01:00
Alessandro RosandGitHub 35e1f486c9 add integrated packet dumper (#5488)
this allows to dump any incoming and outgoing packet, to disk, in
pcapng format.
2026-02-22 13:34:05 +01:00
bluenviron-botandGitHub a07526d57c bump Golang to 1.26 (#5460) 2026-02-21 14:48:53 +01:00
jmduerkandGitHub 5403dc2796 srt: set timeout of idle peers to readTimeout (#5489) 2026-02-20 22:15:13 +01:00
Alessandro RosandGitHub f991821a5f webrtc: allow tuning WHEP timeouts (#5027) (#5479)
add whepHandshakeTimeout, whepTrackGatherTimeout, whepSTUNGatherTimeout
2026-02-18 16:29:25 +01:00
Alessandro RosandGitHub 832cc05f39 api: add conns to RTSP Sessions (#5454)
this allows to find connections associated with a RTSP session.
2026-02-12 15:45:34 +01:00
Alessandro RosandGitHub a56408db19 add always available streams (#5335)
When the publisher or source of a stream is offline, the server can be
configured to fill gaps in the stream with a video that is played on
repeat until a publisher comes back online. This allows readers to stay
connected regardless of the state of the stream. The offline video and
any future online stream are concatenated without decoding or
re-encoding packets, using the original codec.
2026-01-31 14:44:58 +01:00
Alessandro RosandGitHub 46b4293e35 api: improve openapi definition (#5380)
add uint64, uint, uuid, move WebRTCICEServer into dedicated schema
2026-01-25 19:35:43 +01:00
Alessandro RosandGitHub 1a53e40bdc switch to reflect.Pointer (#5377) 2026-01-25 13:51:49 +01:00
Alessandro RosandGitHub e2ac32177b prevent several configuration errors (#5368) 2026-01-22 19:35:44 +01:00
Alessandro RosandGitHub a9bc4f90c2 rtsp: fix log labels of RTSPS listeners (#5367)
use "TCP/RTSPS", "UDP/SRTP", "UDP/SRTCP" to refer to secure listeners
2026-01-22 19:13:54 +01:00
Alessandro RosandGitHub 3998ceb88f webrtc: print incoming data channel messages (#5357) 2026-01-20 16:18:13 +01:00
Alessandro RosandGitHub 02fe2e2b42 tests: fix race condition (#5354) 2026-01-17 23:21:34 +01:00
8901ac4e9c webrtc: support reading KLV tracks (#4722)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2026-01-16 23:40:21 +01:00
Alessandro RosandGitHub 653d10fb75 use the same filtering process for every codec (#5324)
this allows to apply features that were previously implemented for
single codecs (like RTP packet resizing), to any codec, and simplifies
future development.
2026-01-16 14:03:13 +01:00
Alessandro RosandGitHub cd34de8770 print last decode error (#5319)
decode errors are still grouped together, but the last one is now
printed.
2026-01-05 15:28:24 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
62effa79ef build(deps): bump github.com/bluenviron/gortmplib from 0.1.2 to 0.2.0 (#5300)
Bumps [github.com/bluenviron/gortmplib](https://github.com/bluenviron/gortmplib) from 0.1.2 to 0.2.0.
- [Commits](https://github.com/bluenviron/gortmplib/compare/v0.1.2...v0.2.0)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortmplib
  dependency-version: 0.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-12-28 17:29:27 +01:00
Alessandro RosandGitHub 5c67b2f08b tests: fix race condition (#5301) 2025-12-28 16:36:54 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f843df4ab8 build(deps): bump github.com/bluenviron/mediacommon/v2 (#5297)
Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon) from 2.5.3 to 2.6.0.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v2.5.3...v2.6.0)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
  dependency-version: 2.6.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-12-28 15:44:36 +01:00
Alessandro RosandGitHub 55f93eddde rtsp: call rtsp.ToStream before advertising the stream (#5288) 2025-12-24 20:37:01 +01:00
Alessandro RosandGitHub 834b079b78 rtsp: fix crash when setupping tracks between stream changes (#5253) (#5257) 2025-12-07 11:38:52 +01:00
Alessandro RosandGitHub 3de05c1330 api: always reply with JSON in case of success or failure (#5252)
Reply with "status": "ok" in case of success, and with "status":
"error" in case of error. This makes the API more accessible and user
friendly.
2025-12-07 10:37:55 +01:00
bluenviron-botandGitHub 0c773c5875 bump hls.js to v1.6.15 (#5216) 2025-11-21 02:08:53 +01:00
ade0cddeb3 support multiple CORS origins (#5150)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-11-21 02:00:46 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4b80f5fbf5 build(deps): bump github.com/pion/rtp from 1.8.23 to 1.8.25 (#5138)
Bumps [github.com/pion/rtp](https://github.com/pion/rtp) from 1.8.23 to 1.8.25.
- [Release notes](https://github.com/pion/rtp/releases)
- [Changelog](https://github.com/pion/rtp/blob/master/.goreleaser.yml)
- [Commits](https://github.com/pion/rtp/compare/v1.8.23...v1.8.25)

---
updated-dependencies:
- dependency-name: github.com/pion/rtp
  dependency-version: 1.8.25
  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-11-18 04:12:41 +01:00
Alessandro RosandGitHub ff187b6d8a update golangci-lint configuration (#5182) 2025-11-11 23:57:52 +01:00
Alessandro RosandGitHub ac1d4360b2 tests: fix race condition (#5187) 2025-11-11 21:12:01 +01:00
bluenviron-botandGitHub 2cd62af900 bump hls.js to v1.6.14 (#5147) 2025-11-02 16:58:58 +01:00
Alessandro RosandGitHub 1ef5db5b3c extend udpReadBufferSize to WebRTC UDP sockets (#5130)
this allows to decrease packet losses without touching system parameters.
2025-10-29 11:45:15 +01:00
Alessandro RosandGitHub d209454693 rtmp: fix freeze when reading source (#5117)
Tracks were read without deadlines, freezing the server if they are not
present. This patch also allows to close the server immediately during
track reading.
2025-10-21 18:04:18 +02:00
Alessandro RosandGitHub 0cdae40fe3 estimate absolute timestamp more precisely (#5078)
When the absolute timestamp of incoming frames was not available, it
was filled with the current timestamp, which is influenced by latency
over time.

This mechanism is replaced by an algorithm that detects when latency is
the lowest, stores the current timestamp and uses it as reference
throughout the rest of the stream.
2025-10-12 11:02:14 +02:00
Alessandro RosandGitHub f5f03562d3 rewrite Unit definition (#5079)
Stream units now share the same struct, with a specialized payload.
2025-10-11 12:18:51 +02:00
Alessandro RosandGitHub 6415285427 hls: improve web page performance (#5062)
load hls.js in parallel with the page.
2025-10-05 18:00:14 +02:00
Alessandro RosandGitHub 7634370818 add read and write timeouts in HTTP servers (#5056)
this prevents zombie connections from piling up.
2025-10-04 10:01:21 +02:00
Alessandro RosandGitHub cd80814009 do not include recorder and HLS muxer in sent bytes (#4380) (#5039)
in API (/paths/list, /paths/get) and metrics (paths_bytes_sent), the
amount of sent bytes was increased even in case of writes to the
recorder and HLS muxer, which are not generating network traffic. This
fixes the issue.
2025-09-29 09:28:04 +02:00
Alessandro RosandGitHub d6e6954a12 api: fix crash in rtspsessions/list and /rtspsessions/get (#5030) (#5031)
sometimes sessions have an empty associated path, and this caused a
crash.
2025-09-25 10:57:03 +02:00
Alessandro RosandGitHub 6b57c5187b webrtc: add authentication parameters to publisher.js and reader.js (#5026)
add user, pass and token configuration parameters.
2025-09-24 18:28:53 +02:00
Alessandro RosandGitHub f987695d9d rtsp: log authentication failure reason (#4641) (#5017) 2025-09-23 10:18:13 +02:00
bluenviron-botandGitHub b192dbc492 bump hls.js to v1.6.13 (#5024) 2025-09-23 09:36:32 +02:00
Alessandro RosandGitHub b517631b8f fix authentication failure reason not being displayed (#5007) 2025-09-22 09:48:51 +02:00
Alessandro RosandGitHub 558d1c3818 api: add tunnel and profile to RTSP conns and sessions (#4985) 2025-09-17 22:18:21 +02:00