HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
HLS.js v1.5.0-beta.3 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.5.0-beta.2...v1.5.0-beta.3
https://04777092.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.5.0-beta.2 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.5.0-beta.1...v1.5.0-beta.2
mediaKeysSession.generateRequest
resolved (#6034)https://898bc592.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.4.13 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.4.12...v1.4.13
https://16f1932e.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.5.0-beta.1 includes playback and API enhancements targeted at supporting HLS assets containing HDR video variants and multi-channel audio renditions.
https://github.com/video-dev/hls.js/compare/v1.5.0-alpha.1...v1.5.0-beta.1
self
from enableLogger
(#5936)karma-rollup-preprocessor
to the version that works in watch mode (#5991)https://github.com/video-dev/hls.js/compare/v1.4.12...v1.5.0-beta.1
hls.firstLevel
), or any variant of a preferred codec, if its BANDWIDTH exceeds abrEwmaDefaultEstimateMax
.hls.firstAutoLevel
getter, used internally to get the starting level index.
hls.levels
are sorted on height, frame rate, preferred codec, and video-range to infer order by quality. Height-first sorting allows cap-level-lontroller to set a max quality index at the maximum allowed resolution.hls.allAudioTracks
and hls.allSubtitleTracks
hls.setAudioOption()
and config.audioPreference
have been added to simplify audio selection based on user preferences and playback settingshls.setSubtitleOption()
and config.subtitlePreference
have been added to simplify subtitle selection based on user preferences and playback settings. Only subtitle media options (hls.allSubtitleTracks
) are subject to selection criteria. Captions are either assigned a TextTrack or emitted through events when native rendering is disabled.config.videoPreference.preferHDR
and preferHDR
have been added to override the default SDR/HDR selection behaviorbandwidthEstimate
that resets estimator to new starting valueconfig.useMediaCapabilities
(defaults to true
)config.useMediaCapabilities
to false
to disable the use of MediaCapabilities.decodingInfo
isSupported()
has been expanded to test alternate baseline codecs (#6006)
isMSESupported()
, a subroutine of isSupported()
, checks for MediaSource API without isTypeSupported checks.getMediaSource()
which returns the preferred MSE interface or undefined when unavailableisSupported
, isMSESupported
, and getMediaSource
STEERING_MANIFEST_LOADED
event when loading a Content Steering Manifest (#5417) @guillemcabrerafrontBufferFlushThreshold
(#5761) @iamboorritomaxAutoLevel
change #5763shouldRetry
predicate in retryConfig
(#5658) @PavelFomin90 (completed in #5762)config.abrEwmaDefaultEstimateMax
option which limits how high default value can be adjusted to.
Separate peak and average bitrates of Level objectsLevel.bitrate
uses variant BANDWIDTH (required peak bitrate) before falling back to optional AVERAGE-BANDWIDTH.Level.averageBitrate
returns parsed AVERAGE-BANDWIDTH. Falls back to runtime average Level.realBitrate (which is only set when config.abrMaxWithRealBitrate
is enabled) and finally Level.bitrate (BANDWIDTH).Level.frameRate
returns parsed FRAME-RATE number or 0.Level.codecs
returns parsed CODECS or emptry string.Level.score
returns parsed SCORE number or 0.0
@jhonalino in #5714LoaderContext
in type Loader
(#5494) @lvnam96playsInline
to video elements on demo pages (#5556) @tjenkinsonkarma-rollup-preprocessor
to version that works in watch mode (#5991).gitignore
(#5635) @softworkzhttps://c2e375b8.hls-js-dev.pages.dev/demo/
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.5.0-alpha.1 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.5.0-alpha.0...v1.5.0-alpha.1
nudgeRetry
(#5879) @robwalch
clientAttrs
property (#5891) @robwalchpreferManagedMediaSource
API.md doc entry for ManagedMediaSource usage (#5828) @robwalchconcurrency
instead of cancel-workflow-action
(#5885) @tjenkinsonhttps://github.com/video-dev/hls.js/compare/v1.4.12...v1.5.0-alpha.0
STEERING_MANIFEST_LOADED
event when loading a Content Steering Manifest by @guillemcabrera in #5417frontBufferFlushThreshold
by @iamboorrito in #5761maxAutoLevel
change by @robwalch in #5763shouldRetry
predicate in retryConfig
by @PavelFomin90 in #5658 (completed in #5762)config.abrEwmaDefaultEstimateMax
option which limits how high default value can be adjusted to.
Separate peak and average bitrates of Level objectshls.firstLevel
), or any variant of a preferred codec, if its BANDWIDTH exceeds abrEwmaDefaultEstimateMax
.hls.firstAutoLevel
getter, used internally to get the starting level index.
hls.levels
are sorted on height, frame rate, preferred codec, and video-range to infer order by quality. Height-first sorting allows cap-level-lontroller to set a max quality index at the maximum allowed resolution.hls.allAudioTracks
and hls.allSubtitleTracks
Level.bitrate
uses variant BANDWIDTH (required peak bitrate) before falling back to optional AVERAGE-BANDWIDTH.Level.averageBitrate
returns parsed AVERAGE-BANDWIDTH. Falls back to runtime average Level.realBitrate (which is only set when config.abrMaxWithRealBitrate
is enabled) and finally Level.bitrate (BANDWIDTH).Added Level.frameRate
returns parsed FRAME-RATE number or 0.Added Level.codecs
returns parsed CODECS or emptry string.Added Level.score
returns parsed SCORE number or 0.0
@jhonalino in #5714LoaderContext
in type Loader
(#5487) by @lvnam96 in #5494playsInline
to video elements on demo pages by @tjenkinson in #5556.gitignore
by @softworkz in #5635https://eb50102f.hls-js-dev.pages.dev/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.5.0-alpha.0 is an early preview of v1.5.0. It is not feature complete. Unresolved issues are tracked via the v1.5.0 milestone.
https://github.com/video-dev/hls.js/compare/v1.4.12...v1.5.0-alpha.0
STEERING_MANIFEST_LOADED
event when loading a Content Steering Manifest by @guillemcabrera in #5417frontBufferFlushThreshold
by @iamboorrito in #5761maxAutoLevel
change by @robwalch in #5763shouldRetry
predicate in retryConfig
by @PavelFomin90 in #5658 (completed in #5762)config.abrEwmaDefaultEstimateMax
option which limits how high default value can be adjusted to.
Separate peak and average bitrates of Level objectshls.firstLevel
), or any variant of a preferred codec, if its BANDWIDTH exceeds abrEwmaDefaultEstimateMax
.hls.firstAutoLevel
getter, used internally to get the starting level index.
hls.levels
are sorted on height, frame rate, preferred codec, and video-range to infer order by quality. Height-first sorting allows cap-level-lontroller to set a max quality index at the maximum allowed resolution.hls.allAudioTracks
and hls.allSubtitleTracks
Level.bitrate
uses variant BANDWIDTH (required peak bitrate) before falling back to optional AVERAGE-BANDWIDTH.Level.averageBitrate
returns parsed AVERAGE-BANDWIDTH. Falls back to runtime average Level.realBitrate (which is only set when config.abrMaxWithRealBitrate
is enabled) and finally Level.bitrate (BANDWIDTH).Added Level.frameRate
returns parsed FRAME-RATE number or 0.Added Level.codecs
returns parsed CODECS or emptry string.Added Level.score
returns parsed SCORE number or 0.0
@jhonalino in #5714LoaderContext
in type Loader
(#5487) by @lvnam96 in #5494playsInline
to video elements on demo pages by @tjenkinson in #5556.gitignore
by @softworkz in #5635https://eb50102f.hls-js-dev.pages.dev/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.4.12 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.4.11...v1.4.12
https://6fd26b8d.hls-js-dev.pages.dev/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.4.11 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.4.10...v1.4.11
https://324bd619.hls-js-dev.pages.dev/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.4.10 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.4.9...v1.4.10
https://7933f840.hls-js-dev.pages.dev/
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
HLS.js v1.4.9 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.4.8...v1.4.9
PIPELINE_ERROR_DECODE: VDA Error 4
caused by missing AUD units for keyframes in MP2TS (#5660) @Thulinma
https://ca19d1f5.hls-js-dev.pages.dev/demo/
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.