Commit graph

83 commits

Author SHA1 Message Date
Alessandro Ros
8f6267deb8
bump pion/webrtc to v4 (#4145) 2025-01-13 23:19:29 +01:00
Alessandro Ros
070ea5fc19
rtmp: fix compatibility with DJI Osmo Action 4 (#3802) (#4116)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-01-07 17:36:31 +01:00
Alessandro Ros
6d7d0e6e21
fix documentation (#4110)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-01-05 12:02:04 +01:00
Alessandro Ros
d4c29f8283
webrtc: switch to recvonly transceivers (#4059) (#4108)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
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
b49acb1e00
accept durations expressed as days (i.e. '1d') (#4094) 2025-01-02 12:44:15 +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
770d72b638
rtmp: support Extended Metadata Frames (#4006) (#4014) (#4018)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-12-04 23:29:16 +01:00
Alessandro Ros
72a8b3ca8a
webrtc: support publishing and reading H265 tracks (#4003)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-12-02 23:55:54 +01:00
Andres Uribe
f8b366c604
webrtc: restart ICE only on failed connection states (#3899)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
* 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 Ros
d13dc1074a
make better use of Gin middleware system (#3849) 2024-10-08 17:02:16 +02:00
Alessandro Ros
23002d9f5f
route original timestamps without converting to durations (#3839)
This improves timestamp precision.
2024-10-07 17:59:32 +02:00
Alessandro Ros
2586782031
fix race condition in tests (#3834)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-05 21:54:11 +02:00
Alessandro Ros
4c3ac34425
fix memory leak in case of errors during initialization of a reader (#3831)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-05 00:49:44 +02:00
Alessandro Ros
4d0ce87f09
hls: support generating streams with multiple audio tracks (#2728) (#3793) 2024-10-03 19:38:54 +02:00
Alessandro Ros
1e30dcb555
webrtc: fix crash in case of congestion (#3813) (#3815)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-09-29 09:56:06 +02:00
Alessandro Ros
658848f8c8
log track ID when skipping tracks (#3798)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-09-26 14:42:48 +02:00
Alessandro Ros
783fede2cb
remove debug lines (#3771) 2024-09-15 22:52:55 +02:00
Alessandro Ros
471019f606
warn users about skipped tracks when reading or publishing (#3753)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-09-15 19:28:05 +02:00
Alessandro Ros
6a38c87a5b
hls, webrtc: add FromStream / ToStream (#3752)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-09-09 12:59:23 +02:00
Alessandro Ros
e6653857aa
rtmp: support ingesting AV1, VP9, H265, MP3, PCM from other servers (#3751) 2024-09-09 12:26:35 +02:00
Alessandro Ros
c5059fa7a0
move RPI Camera component into dedicated repository (#3656)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-08-14 23:24:17 +02:00
Alessandro Ros
1e7a7d1674
rpi camera: update font and link it to IBM repository (#3647)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-08-11 23:34:12 +02:00
Dan Bason
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 Ros
c9a938a501
improve fuzz tests (#3596) 2024-08-01 17:01:56 +02:00
Alessandro Ros
0230aa0a9c
record, hls: fix panic with MPEG-4 audio tracks without config (#3590) (#3594) 2024-08-01 16:34:40 +02:00
Alessandro Ros
afec0cd86c
rtmp: fix publishing from DJI FlightHub Sync (#3301) (#3504) 2024-07-01 16:03:12 +02:00
Alessandro Ros
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 Ros
80a133afc9
bump dependencies (#3457) 2024-06-11 22:43:27 +02:00
Jacob Su
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 Ros
427249877c
webrtc: fix error "Failed to setup RTCP mux" on some readers (#3381) (#3449) 2024-06-10 15:43:52 +02:00
Alessandro Ros
095921dc26
webrtc: on browsers, display error messages from server (#3448) 2024-06-10 15:41:05 +02:00
Alessandro Ros
5fe2819546
webrtc: set fmtp of outgoing VP9 and multiopus tracks (#3446) 2024-06-10 09:54:08 +02:00
Alessandro Ros
511b276b4d
webrtc: support reading G711 16khz tracks (#2848) (#3445) 2024-06-10 00:57:26 +02:00
Alessandro Ros
44953c8e05
webrtc: fix supported AV1 profiles (#3442) 2024-06-09 23:09:55 +02:00
Alessandro Ros
d7bc304e52
webrtc: speed up gathering of incoming tracks (#3441) 2024-06-09 22:58:40 +02:00
Alessandro Ros
eaf47e6598
webrtc: support reading, publishing, proxying LPCM tracks (#3437) 2024-06-09 22:51:16 +02:00
Alessandro Ros
16d0bb7200
webrtc: fix proxying PCMU tracks (#3427) 2024-06-05 12:46:55 +02:00
Alessandro Ros
ca1638976b
webrtc: support reading and publishing multichannel Opus (#3371) (#3375) 2024-06-03 00:26:32 +02:00
Alessandro Ros
ca6e1259fb
webrtc: support reading and proxying stereo PCMU/PCMA tracks (#3402) 2024-06-02 23:08:54 +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
Alessandro Ros
407702380a
webrtc: in answer, include codecs that are actually in use (#3374) 2024-05-19 19:41:42 +02:00
Alessandro Ros
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 Ros
5d0ebdef56
webrtc: fix error when charset is in Content-Type (#3126) (#3318) 2024-05-05 10:47:12 +02:00
xjr20042
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 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
bfa83fcd33
webrtc: support WHIP/WHEP endpoints without PATCH support (#3273) (#3277) 2024-04-20 23:55:35 +02:00
FuseTim
4ed1a39da2
webrtc: support charset in Content-Type of WHIP offer responses (#3274) 2024-04-20 23:24:19 +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
665e11a376
webrtc, hls: use absolute paths in Location header (#3195) (#3177) (#3240) 2024-04-14 12:04:51 +02:00