Commit Graph
79 Commits
Author SHA1 Message Date
Alessandro RosandGitHub b49acb1e00 accept durations expressed as days (i.e. '1d') (#4094) 2025-01-02 12:44:15 +01:00
Alessandro RosandGitHub 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 RosandGitHub 770d72b638 rtmp: support Extended Metadata Frames (#4006) (#4014) (#4018) 2024-12-04 23:29:16 +01:00
Alessandro RosandGitHub 72a8b3ca8a webrtc: support publishing and reading H265 tracks (#4003) 2024-12-02 23:55:54 +01:00
f8b366c604 webrtc: restart ICE only on failed connection states (#3899)
* webrtc: Restart ICE only on failed connection states

* rename "connected" into "ready" since WebRTC can emit the "connected" state multiple times

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-10-31 12:47:35 +01:00
Alessandro RosandGitHub d13dc1074a make better use of Gin middleware system (#3849) 2024-10-08 17:02:16 +02:00
Alessandro RosandGitHub 23002d9f5f route original timestamps without converting to durations (#3839)
This improves timestamp precision.
2024-10-07 17:59:32 +02:00
Alessandro RosandGitHub 2586782031 fix race condition in tests (#3834) 2024-10-05 21:54:11 +02:00
Alessandro RosandGitHub 4c3ac34425 fix memory leak in case of errors during initialization of a reader (#3831) 2024-10-05 00:49:44 +02:00
Alessandro RosandGitHub 4d0ce87f09 hls: support generating streams with multiple audio tracks (#2728) (#3793) 2024-10-03 19:38:54 +02:00
Alessandro RosandGitHub 1e30dcb555 webrtc: fix crash in case of congestion (#3813) (#3815) 2024-09-29 09:56:06 +02:00
Alessandro RosandGitHub 658848f8c8 log track ID when skipping tracks (#3798) 2024-09-26 14:42:48 +02:00
Alessandro RosandGitHub 783fede2cb remove debug lines (#3771) 2024-09-15 22:52:55 +02:00
Alessandro RosandGitHub 471019f606 warn users about skipped tracks when reading or publishing (#3753) 2024-09-15 19:28:05 +02:00
Alessandro RosandGitHub 6a38c87a5b hls, webrtc: add FromStream / ToStream (#3752) 2024-09-09 12:59:23 +02:00
Alessandro RosandGitHub e6653857aa rtmp: support ingesting AV1, VP9, H265, MP3, PCM from other servers (#3751) 2024-09-09 12:26:35 +02:00
Alessandro RosandGitHub c5059fa7a0 move RPI Camera component into dedicated repository (#3656) 2024-08-14 23:24:17 +02:00
Alessandro RosandGitHub 1e7a7d1674 rpi camera: update font and link it to IBM repository (#3647) 2024-08-11 23:34:12 +02:00
1055be99c0 automatically reload TLS certificates when they change (#3598)
* Dynamically refresh tls certs for all servers

* make sure that CertLoader is always closed

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-08-04 14:12:08 +02:00
Alessandro RosandGitHub c9a938a501 improve fuzz tests (#3596) 2024-08-01 17:01:56 +02:00
Alessandro RosandGitHub 0230aa0a9c record, hls: fix panic with MPEG-4 audio tracks without config (#3590) (#3594) 2024-08-01 16:34:40 +02:00
Alessandro RosandGitHub afec0cd86c rtmp: fix publishing from DJI FlightHub Sync (#3301) (#3504) 2024-07-01 16:03:12 +02:00
Alessandro RosandGitHub a1dc9f45f5 webrtc: support publishing H265 tracks (#3435) (#3492)
IMPORTANT NOTE: this doesn't allow to read H265 tracks with WebRTC,
just to publish them. The inability to read H265 tracks with WebRTC is
not in any way related to the server but depends on browsers and on the
fact that they are not legally entitled to embed a H265 decoder inside
them.
2024-06-19 21:02:08 +02:00
Alessandro RosandGitHub 80a133afc9 bump dependencies (#3457) 2024-06-11 22:43:27 +02:00
3a2594d610 rtmp: fix error when publishing AAC audio tracks (#3414)
* fix single aac file rtmp publish error.

* add tests

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-06-11 13:26:45 +02:00
Alessandro RosandGitHub 427249877c webrtc: fix error "Failed to setup RTCP mux" on some readers (#3381) (#3449) 2024-06-10 15:43:52 +02:00
Alessandro RosandGitHub 095921dc26 webrtc: on browsers, display error messages from server (#3448) 2024-06-10 15:41:05 +02:00
Alessandro RosandGitHub 5fe2819546 webrtc: set fmtp of outgoing VP9 and multiopus tracks (#3446) 2024-06-10 09:54:08 +02:00
Alessandro RosandGitHub 511b276b4d webrtc: support reading G711 16khz tracks (#2848) (#3445) 2024-06-10 00:57:26 +02:00
Alessandro RosandGitHub 44953c8e05 webrtc: fix supported AV1 profiles (#3442) 2024-06-09 23:09:55 +02:00
Alessandro RosandGitHub d7bc304e52 webrtc: speed up gathering of incoming tracks (#3441) 2024-06-09 22:58:40 +02:00
Alessandro RosandGitHub eaf47e6598 webrtc: support reading, publishing, proxying LPCM tracks (#3437) 2024-06-09 22:51:16 +02:00
Alessandro RosandGitHub 16d0bb7200 webrtc: fix proxying PCMU tracks (#3427) 2024-06-05 12:46:55 +02:00
Alessandro RosandGitHub ca1638976b webrtc: support reading and publishing multichannel Opus (#3371) (#3375) 2024-06-03 00:26:32 +02:00
Alessandro RosandGitHub ca6e1259fb webrtc: support reading and proxying stereo PCMU/PCMA tracks (#3402) 2024-06-02 23:08:54 +02:00
Jason WaltonandGitHub 1c2f95f609 webrtc: allow configuring timeouts (#3404) (#3406)
* webrtc: allow configuring timeouts (#3404)

* fix from code inspect
2024-05-30 13:36:58 +02:00
Alessandro RosandGitHub 407702380a webrtc: in answer, include codecs that are actually in use (#3374) 2024-05-19 19:41:42 +02:00
Alessandro RosandGitHub e283725cde support routing multichannel Opus between RTSP, SRT, HLS, UDP and recording in MPEG-TS and fMP4 (#3355) (#3368) 2024-05-19 14:38:57 +02:00
Alessandro RosandGitHub 5d0ebdef56 webrtc: fix error when charset is in Content-Type (#3126) (#3318) 2024-05-05 10:47:12 +02:00
xjr20042andGitHub 8b51ca9c8b rtmp: fix error when reading metadata (#3302)
some rtmp client will send set chunk size after publish stream
2024-04-29 21:49:38 +02:00
Alessandro RosandGitHub 1204f76eb7 update golangci-lint (#3300) 2024-04-28 18:20:08 +02:00
Alessandro RosandGitHub 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 RosandGitHub bfa83fcd33 webrtc: support WHIP/WHEP endpoints without PATCH support (#3273) (#3277) 2024-04-20 23:55:35 +02:00
FuseTimandGitHub 4ed1a39da2 webrtc: support charset in Content-Type of WHIP offer responses (#3274) 2024-04-20 23:24:19 +02:00
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 RosandGitHub 665e11a376 webrtc, hls: use absolute paths in Location header (#3195) (#3177) (#3240) 2024-04-14 12:04:51 +02:00
Alessandro RosandGitHub a18bebfa58 webrtc: unexport WHIP primitives (#3233) 2024-04-13 11:08:30 +02:00
Alessandro RosandGitHub 4354535a94 webrtc: fix crash when marshaling ICE fragments (#3231) 2024-04-13 10:47:26 +02:00
8aa26d6fb3 rtmp: fix streaming errors by handling AMF0 strict arrays (#3188) (#3189)
* add amf0 strict array decode

* add amf0 long string decode

* support amf0 types undefined, unsupported, xmldocument and date

* fix error and add tests

* modify tests to follow original way to test

* do not skip markerUnsupported / markerUndefined

* implement StrictArray marshaling; remove handling of long strings, XML documents, date

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-04-12 16:13:57 +02:00
Alessandro RosandGitHub a50642c669 improve record tests (#3216) 2024-04-09 09:36:38 +02:00