Commit Graph

52 Commits

Author SHA1 Message Date
aler9
f1fb00b80f update golangci-lint 2022-09-17 21:19:45 +02:00
Alessandro Ros
820ba067f2 support RTMPS (#1089) 2022-08-16 18:44:31 +02:00
aler9
f28540b9f4 update gortsplib 2022-07-05 23:46:32 +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
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
f45abfb203 conf: fix panic when integer keys are used (#865) 2022-03-08 18:50:41 +01:00
aler9
343a5f17fb hls: add new parameter hlsSegmentMaxSize 2022-01-30 17:54:05 +01:00
aler9
11760fd79f support external authentication (#504) (#517) 2021-12-22 19:13:56 +01:00
aler9
08fa61e56d do not add an 'all' path automatically if not present in the configuration file 2021-11-06 12:51:38 +01:00
aler9
fb311e31ec add missing check on strict encryption + UDP multicast 2021-11-05 17:11:40 +01:00
aler9
509bed355a update gortsplib 2021-10-22 18:41:10 +02:00
aler9
1f540a2aaf return error in case of non-existent parameters in the configuration file 2021-09-27 16:40:49 +02:00
aler9
6921a402d1 decode the configuration when decoding JSON 2021-09-27 16:40:49 +02:00
aler9
54292d712e convert the configuration into JSON before loading it 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
64808863ed move confenv into conf 2021-09-26 22:25:39 +02:00
aler9
eb5bab7e58 hls: set default segment count to 3 2021-08-14 12:27:00 +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
ed375583d0 Implement an HTTP API to query and control the server 2021-08-07 19:20:39 +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
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
75e1e3e4dc RTSP server: support reading with multicast (#214) (#324) 2021-06-19 16:16:35 +02:00
aler9
4844f169f4 conf: fix default pprof address 2021-05-09 17:27:52 +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
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
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
09cbeae60f fix error "frame length greater than maximum allowed" (#229) 2021-03-10 19:55:26 +01:00
aler9
a9385547ea add parameter readBufferCount to support non-compliant servers or publishers (#211) 2021-02-18 23:26:45 +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
da9d6df706 merge serverplain and servertls into serverrtsp 2021-01-31 13:19:44 +01:00
aler9
6b1643940e support encrypting the configuration file 2021-01-16 15:43:56 +01:00
aler9
3b04ba36c3 add parameter listenIP to listen on a specific IP/interface (#166) 2021-01-15 18:42:53 +01:00
aler9
97305af272 new parameter readBufferCount 2021-01-10 12:55:53 +01:00
aler9
9fb844331e move UDP support into gortsplib 2021-01-06 12:40:18 +01:00
aler9
ad195a6bd0 use 'strict' instead of 'yes' in the 'encryption' parameter 2020-12-20 12:51:04 +01:00
aler9
939dda01d0 support 'false' and 'true' values of 'encryption' parameter (#160) 2020-12-19 20:04:17 +01:00
aler9
ccb8b92bfb implement RTSPS (#77) 2020-12-13 23:51:44 +01:00
aler9
74b592b211 implement log levels; print requests and responses when log level is "debug" (#116) 2020-12-08 12:21:06 +01:00
aler9
18fe2d057c print a warn message when the configuration file is not found 2020-12-06 22:29:56 +01:00
aler9
cbab55af4c update gortsplib 2020-11-15 17:56:54 +01:00
aler9
ac032c4b54 support PAUSE method (#107) 2020-11-07 22:47:10 +01:00