Commit graph

1324 commits

Author SHA1 Message Date
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
aler9
23244471ad update gortsplib 2022-10-28 16:35:13 +02:00
aler9
cc0d8f7dab hls client: ignore data from unrecognized tracks in MPEG-TS segments 2022-10-26 21:53:33 +02:00
aler9
0daf8a17b7 hls client: skip packets received before the 1st packet of the leading
track, for MPEG-TS segments too
2022-10-26 21:50:17 +02:00
aler9
7981522bf6 hls client: skip packets received before the 1st packet of the leading
track; make sure that the initial DTS is zero
2022-10-26 17:39:32 +02:00
aler9
8cec54c980 apidocs: add missing rpicamera params 2022-10-25 14:31:21 +02:00
aler9
edaad84a5a check gortsplib before publishing a release 2022-10-25 14:18:59 +02:00
aler9
ff26b88760 update gortsplib 2022-10-25 14:18:44 +02:00