Commit Graph

111 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
74bfb988d7 allow disabling JWT in HTTP query parameters (#4518) 2025-05-11 10:21:08 +02:00
Alessandro Ros
db3c2f8cae add authJWTJWKSFingerprint (#4409) (#4514) 2025-05-10 16:12:35 +02:00
Alessandro Ros
defee1eed9 hls: fix toggling hlsAlwaysRemux after server is started (#4503)
When hlsAlwaysRemux was switched from false to true, through API or hot
reloading, muxers of existing paths were not created. This fixes the
issue.
2025-05-09 22:50:11 +02:00
Dimitri Marechal
1827e062bd add authJWTExclude to exclude actions when using JWT (#3431)
* Added authJWTExclude to allow exclusion of actions while using the JWT authentication method

* add test

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-04-25 19:55:11 +02:00
Vyacheslav Kadyshev
1069e131b0 allow to customize syslog prefix (#4356)
Co-authored-by: Кадышев Вячеслав <v.kadyshev@dssl.ru>
2025-03-24 15:54:33 +01:00
Alessandro Ros
b329c4bbe8 replace New* with Initialize() (#4345) 2025-03-16 15:34:53 +01:00
Alessandro Ros
386be42784 rtsp: rewrite authentication around ServerConn.VerifyCredentials (#4267) 2025-02-18 17:54:13 +01:00
Alessandro Ros
2745527264 prevent useless path manager reload (#4264) 2025-02-18 15:18:45 +01:00
Alessandro Ros
eeb83f9a56 record: fix crash when recordDeleteAfter is 0 and API is called (#4250) (#4254) 2025-02-14 11:53:16 +01:00
Alessandro Ros
e8e21bfa42 do not allocate recordcleaner.Cleaner when not needed (#4232) 2025-02-07 17:11:20 +01:00
Jean-Philippe Bergeron
e8297478f3 Configurable webrtcSTUNGatherTimeout (#4221) 2025-02-07 16:34:17 +01:00
Alessandro Ros
df3362aef8 warn users if deprecated parameters are being used (#4080) 2024-12-25 19:28:54 +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
c8cdb77fe0 fix version reporting with --version (#3846) (#3847) 2024-10-08 09:41:38 +02:00
Alessandro Ros
c71694741e show right server version when server is compiled from source (#3409) 2024-10-05 23:10:14 +02:00
Alessandro Ros
4c3ac34425 fix memory leak in case of errors during initialization of a reader (#3831) 2024-10-05 00:49:44 +02:00
Alessandro Ros
73a300afd0 fix cleaning of recordings in case of multiple recordDeleteAfter values (#3557) (#3741) 2024-09-08 20:33:18 +02:00
Alessandro Ros
0d1da6bd5b allow to set the JWT claim key that contains permissions (#3560) (#3692) 2024-08-26 12:43:28 +02:00
Jason Walton
1c2f95f609 webrtc: allow configuring timeouts (#3404) (#3406)
* webrtc: allow configuring timeouts (#3404)

* fix from code inspect
2024-05-30 13:36:58 +02:00
xjr20042
6debb52abd hls: make closeAfterInactivity configurable (#3329)
* HLS: make closeAfterInactivity configurable

* add `hlsMuxerCloseAfter` to `apidocs/openapi.yaml`
2024-05-09 10:08:15 +02:00
Alessandro Ros
1204f76eb7 update golangci-lint (#3300) 2024-04-28 18:20:08 +02:00
Alessandro Ros
85dd81698b support HTTPS, Allow-Origin and trusted proxies in API, playback server, metrics server and pprof server (#2658) (#2491) (#3235) (#3280) 2024-04-21 17:10:35 +02:00
Alessandro Ros
9c6ba7e2c7 New authentication system (#1341) (#1992) (#2205) (#3081)
This is a new authentication system that covers all the features exposed by the server, including playback, API, metrics and PPROF, improves internal authentication by adding permissions, improves HTTP-based authentication by adding the ability to exclude certain actions from being authenticated, adds an additional method (JWT-based authentication).
2024-03-04 14:20:34 +01:00
Alessandro Ros
6f6f8e0994 prevent multiple crashes when reloading the configuration (#2945) 2024-01-26 13:04:06 +01:00
Alessandro Ros
57c2d5aecb add playback server (#2452) (#2906)
* add playback server

* add playback switch

* update readme
2024-01-23 20:52:05 +01:00
Alessandro Ros
1341421412 move api, metrics and pprof into dedicated packages (#2843) 2023-12-26 13:41:15 +01:00
Alessandro Ros
0c131a2e92 rpi: pass log level to libcamera (#2617) (#2811) 2023-12-15 12:10:16 +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
20123fd5b9 record: rename segmentPath into path (#2777) 2023-12-02 15:35:21 +01:00
Alessandro Ros
7c8e593b0b record: normalize decoding and encoding of segment paths (#2775) 2023-12-02 15:15:17 +01:00
Alessandro Ros
687d8685ef webrtc: improve connectivity mechanism (#2686) 2023-11-12 23:55:28 +01:00
Alessandro Ros
ef19552632 fix setting 'recordDeleteAfter' to zero (#2670) (#2671) 2023-11-10 13:51:52 +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
43d41c070b move static sources into dedicated package (#2616) 2023-10-31 14:19:04 +01:00
Alessandro Ros
95ab9375c7 support recording to MPEG-TS (#2505) 2023-10-14 22:52:10 +02:00
Alessandro Ros
8a633d2b79 allow setting different recording parameters for each path (#2410) (#2457) 2023-10-07 23:48:37 +02:00
PieterFabry
3c4039b81f Supports webrtc interface filtering on server (#2460)
* Supports webrtc interface filtering on server

* test(#2707): Fixed testing for build

* lint(#2707): Fixed lint issues for build

* normalize setting name

* move instructions in the configuration file

---------

Co-authored-by: Pieter Fabry <pieterfabry@observe.tech>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2023-10-07 17:51:01 +02:00
Alessandro Ros
9c6168e7e3 print path of configuration file (#2441)
Some checks reported warnings
lint / code (push) Has been cancelled
lint / mod-tidy (push) Has been cancelled
lint / apidocs (push) Has been cancelled
test / test64 (push) Has been cancelled
test / test32 (push) Has been cancelled
test / test_highlevel (push) Has been cancelled
2023-10-01 22:56:51 +02:00
Alessandro Ros
cadc6b3ea7 rename 'external commands' into 'hooks' (#2400) 2023-09-23 12:49:08 +02:00
Alessandro Ros
f2f417e451 search for configuration file in various paths, print paths if configuration is not found (#1993) (#2276) (#2357) 2023-09-16 22:14:13 +02:00
Alessandro Ros
ed77560811 add runOnDisconnect, runOnNotReady, runOnUnread (#1464) (#2355) 2023-09-16 19:21:48 +02:00
Alessandro Ros
73ddb21e63 implement native recording (#1399) (#2255)
* implement native recording (#1399)

* support saving VP9 tracks

* support saving MPEG-1 audio tracks

* switch segment when codec parameters change

* allow to disable recording on a path basis

* allow disabling recording cleaner

* support recording MPEG-1/2/4 video tracks

* add microseconds to file names

* add tests
2023-09-16 17:27:07 +02:00
Alessandro Ros
5a40a06e9e fix changing log level with hot reloading or API (#2278) 2023-09-01 19:54:34 +02:00
Alessandro Ros
cf86dbb303 switch to gortsplib/v4 (#2244) 2023-08-26 18:54:28 +02:00
Alessandro Ros
bf8e69ea89 rename readBufferCount into writeQueueSize (#2248) 2023-08-26 13:25:21 +02:00
Alessandro Ros
659f19f8bb enable errcheck (#2201)
Some checks reported warnings
lint / code (push) Has been cancelled
lint / mod-tidy (push) Has been cancelled
lint / apidocs (push) Has been cancelled
test / test64 (push) Has been cancelled
test / test32 (push) Has been cancelled
test / test_highlevel (push) Has been cancelled
2023-08-13 16:38:23 +02:00