Commit Graph

61 Commits

Author SHA1 Message Date
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
1b9dfbd367 rtmp: support connecting to sources that require standard credentials (#4530) 2025-05-15 14:23:03 +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
416ac1357e bump mediacommon and gortsplib (#4364) 2025-03-24 17:25:18 +01:00
Alessandro Ros
c692f3b78c webrtc: rewrite WHIP client (#4299) 2025-03-01 17:01:57 +01:00
Alessandro Ros
244da930a1 switch to mediacommon/v2 (#4259) 2025-02-17 14:54:58 +01:00
dependabot[bot]
c6a9d81d4c build(deps): bump github.com/bluenviron/mediacommon (#4193)
Bumps [github.com/bluenviron/mediacommon](https://github.com/bluenviron/mediacommon) from 1.13.4-0.20250119173005-20b296ab1174 to 1.13.4.
- [Commits](https://github.com/bluenviron/mediacommon/commits/v1.13.4)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon
  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-01-24 11:04:08 +01:00
Alessandro Ros
8f6267deb8 bump pion/webrtc to v4 (#4145) 2025-01-13 23:19:29 +01:00
Alessandro Ros
d4c29f8283 webrtc: switch to recvonly transceivers (#4059) (#4108)
This fixes compatibility with devices that support decoding AV1 but
don't support encoding it.

This was previously impossible to achieve due to a bug that prevented
video from being displayed when recvonly transceivers were in use and
audio was not present.
2025-01-04 16:36:03 +01:00
Alessandro Ros
8cbbbc05c3 rtmp: support additional Enhanced-RTMP features (#3685) (#4088)
new features:
* support publishing Opus and AC-3 tracks
* support publishing more than 2 tracks. This is compatible with OBS multitrack video and OBS VOD audio track
2025-01-02 12:44:01 +01:00
Alessandro Ros
dfb792eb90 rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert (#4078) 2024-12-25 18:26:14 +01:00
Alessandro Ros
28970b323e fix MTX_CONN_TYPE value with RTSP connections (#3967) (#4075) 2024-12-25 17:42:19 +01:00
Alessandro Ros
57addb1cc2 api, metrics: add additional RTSP statistics (#3312) (#4073) 2024-12-25 15:43:41 +01:00
Alessandro Ros
6a38c87a5b hls, webrtc: add FromStream / ToStream (#3752) 2024-09-09 12:59:23 +02:00
Alessandro Ros
80a133afc9 bump dependencies (#3457) 2024-06-11 22:43:27 +02:00
Alessandro Ros
1204f76eb7 update golangci-lint (#3300) 2024-04-28 18:20:08 +02:00
Rafael Scheidt
2bd8ac7e19 fix support for JWT authentication in API, metrics, playback, pprof (#3253)
Co-authored-by: Rafael Scheidt <rafaelscheidt@Rafaels-MacBook-Air.local>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-04-18 23:55:48 +02:00
Alessandro Ros
24cc62e344 hls: decrease number of idle connections kept open after a reconnection (#3128) 2024-03-10 11:51:15 +01:00
Alessandro Ros
c7bdcea741 move RTSP tests into internal/servers/rtsp (#3049) 2024-02-20 19:35:35 +01:00
Alessandro Ros
9e5de737f0 move SRT tests into internal/servers/srt (#3037) 2024-02-17 20:42:41 +01:00
Alessandro Ros
ad58efe47d move RTMP tests into internal/servers/rtmp (#3035) 2024-02-16 23:27:27 +01:00
Spencer Lowe
e5e029a7f4 srt: add additional metrics (#2962)
* first attempt at the srt metrics

* Updated variables to better match mediamtx

* Prometheus metrics for SRT

* Update readme for SRT metrics

* Switch openapi to number from float

* SRT metrics metrics response fix

* Make the metric test less strict, and nolint line length on the SRT metrics struct

* remove nolint

* move BytesSent and BytesReceived into APISRTConnMetrics

* merge APISRTConn and APISRTConnMetrics

* improve tests

---------

Co-authored-by: slowe <slowe@clairglobal.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-02-16 14:22:30 +01:00
Alessandro Ros
1ae3240b91 hls: fix crash when muxer is being recreated, improve performance (#3017) 2024-02-13 23:32:15 +01:00
Alessandro Ros
b6eaa6bc18 move test utilities into 'test' (#3016)
* move test utilities into 'test'

* rename newEmptyTimer into emptyTimer
2024-02-13 18:49:27 +01:00
Alessandro Ros
11988249df move servers into internal/servers (#2792) 2023-12-08 19:17:17 +01:00
Alessandro Ros
b8dd7b9e52 add RTMPS metrics (#2783) 2023-12-03 16:59:35 +01:00
Alessandro Ros
ed72fa7db1 fix crash when requesting metrics and RTMP, SRT or WebRTC servers are not present anymore (#2782) 2023-12-03 16:42:12 +01:00
Alessandro Ros
cb04d28f6e metrics: expose state of WebRTC sessions (#2662) 2023-11-08 12:01:39 +01:00
Dr. Ralf S. Engelschall
4bf0d10079 metrics: add paths_bytes_sent, srt_conns, srt_conns_bytes_received, srt_conns_bytes_sent (#2620) (#2619) (#2629)
* add missing Prometheus exports (#2620, #2619):
paths_bytes_sent, srt_conns, srt_conns_bytes_received, srt_conns_bytes_sent

* protect Stream.BytesSent()

* add tests

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-11-08 11:20:16 +01:00
Alessandro Ros
99bc327d67 move protocol-related code into internal/protocols (#2572) 2023-10-26 21:46:18 +02:00
Alessandro Ros
6c727b4472 rename 'all' path configuration into 'all_others' (#2443) 2023-10-09 18:13:44 +02:00
Alessandro Ros
cf86dbb303 switch to gortsplib/v4 (#2244) 2023-08-26 18:54:28 +02:00
Alessandro Ros
d696a782f7 rtmp: simplify API (#2130) 2023-07-31 19:41:59 +02:00
Alessandro Ros
ab8cf3f0cc add rtmp.Reader, rtmp.Writer (#2124)
needed by #2068
2023-07-30 23:15:22 +02:00
Alessandro Ros
13fb559f5f fix race condition in TestMetrics (#1830) 2023-05-18 20:05:35 +02:00
Alessandro Ros
330a9e027c fix race condition in tests (#1826) 2023-05-18 19:16:07 +02:00
Alessandro Ros
39c072edd6 change repository owner (#1801) 2023-05-16 16:14:20 +02:00
Alessandro Ros
a14246d776 webrtc: support publishing with WHIP and reading with WHEP (#1800) 2023-05-16 15:59:37 +02:00
Alessandro Ros
02e6c24c83 update dependencies (#1698) 2023-04-13 18:15:13 +02:00
Alessandro Ros
f3a728b918 update gohlslib (#1684)
Some checks failed
apidocs
code
mod-tidy
test32
test64
test_highlevel
2023-04-11 22:01:41 +02:00
Alessandro Ros
79872cabd6 metrics: return metrics even if there are no paths or clients (#1688) 2023-04-11 20:47:29 +02:00
Alessandro Ros
053f2ec282 rename repository and executable (#1641) 2023-04-01 19:52:06 +02:00
Alessandro Ros
2dffccf9c1 update gortsplib, gohlslib (#1637) 2023-04-01 18:39:12 +02:00
aler9
ec86401037 webrtc: make HTTPS optional (#1312) 2022-12-19 23:26:07 +01:00
Alessandro Ros
5efe97abf1 Support reading with WebRTC (#1242) 2022-12-16 00:50:47 +01:00
Alessandro Ros
c778c049ce switch to gortsplib v2 (#1301)
Fixes #1103

gortsplib/v2 supports multiple formats inside a single track (media). This allows to apply the resizing algorithm to single formats inside medias.

For instance, if a media contains a a proprietary format and an H264 format, and the latter has oversized packets, they can now be resized.
2022-12-13 20:54:17 +01:00
aler9
282d155a4f update gortsplib 2022-11-15 23:47:12 +01:00
Alessandro Ros
8bee4af86a api, metrics: add number of bytes received and sent from/to all entities (#1235)
* API: number of bytes received/sent from/to RTSP connections
* API: number of bytes received/sent from/to RTSP sessions
* API: number of bytes received/sent from/to RTMP connections
* API: number of bytes sent to HLS connections
* API: number of bytes received from paths
* metrics of all the above
2022-11-11 11:59:52 +01:00
Alessandro Ros
4ac175d3cc api, metrics: add endpoints and metrics for RTSP connections (#1233)
new API endpoints:

* /v1/rtspconns/list
* /v1/rtspsconns/list

new metrics:

* rtsp_conns
* rtsps_conns
2022-11-09 18:31:31 +01:00