Commit Graph
1367 Commits
Author SHA1 Message Date
aler9 090342a413 conf: allow to set empty slices with empty env variables 2022-12-30 18:40:27 +01:00
aler9 cabfd1f171 update readme 2022-12-30 17:48:32 +01:00
aler9 bb2fcdfdd9 update readme 2022-12-30 17:46:59 +01:00
aler9 b26f848613 webrtc: add webrtcICEUDPMuxAddress 2022-12-30 17:23:41 +01:00
aler9 c42e2a5b8a webrtc: print ICE candidate descriptions 2022-12-30 16:56:55 +01:00
aler9 3e0419358a fix crash when webrtcICETCPMuxAddress is already taken 2022-12-30 15:42:35 +01:00
b27c363ecf (webrtc) added support for ice mux tcp and nat1to1ips (#1323)
* add webrtcp static tcp mux port

* add ice nat1 host configuration and cleanup

* typo

* rename config keys

* apply codecov suggestions

* apply review suggestions

* typo

* dont use deepequal for WebRTCICETCPMuxAddress

* unexport NewPeerConnection()

* remove Dockerfile

* use an empty list instead of nil value in webrtcICEHostNAT1To1IPs

* drop webrtcICETCPMuxEnable and enable TCP mux when webrtcICETCPMuxAddress is filled

* run go mod tidy

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2022-12-30 15:39:20 +01:00
Benjamin PeterandGitHub d15bde3a59 rpicamera: Initialize tuning file env var before lib init. Fixes #1344 (#1345) 2022-12-30 15:33:00 +01:00
aler9 3a761e5e2f update go-mp4 2022-12-29 23:51:32 +01:00
aler9 939ee1757c update README 2022-12-29 20:48:14 +01:00
Alessandro RosandGitHub 5de600ffaa support reading H265 tracks with HLS (#1342)
* support reading H265 tracks with HLS

* update README
2022-12-29 20:46:31 +01:00
aler9 37baa33fc8 hls muxer: add workaround for bug on latest iPhone iOS
In iPhone iOs 16.1.1, the EXT-X-PRELOAD-HINT file is requested without
the last character, and "partXX.mp4" becomes "partXX.mp"
2022-12-29 20:41:21 +01:00
aler9 242fa0bbba hls muxer: restore support for EXT-X-PRELOAD-HINT 2022-12-29 20:41:21 +01:00
aler9 ec8175e434 fix tests 2022-12-29 16:36:24 +01:00
aler9 fbf8e82db5 update gortsplib 2022-12-28 20:32:03 +01:00
aler9 455b8beff7 simplify code 2022-12-27 18:01:58 +01:00
aler9 946dcea0d1 update golangci-lint 2022-12-27 16:58:21 +01:00
Alessandro RosandGitHub ad52b3fab7 Support publishing with RTMP and H265 (for OBS Studio) (#1333)
* support publishing with RTMP and H265 (for OBS Studio)

* rtmp source: block H265 tracks
2022-12-27 13:55:30 +01:00
aler9 4ebf4f7398 add HLS/FMP4 client tests 2022-12-27 12:00:00 +00:00
aler9 31541765fd hls source: fix crash in case of invalid EXT-X-MEDIA-SEQUENCE 2022-12-27 12:00:00 +00:00
aler9 241c81dc56 hls source: download first playlist once 2022-12-27 12:00:00 +00:00
aler9 0c6385f0e8 hls source: support MPEG-TS streams with metadata tracks 2022-12-27 12:00:00 +00:00
aler9 0ab053ef8f update gortsplib 2022-12-27 13:49:21 +01:00
aler9 3016245267 update readme 2022-12-27 12:00:00 +00:00
aler9 738c953a59 update gortsplib 2022-12-22 21:19:06 +01:00
aler9 0c1fa7f6d4 update readme 2022-12-21 14:43:49 +01:00
aler9 f394c9f8a8 api: add ID to WebRTC readers (#1318) 2022-12-21 12:50:02 +01:00
aler9 1860abea9f update apidocs 2022-12-21 12:47:29 +01:00
aler9 ecc1d35ac2 update apidocs 2022-12-21 12:45:29 +01:00
aler9 bab5caee01 webrtc: fix connection in case of high latency
When latency is high, one side of the peer connection switched to the
"connected" state before the other one, and then closed the WebSocket
connection since it's useless after the peer connection has been
established. This caused the other side of the connection to detect a
WebSocket error and to exit.

The WebSocket connection must remain open, otherwise the
"connected" state is not set by both parts.
2022-12-20 13:30:30 +01:00
aler9 7a5c426ae4 apidocs: add missing config parameters 2022-12-19 23:30:45 +01:00
aler9 ec86401037 webrtc: make HTTPS optional (#1312) 2022-12-19 23:26:07 +01:00
aler9 0e68aedf12 webrtc: fix support for video + audio 2022-12-19 23:08:24 +01:00
aler9 aac0f1b8a2 webrtc: fix sending of RTCP sender reports 2022-12-19 22:48:06 +01:00
aler9 ac371d8dca remove sendrecv comment 2022-12-19 22:13:54 +01:00
aler9 96519ac23c update gortsplib 2022-12-19 13:57:48 +01:00
aler9 0772db509a fix freeze when reading a stream with both HLS and RTSP 2022-12-18 23:16:20 +01:00
aler9 f9bf62ef0a update readme 2022-12-16 01:03:04 +01:00
aler9 4bad36345a update readme 2022-12-16 00:54:26 +01:00
Alessandro RosandGitHub 5efe97abf1 Support reading with WebRTC (#1242) 2022-12-16 00:50:47 +01:00
aler9 478607a602 hls muxer: ask credentials again after failed attemps 2022-12-14 23:51:18 +01:00
aler9 57015e2bf0 fix authentication with VLC
This fixes the case in which VLC is trying to read a path with a query
(i.e. stream?mykey=myval) and the path requires read credentials.
2022-12-14 19:07:39 +01:00
aler9 6524130ab9 implement resizing of oversized H265 RTP packets 2022-12-14 18:54:35 +01:00
aler9 ffbdf51669 fix handling of oversized H264 RTP packets
Resized RTP packets were wrongly mixed with original packets.
Original packets are now discarded correctly.
2022-12-14 17:50:40 +01:00
aler9 39da300345 update H265 track parameters when resolution, VPS, SPS or PPS change 2022-12-14 15:41:59 +01:00
aler9 4bafa4ea9b add dedicated processors for H265 and Opus 2022-12-13 21:26:35 +01:00
Alessandro RosandGitHub 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 074cfa6712 update gortsplib 2022-12-12 18:23:23 +01:00
aler9 feae9222c6 add latest-rpi docker image 2022-12-12 14:37:22 +01:00
aler9 3b5efb25a3 add docker images with libcamera included (#1110) 2022-12-12 13:52:09 +01:00