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
f28540b9f4
update gortsplib
3 years ago
aler9
19e38930bd
hls muxer: compensate latency by using maxLiveSyncPlaybackRate ( #972 )
3 years ago
aler9
41b08c9f50
update gortsplib
3 years ago
aler9
ec4c40b222
update gortsplib
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
b6b99b142a
hls muxer: prefer hls.js over native HLS
3 years ago
aler9
709d727eab
hls muxer: tune hls.js parameters
3 years ago
aler9
dedca93eca
hls muxer: update hls.js
3 years ago
aler9
ae7e68c914
hls muxer: remove progressive flag; add liveSyncDurationCount, liveMaxLatencyDurationCount to hls.js
3 years ago
aler9
6b86607092
rtsp source: improve support for AAC tracks with custom parameters
3 years ago
aler9
ce42c53a03
hls, rtmp: fix video/audio sync
3 years ago
aler9
58b2e7d24f
move trackID into data
3 years ago
aler9
d929197b21
propagate H264 packets throughout the server
3 years ago
aler9
0605a2f369
update linter
3 years ago
aler9
3fc4ca6465
update gortsplib; downgrade pion/rtp to v1
3 years ago
aler9
f53b316c0d
rtsp server: generate RTCP sender reports automatically; stop routing RTCP packets
3 years ago
aler9
a6986e9fa4
update gortsplib
3 years ago
aler9
6dc11c2906
RTSP server/source: fix encoding of RTP packets with padding
...
This fixes a SIGSEGV with GStreamer.
3 years ago
aler9
507afbf73d
make logs more clear
4 years ago
aler9
5504ff44b6
rtsp: parse all incoming RTP/RTCP packets
4 years ago
aler9
343a5f17fb
hls: add new parameter hlsSegmentMaxSize
4 years ago
aler9
2bfdcc7d89
update gortsplib
4 years ago
ShiBen
e3f63a43c9
External authentication support send url raw query
...
Do some dynamic authentication, such as token
4 years ago
aler9
8ac665be87
un-capitalize private fields
4 years ago
aler9
92163a2b0e
hls: pring exact reason why a muxer is closed
4 years ago
aler9
11760fd79f
support external authentication ( #504 ) ( #517 )
4 years ago
aler9
e3ecd4a11c
hls: upgrade hls.js and enable progressive mode
4 years ago
aler9
f7419586af
update gortsplib
4 years ago
aler9
21a149c0de
rename struct
4 years ago
aler9
322ea55534
split API definitions between their corresponding structs
4 years ago
aler9
79e73c5cb4
api: add /v1/hlsmuxers/list endpoint
4 years ago
aler9
6564c3511b
hls: change Muxer letter
4 years ago
aler9
9ab95cc603
use opened / closed instead of created / destroyed in logs
4 years ago
aler9
eab2663420
move VLC authentication hack into gortsplib
4 years ago
aler9
c9c9c88ac8
update golangci-lint
4 years ago
aler9
ab70f946b0
unexport members of private structs
4 years ago
aler9
75d4f1437d
add "error" log level
4 years ago
aler9
ef3fab477e
hls: use gin as HTTP router
4 years ago
aler9
e78544f23e
update gortsplib
4 years ago
aler9
ab71f22560
move decoding of more configuration into JSON decoding
4 years ago
aler9
6921a402d1
decode the configuration when decoding JSON
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
b65207012c
update gortsplib
4 years ago
aler9
6d69e4969e
hls: set html video height to 100%
4 years ago
aler9
92523c2a13
hls: insert segments into playlist only after they're complete
...
In this way, EXT-X-TARGETDURATION and EXTINF are always filled correctly.
If no segments have been generated yet, the playlist is not returned
until a segment is inserted or the muxer is closed. This causes timeout
issues on iOS Safari, that are solved by waiting for a fetch() before starting
the video.
4 years ago
aler9
4fdd42fa58
hls: rename remuxer into muxer
4 years ago