Commit Graph

26 Commits

Author SHA1 Message Date
Alessandro Ros 225220ddd5
print warning in case no key frames are being received (#1763) 2023-05-04 20:16:41 +02:00
Alessandro Ros 2d17dff3b5
support publishing, reading and proxying MPEG-2 audio (MP3) tracks with RTMP (#1102) (#1736) 2023-04-25 18:13:51 +02:00
Alessandro Ros 053f2ec282
rename repository and executable (#1641) 2023-04-01 19:52:06 +02:00
Alessandro Ros 2dffccf9c1
update gortsplib, gohlslib (#1637) 2023-04-01 18:39:12 +02:00
Alessandro Ros 5b61983fa6
add option to set max size of outgoing UDP packets (#1588) (#1601) 2023-03-31 11:53:49 +02:00
Alessandro Ros e8bdad8a1e
rename Data into Unit (#1556) 2023-03-10 12:44:59 +01:00
aler9 e3fff72b7c move format processors into dedicated folder 2023-01-05 12:54:00 +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
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 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 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
aler9 3606472e82 generate RTP packets after H264 remuxing
Previously, RTP packets coming from sources other than RTSP (that
actually are RTMP and HLS) were generated before the H264 remuxing, and
that leaded to invalid streams, expecially when sourceOnDemand is true
and the stream has invalid or dynamic SPS/PPS.
2022-08-14 13:03:04 +02:00
aler9 ec4c40b222 update gortsplib 2022-06-23 13:54:48 +02:00
aler9 58b2e7d24f move trackID into data 2022-04-09 13:16:59 +02:00
aler9 dffe63f1bc add SPS and PTS before IDRs of all incoming H264 streams; stop filtering H264 inside single protocols 2022-04-08 18:19:53 +02:00
aler9 4d6f8b9b9b RTSP client/source: support dynamic H264 SPS/PPS 2022-04-08 18:19:53 +02:00
aler9 d929197b21 propagate H264 packets throughout the server 2022-04-08 18:19:53 +02:00
aler9 3fc4ca6465 update gortsplib; downgrade pion/rtp to v1 2022-04-01 12:04:21 +02:00
aler9 f53b316c0d rtsp server: generate RTCP sender reports automatically; stop routing RTCP packets 2022-03-24 15:44:34 +01:00
aler9 28063a1fbe rename stream.onPacketRTP/RTCP into stream.writePacketRTP/RTCP 2022-03-15 12:44:01 +01:00
aler9 6dc11c2906 RTSP server/source: fix encoding of RTP packets with padding
This fixes a SIGSEGV with GStreamer.
2022-03-08 12:54:23 +01:00
aler9 5504ff44b6 rtsp: parse all incoming RTP/RTCP packets 2022-02-18 00:14:52 +01:00
aler9 f7419586af update gortsplib 2021-11-12 22:29:56 +01:00
aler9 ab70f946b0 unexport members of private structs 2021-10-27 21:01:00 +02:00
aler9 6163095a11 fix crash that happens when sourceOnDemand is true and a source times out 2021-08-10 18:36:34 +02:00