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
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
f0514b3983
update gortsplib
2022-11-01 16:13:18 +01:00
aler9
584cc9357a
rtsp source: log decode errors
2022-10-31 19:11:20 +01:00
Alessandro Ros
8c2b12a314
Add native support for the raspberry pi camera ( #1057 )
2022-08-16 18:44:31 +02:00
aler9
cb8aec8844
print track codecs into logs
2022-08-15 16:29:40 +02:00
aler9
f952ff25f6
remove useless append()
2022-08-14 13:14:08 +02: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
055e08ac6c
remove "on" prefix from most communication functions between components
2022-08-04 21:07:45 +02:00
aler9
7067c02030
api: return static sources in paths/list even if sourceOnDemand is true
2022-08-04 20:28:38 +02:00
aler9
6afbdf1015
add intermediate layer between path and static sources
2022-07-30 21:52:37 +02:00
aler9
34eb1d1e7a
normalize sources
2022-07-28 14:26:48 +02:00
aler9
9d3fd3bc37
update gortsplib
2022-06-05 01:36:29 +02:00
aler9
98c6cd4650
RTSP: automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize
2022-04-09 20:20:14 +02:00
aler9
58b2e7d24f
move trackID into data
2022-04-09 13:16:59 +02:00
aler9
d929197b21
propagate H264 packets throughout the server
2022-04-08 18:19:53 +02:00
aler9
0605a2f369
update linter
2022-04-07 13:05:07 +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
a6986e9fa4
update gortsplib
2022-03-24 12:59:22 +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
87f24f1704
update gortsplib
2022-02-19 23:06:24 +01:00
aler9
5504ff44b6
rtsp: parse all incoming RTP/RTCP packets
2022-02-18 00:14:52 +01:00
aler9
f6a5fe2623
rtsp source: fix memory leak in case source doesn't send H264 params in time
2022-02-03 09:59:52 +01:00
aler9
2bfdcc7d89
update gortsplib
2022-01-30 17:43:03 +01:00
aler9
9735a8522e
fix shutdown freeze introduced by ef255af
2022-01-25 15:16:11 +01:00
aler9
ef255af093
rtsp source: fix memory leak
...
This happened when the server was able to connect to the source,
but initialization failed before or during the PLAY request.
2022-01-23 19:36:33 +01:00
aler9
8ac665be87
un-capitalize private fields
2022-01-14 23:42:41 +01:00
aler9
a1fed6fb38
rtsp source: set ServerName when using TLS ( #708 )
2021-12-03 23:33:28 +01:00
aler9
05b1a7e720
update gortsplib
2021-11-28 13:04:00 +01:00
aler9
c7b2ae83df
rtsp source: support cameras that don't provide SPS and PPS inside the SDP ( #411 ) ( #707 )
2021-11-22 22:55:12 +01:00
aler9
99db6f245e
remove panic()
2021-11-13 10:26:14 +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
d30822cb1b
make sourceFingerprint optional and allow standard certificate validation
2021-10-25 21:01:29 +02:00
aler9
509bed355a
update gortsplib
2021-10-22 18:41:10 +02:00
aler9
6921a402d1
decode the configuration when decoding JSON
2021-09-27 16:40:49 +02:00
aler9
ca9645c2f9
api: decode durations from strings instead of numbers
...
This allows to use human-readable durations with the API,
for instance: "5s" instead of 5000000000
2021-09-26 23:21:37 +02:00
aler9
801ef44f54
rtsp, rtmp: fix ignored errors
2021-08-19 17:28:42 +02:00
aler9
ca499a27c3
remove stats from rtmp and rtsp source
2021-08-18 15:43:56 +02:00
aler9
60823aa2b6
print 'ready' only when a source is really ready
2021-08-18 15:42:41 +02:00
aler9
a2ff0d455f
do not allow closed static sources to set a path as ready
2021-08-18 15:41:03 +02:00
aler9
f1a812ba5d
rewrite metrics system to provide more data ( #492 )
2021-08-12 11:49:21 +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
aler9
ed375583d0
Implement an HTTP API to query and control the server
2021-08-07 19:20:39 +02:00
aler9
e516d265d6
refactor ondemand system
2021-08-03 22:40:47 +02:00
aler9
eee64a1450
split readPublisher into reader and publisher
2021-07-31 20:46:06 +02:00
aler9
de6e9589b8
fix multiple freezes during shutdown of components
2021-07-30 20:13:17 +02:00