Commit graph

59 commits

Author SHA1 Message Date
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
Alessandro Ros
a18bebfa58
webrtc: unexport WHIP primitives (#3233) 2024-04-13 11:08:30 +02:00
Alessandro Ros
4354535a94
webrtc: fix crash when marshaling ICE fragments (#3231) 2024-04-13 10:47:26 +02:00
Pedro Sánchez
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 Ros
a50642c669
improve record tests (#3216) 2024-04-09 09:36:38 +02:00
Alessandro Ros
c7dbb951f3
update golangci-lint (#3149) 2024-03-19 12:53:26 +01:00
Jonathan Martin
1989997fe1
webrtc: fix memory leak when WHEP track gathering fails and decrease count of idle HTTP connections (#3124)
* fix: whep gathering failure leaks peer connections

* fix: failure to create whep client leaks

when read fails, client is not closed

* fix: close idle connection with whip client

* fix: no link check on early whip client close

* move http.Client.CloseIdleConnections() outside WHIPClient

* automatically call WHEPClient.Close() in case of errors during WHEPClient.Read() or WHEPClient.Publish()

---------

Co-authored-by: Jonathan Martin <jonathan.martin@marss.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-03-10 11:33:00 +01:00
Jonathan Martin
732bf565bf
webrtc: fix deadlock when a WHEP source fails (#3062) (#3108) (#3110)
Co-authored-by: Jonathan Martin <jonathan.martin@marss.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-03-06 22:38:36 +01:00
Alessandro Ros
b6db3121b5
rtsp: add random value to timestamp of tracks from other protocols (#3071) 2024-02-26 00:41:05 +01:00
Alessandro Ros
da7c5744b1
rtmp: add new AMF0 encoder and encoder (#3069)
This improves performance, security and removes a dependency.
2024-02-24 19:11:42 +01:00
Alessandro Ros
a52f550ee6
webrtc: return an error when proxying stream with no tracks (#3042) 2024-02-18 21:58:11 +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
3161e73a58
rename httpserv into httpp (#3014) 2024-02-13 13:04:56 +01:00
Alessandro Ros
487f92ac55
hls: in logs, store both ip and port of incoming requests (#3013) 2024-02-12 22:44:44 +01:00
Alessandro Ros
22a589b724
stop logging HTTP requests twice (#2993) 2024-02-05 22:26:33 +01:00
Alessandro Ros
0f733bab26
add rpiCameraAWBGains (#2858) (#2954) 2024-01-28 21:48:21 +01:00
Alessandro Ros
f8a56aae91
rtmp: simplify Audio message structure (#2924) 2024-01-21 16:29:13 +01:00
Alessandro Ros
cd2495423a
do not wait for HTTP connections to close when shutting down the server (#2909) 2024-01-15 17:54:52 +01:00
Alessandro Ros
20bb9b90cd
support G711 tracks with multiple channels and custom sample rates (#2891) 2024-01-13 11:40:26 +01:00
Alessandro Ros
27975d8b67
rtmp: support publishing G711 and LPCM tracks (#2857) (#2884) 2024-01-07 17:02:22 +01:00
Alessandro Ros
7437ee7a09
update golangci-lint (#2868) 2024-01-03 21:13:20 +01:00
Alessandro Ros
89560c19a0
rtmp: fix parsing error caused by extended timestamps (#2393) (#2556) (#2384) (#1550) (#2564) (#2808) 2023-12-16 17:17:42 +01:00
Alessandro Ros
0c131a2e92
rpi: pass log level to libcamera (#2617) (#2811) 2023-12-15 12:10:16 +01:00
Alessandro Ros
22414bb38c
rtmp: return error in case of extended chunk stream IDs (#2806) 2023-12-14 11:38:47 +01:00
Alessandro Ros
11988249df
move servers into internal/servers (#2792) 2023-12-08 19:17:17 +01:00