aler9
fbf8e82db5
update gortsplib
2022-12-28 20:32:03 +01:00
aler9
455b8beff7
simplify code
2022-12-27 18:01:58 +01:00
Alessandro Ros
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
738c953a59
update gortsplib
2022-12-22 21:19:06 +01:00
aler9
f394c9f8a8
api: add ID to WebRTC readers ( #1318 )
2022-12-21 12:50:02 +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
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
0772db509a
fix freeze when reading a stream with both HLS and RTSP
2022-12-18 23:16:20 +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
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
3f5c550baf
rpicamera: support libcamera 0.0.2
2022-12-08 23:50:18 +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
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
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
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
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
a48374c81f
rpicamera: fix compatibility with latest version of libcamera ( #1195 )
2022-10-29 12:34:44 +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
96433e753b
fix tests
2022-10-25 14:06:09 +02:00
aler9
4f6121b1c4
rpicamera: use exact frame timestamps
2022-10-25 12:14:37 +02:00