HTTPAdaptiveStream issue with hls.js

I was wondering if anyone else has experieneced this issues with HLS? I have a working pipeline generating HLS output which plays fine with Safari and it's native support for HLS. However, when trying to get playback working in Chrome using hls.js it seems to stick at the buffering stage. It downloads the index.m3u8 file which looks like this:
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=22658039,AVERAGE-BANDWIDTH=20974091,RESOLUTION=1920x1080,CODECS="avc1.4d0028"
g3cFdmlkZW8.m3u8
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=22658039,AVERAGE-BANDWIDTH=20974091,RESOLUTION=1920x1080,CODECS="avc1.4d0028"
g3cFdmlkZW8.m3u8
but doesn't then download the reference g3cFdmlkZW8.m3u8 file. This is all using Core v 1.0.0. The HTTPAdaptiveStream Bin setup is:
child(:video_out,
%Membrane.HTTPAdaptiveStream.SinkBin{
manifest_module: Membrane.HTTPAdaptiveStream.HLS,
mode: :live,
target_window_duration: :infinity,
persist?: true,
storage: %Membrane.HTTPAdaptiveStream.Storages.FileStorage{directory: hls_path}
},
get_if_exists: true)
child(:video_out,
%Membrane.HTTPAdaptiveStream.SinkBin{
manifest_module: Membrane.HTTPAdaptiveStream.HLS,
mode: :live,
target_window_duration: :infinity,
persist?: true,
storage: %Membrane.HTTPAdaptiveStream.Storages.FileStorage{directory: hls_path}
},
get_if_exists: true)
3 Replies
Concol
Concol11mo ago
Hi Al, I've tested your master manifest file using https://hlsjs.video-dev.org/demo/ and everything seems to be working fine. Could you possibly conduct the same test on your end and share the results with me? Also, I would suggest to use the Networking panel in the Chrome Developer Tools to ensure the process is running smoothly with no errors.
Al
AlOP11mo ago
I swapped hls.js with video.js and it works which suggests that it was an hls.js issue. Τurning on logging for hls.js I was getting the following: [log] > live playlist - outdated PTS, unknown sliding which seems to be an issue others have seen with hls.js. (e.g. https://github.com/video-dev/hls.js/issues/583)
GitHub
Issues · video-dev/hls.js
HLS.js is a JavaScript library that plays HLS in browsers with support for MSE. - Issues · video-dev/hls.js
Qizot
Qizot11mo ago
video.js is using hls.js under the hood as the backend controlling the HLS stream
Want results from more Discord servers?
Add your server