Commit Graph

1331 Commits

Author SHA1 Message Date
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 Ros 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 Ros 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
aler9 ff12605106 rpicamera: remove grep and awk dependency 2022-12-12 13:14:26 +01:00
aler9 062fb600e8 return an error when rpiCamera in used in two paths (#1257) 2022-12-12 11:49:11 +01:00
aler9 99855e0909 fix generation of Docker images (#1293) 2022-12-12 10:44:39 +01:00
aler9 c44b4099c2 update gortsplib 2022-12-11 22:09:55 +01:00
aler9 5319f9ed47 update readme
add instructions on how to compile with Raspberry Pi camera support
2022-12-09 00:46:33 +01:00
aler9 88fcb25759 update gortsplib 2022-12-09 00:12:17 +01:00
aler9 3f5c550baf rpicamera: support libcamera 0.0.2 2022-12-08 23:50:18 +01:00
aler9 7fef5500cb fix codecov / github api limits 2022-11-29 15:54:56 +01:00
aler9 7ed0a873f5 use Track.String() instead of reflect for getting track names 2022-11-28 11:16:31 +01:00
Alessandro Ros e605727c78
produce same absolute time in RTSP and HLS (#1249)
* add a NTP timestamp to each data unit
* use that NTP timestamp in all protocols
2022-11-28 09:00:05 +01:00
aler9 7a49b92d9b update gortsplib 2022-11-28 08:59:49 +01:00
aler9 282d155a4f update gortsplib 2022-11-15 23:47:12 +01:00
Alessandro Ros 6471800b52
rtmp server: fix responses to ping requests (#1245) 2022-11-14 11:39:33 +01:00
Alessandro Ros 8bee4af86a
api, metrics: add number of bytes received and sent from/to all entities (#1235)
* API: number of bytes received/sent from/to RTSP connections
* API: number of bytes received/sent from/to RTSP sessions
* API: number of bytes received/sent from/to RTMP connections
* API: number of bytes sent to HLS connections
* API: number of bytes received from paths
* metrics of all the above
2022-11-11 11:59:52 +01:00
Alessandro Ros 71ef9b47ab
upgrade base image of workflows (#1239)
* upgrade base image of workflows

* upgrade checkout actions
2022-11-10 23:47:26 +01:00
Alessandro Ros 423bb61daa
use UUIDs as IDs in all entities (#1234) 2022-11-09 19:31:52 +01:00
Alessandro Ros 4ac175d3cc
api, metrics: add endpoints and metrics for RTSP connections (#1233)
new API endpoints:

* /v1/rtspconns/list
* /v1/rtspsconns/list

new metrics:

* rtsp_conns
* rtsps_conns
2022-11-09 18:31:31 +01:00
aler9 16580c8985 move all tests under same workflow 2022-11-07 10:16:46 +01:00
aler9 e6a9e280b5 decrease release build times 2022-11-07 09:34:41 +01:00
aler9 1252472e05 optimize "release" workflow
build binaries once for both GitHub and Docker Hub
2022-11-07 09:34:00 +01:00
aler9 22f52b0d96 update gortsplib 2022-11-05 17:28:53 +01:00
Alessandro Ros 4c96a6873e
rpicamera: allow to use the Raspberry Pi Camera with Docker (#1212) 2022-11-03 21:44:53 +01:00
aler9 ac8207c8f4 update gortsplib 2022-11-03 21:44:31 +01:00
aler9 4e4067dc85 rpicamera: avoid hanging during encode errors (#1133) 2022-11-03 17:39:51 +01:00
aler9 4d770cef94 hide normal decoder states from logs 2022-11-03 16:05:46 +01:00
aler9 b21967260d add license file to binaries and docker images (#1138) 2022-11-03 16:01:41 +01:00
aler9 eae895e321 decrease ram consumption 2022-11-03 15:44:34 +01:00
aler9 7eb7883270 improve performance 2022-11-03 15:27:21 +01:00
Alessandro Ros 0943b269ab
Decode streams once and only when needed (#1218)
* split data into specialized structs

* move MPEG4-audio decoding into streamTrack

* restore video/audio synchronization in HLS muxer and RTMP server

* log decode errors

* move H264 decoding and re-encoding here from gortsplib

* add tests

* update gortsplib
2022-11-02 20:52:12 +01:00
Alessandro Ros bf14467331
move high-level tests into dedicate workflow (#1219) 2022-11-02 18:25:49 +01:00
aler9 a4363dfaa3 hls: use fields for each flag values 2022-11-02 10:24:58 +01:00
aler9 f0514b3983 update gortsplib 2022-11-01 16:13:18 +01:00
aler9 f7fdd60966 rtsp server: log decode errors 2022-10-31 19:16:13 +01:00
aler9 584cc9357a rtsp source: log decode errors 2022-10-31 19:11:20 +01:00
aler9 e379bc5213 fix readme 2022-10-29 12:52:15 +02:00
aler9 a48374c81f rpicamera: fix compatibility with latest version of libcamera (#1195) 2022-10-29 12:34:44 +02:00