Alessandro Ros
c1bcd0c7eb
hls muxer: add option to dump segments on disk ( #1322 ) ( #1567 )
2 years ago
Alessandro Ros
f4b9133bb8
update gohlslib ( #1565 )
2 years ago
Alessandro Ros
b461f15a4c
rpicamera: support changing parameters without interrupting the stream ( #1463 )
3 years ago
aler9
d5dfce16ea
hls muxer: fix race condition
3 years ago
aler9
7420ef1ce4
hls muxer: avoid infinite loop when hlsAlwaysRemux is true
...
when hlsAlwaysRemux is true and a muxer fails, add a pause between its
recreation, in order to avoid infinite loops
3 years ago
aler9
37baa33fc8
hls muxer: add workaround for bug on latest iPhone iOS
...
In iPhone iOs 16.1.1, the EXT-X-PRELOAD-HINT file is requested without
the last character, and "partXX.mp4" becomes "partXX.mp"
3 years ago
Alessandro Ros
5efe97abf1
Support reading with WebRTC ( #1242 )
3 years ago
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
3 years ago
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
3 years ago
aler9
a8d1f91646
fix tests that involve HTTP clients
3 years ago
aler9
f25e14183d
api, hls, metrics, pprof: always close HTTP listeners
...
due to a race condition, HTTP listeners could remain open even after
the closure of a component.
3 years ago
aler9
960cfb9f99
api: always encode timestamps wth RFC3339 ( #1093 )
...
this fixes "lastRequest" in /v1/hlsmuxers/list that was encoded in a
wrong format
3 years ago
aler9
092a2be3a8
api: add "created" field to RTSP sessions, RTMP connections, HLS muxers
3 years ago
aler9
055e08ac6c
remove "on" prefix from most communication functions between components
3 years ago
aler9
8a4743fe9a
hls muxer: when hlsAlwaysRemux is on, automatically recreate muxers in
...
case of errors
3 years ago
aler9
e45820b2c0
hls server: show real client IPs when behind a proxy ( #955 )
3 years ago
aler9
cb610a707c
hls muxer: fix code 500 when a stream is not found
3 years ago
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
3 years ago
aler9
343a5f17fb
hls: add new parameter hlsSegmentMaxSize
4 years ago
aler9
8ac665be87
un-capitalize private fields
4 years ago
aler9
11760fd79f
support external authentication ( #504 ) ( #517 )
4 years ago
aler9
7352244fd9
print closing message before an object is closed
4 years ago
aler9
02291f552a
align listener opened / closed messages
4 years ago
aler9
21a149c0de
rename struct
4 years ago
aler9
322ea55534
split API definitions between their corresponding structs
4 years ago
aler9
afabd331d9
metrics: add hls_muxers metric
4 years ago
aler9
79e73c5cb4
api: add /v1/hlsmuxers/list endpoint
4 years ago
aler9
ab70f946b0
unexport members of private structs
4 years ago
aler9
f32d69a93d
fix race condition
4 years ago
aler9
e6238694af
api: log requests even with logLevel: info
4 years ago
aler9
c51ba926e0
hls: dump requests and responses when logLevel is debug
4 years ago
aler9
b65d715f0b
hls: add Server header
4 years ago
aler9
ef3fab477e
hls: use gin as HTTP router
4 years ago
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
4 years ago
aler9
5eb4741278
hls: speed up serving of files
4 years ago
aler9
4fdd42fa58
hls: rename remuxer into muxer
4 years ago
aler9
f1a812ba5d
rewrite metrics system to provide more data ( #492 )
4 years ago
aler9
6702cb41ed
api: make sure that entities are deleted immediately after a kick request
4 years ago
aler9
e57177ef49
cleanup
4 years ago
aler9
ed375583d0
Implement an HTTP API to query and control the server
4 years ago
aler9
abc4a47c1c
hls: reject methods other than GET and OPTIONS
4 years ago
aler9
de6e9589b8
fix multiple freezes during shutdown of components
4 years ago
aler9
82e65230fd
speed up hls remuxing by linking together pathManager and hlsServer
4 years ago
aler9
1146d5cf1b
hls: new option hlsAlwaysRemux to always remux streams into HLS, not only when requested
4 years ago
aler9
c5ad06af9c
hls: make sure to send entire TS segments to clients
4 years ago
aler9
f16acb937f
hls: rename converter into remuxer
4 years ago
aler9
9062dbf883
move most components into internal/core
...
in this way coverage can be computed correctly.
4 years ago
aler9
bf92496af0
HLS: rename path into dir
4 years ago
dorin.clisu
b48f65c1a4
fix CORS issues with HLS player using authorization
4 years ago
aler9
7b1466146b
HLS: add Access-Control-Allow-Origin to every HTTP response; add parameter hlsAllowOrigin ( #415 )
4 years ago