Commit Graph

90 Commits

Author SHA1 Message Date
Alessandro Ros
8c2b12a314 Add native support for the raspberry pi camera (#1057) 2022-08-16 18:44:31 +02:00
aler9
e45820b2c0 hls server: show real client IPs when behind a proxy (#955) 2022-06-21 13:54:19 +02:00
Alessandro Ros
e115983296
Implement Low-Latency HLS (#938)
* add hlsVariant parameter

* hls: split muxer into variants

* hls: implement fmp4 segments

* hls muxer: implement low latency mode

* hls muxer: support audio with fmp4 mode

* hls muxer: rewrite file router

* hls muxer: implement preload hint

* hls muxer: add various error codes

* hls muxer: use explicit flags

* hls muxer: fix error in aac pts

* hls muxer: fix sudden freezes with video+audio

* hls muxer: skip empty parts

* hls muxer: fix video FPS

* hls muxer: add parameter hlsPartDuration

* hls muxer: refactor fmp4 muxer

* hls muxer: fix CAN-SKIP-UNTIL

* hls muxer: refactor code

* hls muxer: show only parts of last 2 segments

* hls muxer: implementa playlist delta updates

* hls muxer: change playlist content type

* hls muxer: improve video dts precision

* hls muxer: fix video sample flags

* hls muxer: improve iphone audio support

* hls muxer: improve mp4 timestamp precision

* hls muxer: add offset between pts and dts

* hls muxer: close muxer in case of error

* hls muxer: stop logging requests with the info level

* hls muxer: rename entry into sample

* hls muxer: compensate video dts error over time

* hls muxer: change default segment count

* hls muxer: add starting gap

* hls muxer: set default part duration to 200ms

* hls muxer: fix audio-only streams on ios

* hls muxer: add playsinline attribute to video tag of default web page

* hls muxer: keep mpegts as the default hls variant

* hls muxer: implement encryption

* hls muxer: rewrite dts estimation

* hls muxer: improve DTS precision

* hls muxer: use right SPS/PPS for each sample

* hls muxer: adjust part duration dynamically

* add comments

* update readme

* hls muxer: fix memory leak

* hls muxer: decrease ram consumption
2022-05-31 19:17:26 +02:00
aler9
2efe19ac48 update comment 2022-05-29 15:47:31 +02:00
aler9
1e07636f86 change default RTSPS port (#867) 2022-04-16 16:24:40 +02:00
aler9
98c6cd4650 RTSP: automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:20:14 +02:00
aler9
343a5f17fb hls: add new parameter hlsSegmentMaxSize 2022-01-30 17:54:05 +01:00
aler9
d3bf643f77 save regexp groups in G1, G2 env variables instead of 1, 2 (#642) 2022-01-25 14:42:04 +01:00
ShiBen
e3f63a43c9 External authentication support send url raw query
Do some dynamic authentication, such as token
2022-01-23 23:04:36 +01:00
aler9
b50e843fbd fix typo in config 2022-01-20 10:39:44 +01:00
aler9
49449eb5ad Add new parameter 'runOnReady' (#752)
This is called when a stream is ready, whether it is published or proxied.
It replaces 'runOnPublsh'.
2022-01-19 22:50:32 +01:00
aler9
11760fd79f support external authentication (#504) (#517) 2021-12-22 19:13:56 +01:00
aler9
e22b42d3e9 capitalize comments in the configuration file 2021-12-09 15:11:44 +01:00
aler9
ebc201bda2 make regexp groups available to custom commands (#642) 2021-12-08 20:50:09 +01:00
aler9
958c333cde rtsp source: support reading from servers that use random UDP ports (#691) 2021-11-13 10:15:58 +01:00
aler9
9af006b488 allow to set logLevel: error in config 2021-10-28 17:29:27 +02:00
aler9
9155bffefb allow disabling HTTPS validation by using sourceFingerprint (#665) 2021-10-25 21:14:13 +02:00
aler9
d30822cb1b make sourceFingerprint optional and allow standard certificate validation 2021-10-25 21:01:29 +02:00
aler9
cb7a570911 update docs 2021-10-25 20:54:18 +02:00
aler9
509bed355a update gortsplib 2021-10-22 18:41:10 +02:00
aler9
54292d712e convert the configuration into JSON before loading it 2021-09-27 16:40:49 +02:00
aler9
df4c268813 support proxying HLS 2021-09-05 18:00:29 +02:00
aler9
67e0db13ab update readme / config readme 2021-08-14 11:40:35 +02:00
aler9
da7f9c7ee1 api: add RTSPS endpoints to list and kick RTSPS sessions 2021-08-11 17:33:43 +02:00
aler9
478102adc5 change default listen IP of metrics and pprof to 127.0.0.1 2021-08-07 19:20:39 +02:00
aler9
dd33ef740e api: change default listen address to 127.0.0.1:9997 2021-08-07 19:20:39 +02:00
aler9
fdd487f3c5 rename "record" source value into "publisher" 2021-08-07 19:20:39 +02:00
aler9
ed375583d0 Implement an HTTP API to query and control the server 2021-08-07 19:20:39 +02:00
aler9
00dd622180 rename readIps and PublishIps into readIPs and publishIPs 2021-07-31 17:44:40 +02:00
aler9
1146d5cf1b hls: new option hlsAlwaysRemux to always remux streams into HLS, not only when requested 2021-07-29 16:56:40 +02:00
aler9
0a1b8eee25 cleanup 2021-07-04 18:16:17 +02:00
aler9
7b1466146b HLS: add Access-Control-Allow-Origin to every HTTP response; add parameter hlsAllowOrigin (#415) 2021-06-23 19:28:27 +02:00
aler9
1dea8b6ea5 fix configuration comments 2021-06-21 17:28:00 +02:00
aler9
fbe3d9c67e RTSP server: use one IP for each multicast stream; add multicast parameter to the configuration file 2021-06-19 21:29:56 +02:00
aler9
e64edcfda9 RTSP source: support proxing with UDP-multicast 2021-06-19 16:16:47 +02:00
aler9
75e1e3e4dc RTSP server: support reading with multicast (#214) (#324) 2021-06-19 16:16:35 +02:00
aler9
d21841c1b7 RTSP source: add option sourceAnyPortEnable to support cameras that don't provide server ports (#407) 2021-06-03 23:51:37 +02:00
aler9
a1a56ff203 allow to set a different listen IP for each listener (#343) 2021-04-24 18:52:13 +02:00
aler9
dee045f961 implement reading with HLS 2021-04-18 23:02:19 +02:00
aler9
3d1b5296d7 RTSP source: add mandatory parameter sourceFingerprint to validate server certificates and prevent man-in-the-middle attacks (#350) 2021-04-16 22:46:22 +02:00
aler9
c40fdbae7c pprof: change capitalization 2021-03-27 12:23:19 +01:00
aler9
a57f3d04a7 add parameter pprofPort to configure the port of the pprof listener 2021-03-27 12:19:00 +01:00
aler9
0048a01584 add parameter disablePublisherOverride to disable publisher override (#230) 2021-03-22 22:15:22 +01:00
Lionel Nicolas
c1862b3228 add ability to configure metrics port
Port could be specified by using either metricsPort config file entry or
RTSP_METRICSPORT environment variable.
2021-03-13 21:34:57 +01:00
aler9
f19e23eaa5 enable rtmp by default; add parameters to disable rtsp and rtmp 2021-03-10 20:43:27 +01:00
aler9
a9385547ea add parameter readBufferCount to support non-compliant servers or publishers (#211) 2021-02-18 23:26:45 +01:00
aler9
22ab4d489e support relative fallback paths (#201) 2021-02-09 22:33:50 +01:00
aler9
a047fdc404 split configuration into sections 2021-02-03 09:55:11 +01:00
aler9
f9a7ad7eca add serverrtmp 2021-01-31 16:58:57 +01:00
aler9
3b04ba36c3 add parameter listenIP to listen on a specific IP/interface (#166) 2021-01-15 18:42:53 +01:00