Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Low-Latency HLS #938

Merged
merged 44 commits into from
May 31, 2022
Merged

Implement Low-Latency HLS #938

merged 44 commits into from
May 31, 2022

Conversation

aler9
Copy link
Member

@aler9 aler9 commented May 5, 2022

Fixes #556

Fixes #641

@codecov-commenter
Copy link

codecov-commenter commented May 5, 2022

Codecov Report

Merging #938 (0c51737) into main (2efe19a) will decrease coverage by 14.20%.
The diff coverage is 17.68%.

@@             Coverage Diff             @@
##             main     #938       +/-   ##
===========================================
- Coverage   70.68%   56.47%   -14.21%     
===========================================
  Files          47       56        +9     
  Lines        5253     6693     +1440     
===========================================
+ Hits         3713     3780       +67     
- Misses       1283     2651     +1368     
- Partials      257      262        +5     
Impacted Files Coverage Δ
internal/conf/hlsvariant.go 0.00% <0.00%> (ø)
internal/hls/mp4writer.go 0.00% <0.00%> (ø)
internal/hls/muxer_variant_fmp4.go 0.00% <0.00%> (ø)
internal/hls/muxer_variant_fmp4_part.go 0.00% <0.00%> (ø)
internal/hls/muxer_variant_fmp4_playlist.go 0.00% <0.00%> (ø)
internal/hls/muxer_variant_fmp4_segment.go 0.00% <0.00%> (ø)
internal/hls/muxer_variant_fmp4_segmenter.go 0.00% <0.00%> (ø)
internal/hls/muxer_variant_fmp4_init.go 1.03% <1.03%> (ø)
internal/hls/muxer.go 53.48% <47.36%> (-46.52%) ⬇️
internal/core/hls_muxer.go 75.98% <47.50%> (-0.62%) ⬇️
... and 9 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2efe19a...0c51737. Read the comment docs.

@JIEgOKOJI
Copy link

JIEgOKOJI commented May 26, 2022

lhls muxer generates very small part segments
#EXTINF:1.999999968,
seg3.mp4
#EXT-X-PART:DURATION=0.020833333,URI="part388.mp4",INDEPENDENT=YES
apple not recomended segments smaller than 200ms, playback is unstable and corrupted even in hls.js

@aler9
Copy link
Member Author

aler9 commented May 26, 2022

lhls muxer generates very small part segments #EXTINF:1.999999968, seg3.mp4 #EXT-X-PART:DURATION=0.020833333,URI="part388.mp4",INDEPENDENT=YES apple not recomended segments smaller than 200ms, playback is unstable and corrupted even in hls.js

i've added the option hlsPartDuration that allows to tune the part duration.

Anyway during my tests i've been able to generate and use (with hls.js) parts that contained a single video / audio frame, that is the minimum quantity at all.

@JIEgOKOJI
Copy link

now it works great. Also found that if stream has no b-frames lhls will never playback in hls.js

@aler9 aler9 force-pushed the ll-hls branch 3 times, most recently from 5d04405 to b93576a Compare May 28, 2022 15:37
@hhackbarth
Copy link

Great to see that LL-HLS is on the way. I would be happy to participate in the test as well. Can you provide a Windows build for this branch?

@aler9 aler9 mentioned this pull request May 29, 2022
@aler9 aler9 force-pushed the ll-hls branch 2 times, most recently from 56516d2 to 35708d3 Compare May 31, 2022 14:03
@aler9 aler9 merged commit e115983 into main May 31, 2022
@aler9 aler9 deleted the ll-hls branch May 31, 2022 17:17
@aler9
Copy link
Member Author

aler9 commented May 31, 2022

added in v0.19.0 🎉

@github-actions
Copy link
Contributor

This issue is being locked automatically because it has been closed for more than 6 months.
Please open a new issue in case you encounter a similar problem.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HLS on HTTPS Low Latency HLS support
4 participants