@videojs/html 10.0.0-beta.30 → 10.0.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/audio-minimal-ui.dev.js +1 -1
- package/cdn/audio-minimal-ui.js +1 -1
- package/cdn/audio-minimal.dev.js +4 -4
- package/cdn/audio-minimal.dev.js.map +1 -1
- package/cdn/audio-minimal.js +1 -1
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio-player.dev.js +1 -0
- package/cdn/audio-player.js +1 -0
- package/cdn/audio-ui.dev.js +1 -1
- package/cdn/audio-ui.js +1 -1
- package/cdn/audio.dev.js +4 -4
- package/cdn/audio.dev.js.map +1 -1
- package/cdn/audio.js +1 -1
- package/cdn/audio.js.map +1 -1
- package/cdn/background.dev.js +1 -1
- package/cdn/background.js +1 -1
- package/cdn/{compounds-D1FPw7jg.js → compounds-BA8gXlmJ.js} +32 -188
- package/cdn/compounds-BA8gXlmJ.js.map +1 -0
- package/cdn/compounds-DKoFv2f8.js +8 -0
- package/cdn/compounds-DKoFv2f8.js.map +1 -0
- package/cdn/{create-player-5UrHNqBI.js → create-player-BEEc22xK.js} +18 -2
- package/cdn/{create-player-5UrHNqBI.js.map → create-player-BEEc22xK.js.map} +1 -1
- package/cdn/create-player-D5WQ_jzZ.js +2 -0
- package/cdn/{create-player-LjvbIxIq.js.map → create-player-D5WQ_jzZ.js.map} +1 -1
- package/cdn/{gesture-element-BbNy1Pjt.js → gesture-element-CxdagZOo.js} +2 -2
- package/cdn/{gesture-element-BbNy1Pjt.js.map → gesture-element-CxdagZOo.js.map} +1 -1
- package/cdn/{gesture-element-KdpjbbBD.js → gesture-element-x6kojUJk.js} +3 -3
- package/cdn/{gesture-element-KdpjbbBD.js.map → gesture-element-x6kojUJk.js.map} +1 -1
- package/cdn/i18n-CE4KxKuj.js.map +1 -1
- package/cdn/{i18n-DeI9j-ko.js → i18n-C_WyuIHd.js} +2 -2
- package/cdn/{i18n-DeI9j-ko.js.map → i18n-C_WyuIHd.js.map} +1 -1
- package/cdn/i18n-DyF_NfCk.js.map +1 -1
- package/cdn/i18n-o3_t8fxw.js +2 -0
- package/cdn/{i18n-R3TQ8P2f.js.map → i18n-o3_t8fxw.js.map} +1 -1
- package/cdn/live-audio-minimal-ui.dev.js +2 -0
- package/cdn/live-audio-minimal-ui.js +1 -0
- package/cdn/live-audio-minimal.dev.d.ts +1 -0
- package/cdn/live-audio-minimal.dev.js +97 -0
- package/cdn/live-audio-minimal.dev.js.map +1 -0
- package/cdn/live-audio-minimal.js +2 -0
- package/cdn/live-audio-minimal.js.map +1 -0
- package/cdn/live-audio-player.dev.d.ts +1 -0
- package/cdn/live-audio-player.dev.js +1 -0
- package/cdn/live-audio-player.js +1 -0
- package/cdn/live-audio-ui.dev.d.ts +1 -0
- package/cdn/live-audio-ui.dev.js +2 -0
- package/cdn/live-audio-ui.js +1 -0
- package/cdn/live-audio.dev.d.ts +1 -0
- package/cdn/live-audio.dev.js +97 -0
- package/cdn/live-audio.dev.js.map +1 -0
- package/cdn/live-audio.js +2 -0
- package/cdn/live-audio.js.map +1 -0
- package/cdn/{live-button-element-CylfQD0v.js → live-button-element-BFufqFFV.js} +3 -3
- package/cdn/{live-button-element-CylfQD0v.js.map → live-button-element-BFufqFFV.js.map} +1 -1
- package/cdn/live-button-element-CEbrR59d.js +2 -0
- package/cdn/{live-button-element-C-WypudK.js.map → live-button-element-CEbrR59d.js.map} +1 -1
- package/cdn/live-video-minimal-ui.dev.d.ts +1 -0
- package/cdn/live-video-minimal-ui.dev.js +2 -0
- package/cdn/live-video-minimal-ui.js +1 -0
- package/cdn/live-video-minimal.dev.js +5 -36
- package/cdn/live-video-minimal.dev.js.map +1 -1
- package/cdn/live-video-minimal.js +1 -1
- package/cdn/live-video-minimal.js.map +1 -1
- package/cdn/live-video-player.dev.d.ts +1 -0
- package/cdn/live-video-player.dev.js +1 -0
- package/cdn/live-video-player.js +1 -0
- package/cdn/live-video-ui.dev.d.ts +1 -0
- package/cdn/live-video-ui.dev.js +2 -0
- package/cdn/live-video-ui.js +1 -0
- package/cdn/live-video.dev.js +5 -38
- package/cdn/live-video.dev.js.map +1 -1
- package/cdn/live-video.js +1 -1
- package/cdn/live-video.js.map +1 -1
- package/cdn/media/hls-background-video.dev.js +1 -1
- package/cdn/media/hls-background-video.js +1 -1
- package/cdn/media/hls-background-video.js.map +1 -1
- package/cdn/media/mux-background-video.dev.js +1 -1
- package/cdn/media/mux-background-video.js +1 -1
- package/cdn/media/mux-background-video.js.map +1 -1
- package/cdn/media/mux-data.dev.js +1 -1
- package/cdn/media/mux-data.dev.js.map +1 -1
- package/cdn/media/mux-data.js +1 -1
- package/cdn/media/mux-data.js.map +1 -1
- package/cdn/{media-B4uT13xV.js → media-B4uT13xV2.js} +1 -1
- package/cdn/media-B4uT13xV2.js.map +1 -0
- package/cdn/{media-D6Xer97u.js → media-D6Xer97u2.js} +1 -1
- package/cdn/media-D6Xer97u2.js.map +1 -0
- package/cdn/minimal-ui-0eDc51VS.js +2 -0
- package/cdn/{minimal-ui-D3XCtSx_.js.map → minimal-ui-0eDc51VS.js.map} +1 -1
- package/cdn/minimal-ui-C2vRjwax.js +36 -0
- package/cdn/minimal-ui-C2vRjwax.js.map +1 -0
- package/cdn/{minimal-ui-ajeAXABk.js → minimal-ui-CLBGXvp5.js} +4 -4
- package/cdn/{minimal-ui-ajeAXABk.js.map → minimal-ui-CLBGXvp5.js.map} +1 -1
- package/cdn/minimal-ui-ClCvmIm4.js +2 -0
- package/cdn/minimal-ui-ClCvmIm4.js.map +1 -0
- package/cdn/minimal-ui-DDM48qb3.js +2 -0
- package/cdn/minimal-ui-DDM48qb3.js.map +1 -0
- package/cdn/minimal-ui-DY4C1zGt.js +23 -0
- package/cdn/minimal-ui-DY4C1zGt.js.map +1 -0
- package/cdn/{minimal-ui-KUzZkG_3.js → minimal-ui-Dk4_XLp4.js} +8 -8
- package/cdn/{minimal-ui-KUzZkG_3.js.map → minimal-ui-Dk4_XLp4.js.map} +1 -1
- package/cdn/{minimal-ui-p9QCZfCz.js → minimal-ui-JHiRECkp.js} +2 -2
- package/cdn/{minimal-ui-p9QCZfCz.js.map → minimal-ui-JHiRECkp.js.map} +1 -1
- package/cdn/{player-POHYt5tr.js → player-BGAk4zHP.js} +2 -2
- package/cdn/{player-POHYt5tr.js.map → player-BGAk4zHP.js.map} +1 -1
- package/cdn/{player-CngT-cVQ.js → player-Bb9oakYz.js} +2 -2
- package/cdn/{player-CngT-cVQ.js.map → player-Bb9oakYz.js.map} +1 -1
- package/cdn/{player-BXQMSpgR.js → player-BrlY19A2.js} +2 -2
- package/cdn/{player-BXQMSpgR.js.map → player-BrlY19A2.js.map} +1 -1
- package/cdn/{player-BuxifKSM.js → player-CQENs37B.js} +2 -2
- package/cdn/{player-BuxifKSM.js.map → player-CQENs37B.js.map} +1 -1
- package/cdn/player-DdOHaN9e.js +2 -0
- package/cdn/player-DdOHaN9e.js.map +1 -0
- package/cdn/{player-B5zkgqwT.js → player-DtcVc6sP.js} +2 -2
- package/cdn/{player-B5zkgqwT.js.map → player-DtcVc6sP.js.map} +1 -1
- package/cdn/{player-DMP2pc3L.js → player-bEUswOOg.js} +2 -2
- package/cdn/{player-DMP2pc3L.js.map → player-bEUswOOg.js.map} +1 -1
- package/cdn/player-qLOeas8M.js +18 -0
- package/cdn/player-qLOeas8M.js.map +1 -0
- package/cdn/poster-element-BA7p_OJL.js +2 -0
- package/cdn/{poster-element-Djlm5fwC.js.map → poster-element-BA7p_OJL.js.map} +1 -1
- package/cdn/{poster-element-CuCEBVr3.js → poster-element-BTynHaSW.js} +4 -3
- package/cdn/{poster-element-CuCEBVr3.js.map → poster-element-BTynHaSW.js.map} +1 -1
- package/cdn/radio-options-controller-Cz5yFvUh.js +138 -0
- package/cdn/radio-options-controller-Cz5yFvUh.js.map +1 -0
- package/cdn/radio-options-controller-hybHJkeC.js +2 -0
- package/cdn/radio-options-controller-hybHJkeC.js.map +1 -0
- package/cdn/seek-button-element-C4g3qPbc.js +2 -0
- package/cdn/{seek-button-element-CgaXVFPS.js.map → seek-button-element-C4g3qPbc.js.map} +1 -1
- package/cdn/{seek-button-element-BD2caCd5.js → seek-button-element-CirtfRSE.js} +4 -3
- package/cdn/seek-button-element-CirtfRSE.js.map +1 -0
- package/cdn/{skin-element-PDwjO4v0.js → skin-element-BF1a0EIj.js} +2 -2
- package/cdn/{skin-element-PDwjO4v0.js.map → skin-element-BF1a0EIj.js.map} +1 -1
- package/cdn/skin-element-BTt7JKoR.js +2 -0
- package/cdn/{skin-element-DE8OodF5.js.map → skin-element-BTt7JKoR.js.map} +1 -1
- package/cdn/template-BKUlUXWF.js +2 -0
- package/cdn/template-BKUlUXWF.js.map +1 -0
- package/cdn/template-ClYP_1RH.js +31 -0
- package/cdn/template-ClYP_1RH.js.map +1 -0
- package/cdn/text-element-DW2FuvdI.js +2 -0
- package/cdn/text-element-DW2FuvdI.js.map +1 -0
- package/cdn/{text-element-dyiwucQB.js → text-element-LzVNdZbp.js} +50 -2
- package/cdn/text-element-LzVNdZbp.js.map +1 -0
- package/cdn/time-slider-chapters-element-Bf4gYppH.js +2 -0
- package/cdn/{time-slider-chapters-element-b6oeaZtJ.js.map → time-slider-chapters-element-Bf4gYppH.js.map} +1 -1
- package/cdn/{time-slider-chapters-element-BTMqnBhM.js → time-slider-chapters-element-DMkTYNg3.js} +5 -3
- package/cdn/time-slider-chapters-element-DMkTYNg3.js.map +1 -0
- package/cdn/{ui-BsUcH4YJ.js → ui-BL6b1m09.js} +7 -7
- package/cdn/{ui-BsUcH4YJ.js.map → ui-BL6b1m09.js.map} +1 -1
- package/cdn/ui-BbpSrILu.js +2 -0
- package/cdn/{ui-DLvwCbsU.js.map → ui-BbpSrILu.js.map} +1 -1
- package/cdn/ui-BmCfIOl5.js +38 -0
- package/cdn/ui-BmCfIOl5.js.map +1 -0
- package/cdn/ui-Bu9GX-M_.js +28 -0
- package/cdn/ui-Bu9GX-M_.js.map +1 -0
- package/cdn/ui-CBrFrvmm.js +2 -0
- package/cdn/{ui-CxftD4RF.js.map → ui-CBrFrvmm.js.map} +1 -1
- package/cdn/{ui-CtONjPC2.js → ui-CQsP0EFA.js} +9 -9
- package/cdn/{ui-CtONjPC2.js.map → ui-CQsP0EFA.js.map} +1 -1
- package/cdn/ui-Crbp7m4I.js +2 -0
- package/cdn/ui-Crbp7m4I.js.map +1 -0
- package/cdn/ui-DRKjxVsj.js +2 -0
- package/cdn/ui-DRKjxVsj.js.map +1 -0
- package/cdn/video-minimal-ui.dev.js +1 -1
- package/cdn/video-minimal-ui.js +1 -1
- package/cdn/video-minimal.dev.js +13 -12
- package/cdn/video-minimal.dev.js.map +1 -1
- package/cdn/video-minimal.js +1 -1
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video-player.dev.d.ts +1 -0
- package/cdn/video-player.dev.js +1 -0
- package/cdn/video-player.js +1 -0
- package/cdn/video-ui.dev.js +1 -1
- package/cdn/video-ui.js +1 -1
- package/cdn/video.dev.js +14 -13
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +1 -1
- package/cdn/video.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.css +39 -7
- package/dist/default/define/audio/skin.css +31 -7
- package/dist/default/define/live-audio/minimal-skin.css +39 -7
- package/dist/default/define/live-audio/skin.css +31 -7
- package/dist/default/define/live-video/minimal-skin.css +39 -7
- package/dist/default/define/live-video/minimal-skin.js +1 -1
- package/dist/default/define/live-video/minimal-skin.js.map +1 -1
- package/dist/default/define/live-video/minimal-skin.tailwind.js +1 -1
- package/dist/default/define/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/live-video/skin.css +31 -7
- package/dist/default/define/live-video/skin.js +1 -1
- package/dist/default/define/live-video/skin.js.map +1 -1
- package/dist/default/define/live-video/skin.tailwind.js +1 -1
- package/dist/default/define/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/define/video/minimal-skin.css +39 -7
- package/dist/default/define/video/minimal-skin.js +1 -1
- package/dist/default/define/video/minimal-skin.js.map +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/video/skin.css +31 -7
- package/dist/default/define/video/skin.js +1 -1
- package/dist/default/define/video/skin.js.map +1 -1
- package/dist/default/define/video/skin.tailwind.js +1 -1
- package/dist/default/define/video/skin.tailwind.js.map +1 -1
- package/dist/default/i18n/provider-mixin.js +24 -0
- package/dist/default/i18n/provider-mixin.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +8 -7
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +8 -7
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/ui/slider/slider-element.js +1 -2
- package/dist/default/ui/slider/slider-element.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-element.js +1 -2
- package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
- package/dist/default/ui/volume-slider/volume-slider-element.js +1 -2
- package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/dev/define/audio/minimal-skin.css +39 -7
- package/dist/dev/define/audio/skin.css +31 -7
- package/dist/dev/define/live-audio/minimal-skin.css +39 -7
- package/dist/dev/define/live-audio/skin.css +31 -7
- package/dist/dev/define/live-video/minimal-skin.css +39 -7
- package/dist/dev/define/live-video/minimal-skin.js +1 -1
- package/dist/dev/define/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/define/live-video/minimal-skin.tailwind.js +1 -1
- package/dist/dev/define/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/live-video/skin.css +31 -7
- package/dist/dev/define/live-video/skin.js +1 -1
- package/dist/dev/define/live-video/skin.js.map +1 -1
- package/dist/dev/define/live-video/skin.tailwind.js +1 -1
- package/dist/dev/define/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/define/video/minimal-skin.css +39 -7
- package/dist/dev/define/video/minimal-skin.js +8 -8
- package/dist/dev/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.js +12 -12
- package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/video/skin.css +31 -7
- package/dist/dev/define/video/skin.js +8 -8
- package/dist/dev/define/video/skin.js.map +1 -1
- package/dist/dev/define/video/skin.tailwind.js +12 -12
- package/dist/dev/define/video/skin.tailwind.js.map +1 -1
- package/dist/dev/i18n/provider-mixin.d.ts.map +1 -1
- package/dist/dev/i18n/provider-mixin.js +24 -0
- package/dist/dev/i18n/provider-mixin.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/button-group.js +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js +8 -7
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button-group.js +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js +8 -7
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/time.js +2 -2
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/ui/slider/slider-element.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-element.js +1 -2
- package/dist/dev/ui/slider/slider-element.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.js +1 -2
- package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -2
- package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/media-sources.md +26 -2
- package/docs/concepts/skins.md +39 -15
- package/docs/how-to/customize-skins.md +7662 -48
- package/docs/how-to/i18n-switch-locale.md +27 -0
- package/docs/how-to/installation.md +4 -4
- package/docs/how-to/migrate-from-plyr.md +1 -5
- package/docs/llms.txt +7 -0
- package/docs/reference/cloudflare-video.md +483 -0
- package/docs/reference/dash-video.md +54 -0
- package/docs/reference/feature-metadata.md +3 -1
- package/docs/reference/hlsjs-video.md +626 -0
- package/docs/reference/native-hls-video.md +40 -0
- package/docs/reference/shaka-video.md +588 -0
- package/docs/reference/spotify-audio.md +394 -0
- package/docs/reference/tiktok-video.md +504 -0
- package/docs/reference/title.md +1 -1
- package/docs/reference/twitch-video.md +447 -0
- package/docs/reference/vimeo-video.md +1038 -0
- package/docs/reference/youtube-video.md +573 -0
- package/package.json +9 -9
- package/cdn/audio-headless.dev.js +0 -1
- package/cdn/audio-headless.js +0 -1
- package/cdn/compounds-CHlzbAKu.js +0 -8
- package/cdn/compounds-CHlzbAKu.js.map +0 -1
- package/cdn/compounds-D1FPw7jg.js.map +0 -1
- package/cdn/create-player-LjvbIxIq.js +0 -2
- package/cdn/i18n-R3TQ8P2f.js +0 -2
- package/cdn/live-button-element-C-WypudK.js +0 -2
- package/cdn/media-B4uT13xV.js.map +0 -1
- package/cdn/media-D6Xer97u.js.map +0 -1
- package/cdn/minimal-ui-D3XCtSx_.js +0 -2
- package/cdn/poster-element-Djlm5fwC.js +0 -2
- package/cdn/seek-button-element-BD2caCd5.js.map +0 -1
- package/cdn/seek-button-element-CgaXVFPS.js +0 -2
- package/cdn/skin-element-DE8OodF5.js +0 -2
- package/cdn/text-element-BJyj7nLo.js +0 -2
- package/cdn/text-element-BJyj7nLo.js.map +0 -1
- package/cdn/text-element-dyiwucQB.js.map +0 -1
- package/cdn/time-slider-chapters-element-BTMqnBhM.js.map +0 -1
- package/cdn/time-slider-chapters-element-b6oeaZtJ.js +0 -2
- package/cdn/ui-CxftD4RF.js +0 -2
- package/cdn/ui-DLvwCbsU.js +0 -2
- package/cdn/video-headless.dev.js +0 -1
- package/cdn/video-headless.js +0 -1
- /package/cdn/{audio-headless.dev.d.ts → audio-player.dev.d.ts} +0 -0
- /package/cdn/{video-headless.dev.d.ts → live-audio-minimal-ui.dev.d.ts} +0 -0
|
@@ -0,0 +1,588 @@
|
|
|
1
|
+
# shaka-video
|
|
2
|
+
|
|
3
|
+
Video element powered by Shaka Player for DASH, HLS, and progressive playback with DRM
|
|
4
|
+
|
|
5
|
+
Video element powered by [Shaka Player](https://github.com/shaka-project/shaka-player). One element plays DASH, HLS, and progressive files, and it’s the media component to reach for when you need DRM.
|
|
6
|
+
|
|
7
|
+
## Load a source
|
|
8
|
+
|
|
9
|
+
`src` takes a manifest URL. DASH, HLS, and progressive files all go through the same property, and Shaka picks the parser from the URL.
|
|
10
|
+
|
|
11
|
+
html
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
<shaka-video src="https://example.com/manifest.mpd"></shaka-video>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
When the URL carries no extension to go on, name the type with `source.type`. That’s what makes an extensionless manifest playable.
|
|
18
|
+
|
|
19
|
+
ts
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
const video = document.querySelector('shaka-video');
|
|
23
|
+
video.source = { src: 'https://example.com/manifest', type: 'application/dash+xml' };
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Protected content
|
|
27
|
+
|
|
28
|
+
`source.drm` names your license servers, keyed by [EME key system id](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/requestMediaKeySystemAccess). Name every system you hold a license server for: which one gets negotiated is the browser’s choice.
|
|
29
|
+
|
|
30
|
+
ts
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
const video = document.querySelector('shaka-video');
|
|
34
|
+
video.source = {
|
|
35
|
+
src: 'https://example.com/manifest.mpd',
|
|
36
|
+
drm: {
|
|
37
|
+
'com.widevine.alpha': { licenseUrl: 'https://example.com/widevine' },
|
|
38
|
+
'com.apple.fps': {
|
|
39
|
+
licenseUrl: 'https://example.com/fairplay',
|
|
40
|
+
serverCertificateUrl: 'https://example.com/fairplay.cer',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
FairPlay needs a `serverCertificateUrl` unless its CDM is pre-provisioned; Widevine and PlayReady ignore it. `source.drm` takes the same shape as hls.js’s own `drmSystems`, so one object describes DRM for either engine.
|
|
47
|
+
|
|
48
|
+
For the parts of Shaka’s DRM configuration this doesn’t cover, configure Shaka directly. A `drm.servers` under `source.engine.shaka` replaces `source.drm` rather than merging with it.
|
|
49
|
+
|
|
50
|
+
## Behavior
|
|
51
|
+
|
|
52
|
+
* Adaptation stays within renditions no larger than the element rendering them, through Shaka’s `abr.restrictToElementSize`. Override it under `source.engine.shaka`.
|
|
53
|
+
* `preload="none"` defers the load until playback is asked for; `autoplay` or a `play()` counts as asking.
|
|
54
|
+
* `preload="metadata"` loads, then holds Shaka’s buffering goals down to a second until `preload` rises to `auto`.
|
|
55
|
+
* `streamType` is detected from the manifest, so a player skin renders live and on-demand content correctly without being told which it is.
|
|
56
|
+
* Changing `source.engine.shaka` reconfigures the running player in place instead of recreating it.
|
|
57
|
+
|
|
58
|
+
## Examples
|
|
59
|
+
|
|
60
|
+
### Basic Usage
|
|
61
|
+
|
|
62
|
+
index.html
|
|
63
|
+
|
|
64
|
+
index.css
|
|
65
|
+
|
|
66
|
+
index.ts
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
<media-container class="media-container">
|
|
70
|
+
<shaka-video
|
|
71
|
+
src="https://dash.akamaized.net/akamai/streamroot/050714/Spring_4Ktest.mpd"
|
|
72
|
+
autoplay
|
|
73
|
+
muted
|
|
74
|
+
playsinline
|
|
75
|
+
loop
|
|
76
|
+
></shaka-video>
|
|
77
|
+
</media-container>
|
|
78
|
+
```
|
|
79
|
+
```
|
|
80
|
+
.media-container {
|
|
81
|
+
position: relative;
|
|
82
|
+
display: block;
|
|
83
|
+
width: 100%;
|
|
84
|
+
aspect-ratio: 16 / 9;
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
```
|
|
88
|
+
import '@videojs/html/media/container';
|
|
89
|
+
import '@videojs/html/media/shaka-video';
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## API Reference
|
|
93
|
+
|
|
94
|
+
### Attributes
|
|
95
|
+
|
|
96
|
+
Forwards these standard media attributes to the internal `<video>`. See the [MDN media element reference](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video): `autopictureinpicture``autoplay``controls``controlslist``crossorigin``disablepictureinpicture``disableremoteplayback``loading``loop``muted``playsinline``poster``preload``src`
|
|
97
|
+
|
|
98
|
+
These Video.js-specific attributes configure media behavior:
|
|
99
|
+
|
|
100
|
+
Attribute
|
|
101
|
+
|
|
102
|
+
Type
|
|
103
|
+
|
|
104
|
+
Default
|
|
105
|
+
|
|
106
|
+
Details
|
|
107
|
+
|
|
108
|
+
`stream-type`
|
|
109
|
+
|
|
110
|
+
`MediaStreamType`
|
|
111
|
+
|
|
112
|
+
`'unknown'`
|
|
113
|
+
|
|
114
|
+
### Properties
|
|
115
|
+
|
|
116
|
+
Property
|
|
117
|
+
|
|
118
|
+
Type
|
|
119
|
+
|
|
120
|
+
Default
|
|
121
|
+
|
|
122
|
+
Details
|
|
123
|
+
|
|
124
|
+
`contentData`
|
|
125
|
+
|
|
126
|
+
`Target["contentData"] | undefined`
|
|
127
|
+
|
|
128
|
+
`—`
|
|
129
|
+
|
|
130
|
+
▸
|
|
131
|
+
|
|
132
|
+
Description
|
|
133
|
+
|
|
134
|
+
Read-only.
|
|
135
|
+
|
|
136
|
+
`engine`
|
|
137
|
+
|
|
138
|
+
`Player | null`
|
|
139
|
+
|
|
140
|
+
`—`
|
|
141
|
+
|
|
142
|
+
▸
|
|
143
|
+
|
|
144
|
+
Description
|
|
145
|
+
|
|
146
|
+
Read-only. Underlying playback engine — the Shaka `Player` instance, or `null` when the browser cannot run it. An advanced escape hatch for direct engine access; normal playback is driven through this element's own properties and methods.
|
|
147
|
+
|
|
148
|
+
`error`
|
|
149
|
+
|
|
150
|
+
`ErrorLike | null`
|
|
151
|
+
|
|
152
|
+
`—`
|
|
153
|
+
|
|
154
|
+
▸
|
|
155
|
+
|
|
156
|
+
Description
|
|
157
|
+
|
|
158
|
+
Read-only. The last playback failure Shaka could not recover from, or `null`. Shaka loads asynchronously, so a manifest that cannot be played fails after `src` was assigned rather than at the assignment; the `error` event is when to read this.
|
|
159
|
+
|
|
160
|
+
A Shaka failure says more about what went wrong than the media element's own `error` does, so it wins while there is one; anything the element failed on by itself still reads through.
|
|
161
|
+
|
|
162
|
+
`isFullscreen`
|
|
163
|
+
|
|
164
|
+
`boolean`
|
|
165
|
+
|
|
166
|
+
`—`
|
|
167
|
+
|
|
168
|
+
▸
|
|
169
|
+
|
|
170
|
+
Description
|
|
171
|
+
|
|
172
|
+
Read-only.
|
|
173
|
+
|
|
174
|
+
`isPictureInPicture`
|
|
175
|
+
|
|
176
|
+
`boolean`
|
|
177
|
+
|
|
178
|
+
`—`
|
|
179
|
+
|
|
180
|
+
▸
|
|
181
|
+
|
|
182
|
+
Description
|
|
183
|
+
|
|
184
|
+
Read-only.
|
|
185
|
+
|
|
186
|
+
`liveEdgeStart`
|
|
187
|
+
|
|
188
|
+
`number`
|
|
189
|
+
|
|
190
|
+
`—`
|
|
191
|
+
|
|
192
|
+
▸
|
|
193
|
+
|
|
194
|
+
Description
|
|
195
|
+
|
|
196
|
+
Read-only.
|
|
197
|
+
|
|
198
|
+
`preload`
|
|
199
|
+
|
|
200
|
+
`MediaPreloadType`
|
|
201
|
+
|
|
202
|
+
`'metadata'`
|
|
203
|
+
|
|
204
|
+
▸
|
|
205
|
+
|
|
206
|
+
Description
|
|
207
|
+
|
|
208
|
+
How much to fetch before playback is asked for, mirroring the media element's own `preload`. Shaka has no split between "know the source" and "buffer it", so this maps onto when and how `engine.load()` runs:
|
|
209
|
+
|
|
210
|
+
* `'auto'` — load immediately with the configured buffering goals.
|
|
211
|
+
* `'metadata'` — load immediately, holding buffering to about a segment; the configured goals come back on the first play intent.
|
|
212
|
+
* `'none'` / `''` — hold the load entirely until the first play intent.
|
|
213
|
+
|
|
214
|
+
A play intent is a `play` event, a target that is already playing, or `autoplay` — which the spec lets override `preload` for good reason: with nothing fetched there is nothing whose readiness could ever fire it. Widening (`none` → `auto`) takes effect immediately; narrowing after a load began cannot un-fetch and leaves it alone.
|
|
215
|
+
|
|
216
|
+
`source`
|
|
217
|
+
|
|
218
|
+
`ShakaSource | null`
|
|
219
|
+
|
|
220
|
+
`null`
|
|
221
|
+
|
|
222
|
+
▸
|
|
223
|
+
|
|
224
|
+
Description
|
|
225
|
+
|
|
226
|
+
Structured source: what to play (`src`, an optional `type`) plus how to play it (`drm`, `engine.shaka`). Replacing it re-derives `src`.
|
|
227
|
+
|
|
228
|
+
Shaka takes configuration on a live player, so changing `engine.shaka` re-applies it in place instead of recreating the engine.
|
|
229
|
+
|
|
230
|
+
`src`
|
|
231
|
+
|
|
232
|
+
`string`
|
|
233
|
+
|
|
234
|
+
`''`
|
|
235
|
+
|
|
236
|
+
`streamType`
|
|
237
|
+
|
|
238
|
+
`MediaStreamType`
|
|
239
|
+
|
|
240
|
+
`'unknown'`
|
|
241
|
+
|
|
242
|
+
`targetLiveWindow`
|
|
243
|
+
|
|
244
|
+
`number`
|
|
245
|
+
|
|
246
|
+
`—`
|
|
247
|
+
|
|
248
|
+
▸
|
|
249
|
+
|
|
250
|
+
Description
|
|
251
|
+
|
|
252
|
+
Read-only.
|
|
253
|
+
|
|
254
|
+
`webkitCurrentPlaybackTargetIsWireless`
|
|
255
|
+
|
|
256
|
+
`boolean | undefined`
|
|
257
|
+
|
|
258
|
+
`—`
|
|
259
|
+
|
|
260
|
+
▸
|
|
261
|
+
|
|
262
|
+
Description
|
|
263
|
+
|
|
264
|
+
Read-only.
|
|
265
|
+
|
|
266
|
+
`webkitPresentationMode`
|
|
267
|
+
|
|
268
|
+
`WebKitPresentationMode | undefined`
|
|
269
|
+
|
|
270
|
+
`—`
|
|
271
|
+
|
|
272
|
+
▸
|
|
273
|
+
|
|
274
|
+
Description
|
|
275
|
+
|
|
276
|
+
Read-only.
|
|
277
|
+
|
|
278
|
+
`webkitSetPresentationMode`
|
|
279
|
+
|
|
280
|
+
`((mode: WebKitPresentationMode) => void) | undefined`
|
|
281
|
+
|
|
282
|
+
`—`
|
|
283
|
+
|
|
284
|
+
▸
|
|
285
|
+
|
|
286
|
+
Description
|
|
287
|
+
|
|
288
|
+
Read-only.
|
|
289
|
+
|
|
290
|
+
Also exposes these properties from the native media API. See [HTMLVideoElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement) for details: `autoplay``buffered``controls``crossOrigin``currentSrc``currentTime``defaultMuted``defaultPlaybackRate``disablePictureInPicture``disableRemotePlayback``duration``ended``loop``muted``paused``playbackRate``played``playsInline``poster``readyState``remote``seekable``seeking``textTracks``title``videoHeight``videoWidth``volume`
|
|
291
|
+
|
|
292
|
+
### Engine options
|
|
293
|
+
|
|
294
|
+
#### `source.engine.shaka`
|
|
295
|
+
|
|
296
|
+
Pass Shaka Player’s own configuration here. It’s handed to Shaka untouched, so every option in its [configuration reference](https://shaka-player-demo.appspot.com/docs/api/tutorial-config.html) works, spelled the way Shaka spells it. Replacing the object resets any configuration applied before it. [Media Sources](../concepts/media-sources.md) covers how engine options fit into a structured source.
|
|
297
|
+
|
|
298
|
+
Each entry below is a group of Shaka settings rather than a single value, and Shaka documents what’s inside them. The names and types come from Shaka’s own type definitions.
|
|
299
|
+
|
|
300
|
+
ts
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
const video = document.querySelector('shaka-video');
|
|
304
|
+
video.source = {
|
|
305
|
+
src: 'https://example.com/manifest.mpd',
|
|
306
|
+
engine: { shaka: { streaming: { bufferingGoal: 30 } } },
|
|
307
|
+
};
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
Option
|
|
311
|
+
|
|
312
|
+
Type
|
|
313
|
+
|
|
314
|
+
Details
|
|
315
|
+
|
|
316
|
+
`abr`
|
|
317
|
+
|
|
318
|
+
`object`
|
|
319
|
+
|
|
320
|
+
▸
|
|
321
|
+
|
|
322
|
+
Type
|
|
323
|
+
|
|
324
|
+
`{ advanced?: { droppedFramesBanDuration?: number; droppedFramesInterval?: number; droppedFramesThreshold?: number; fastHalfLife?: number; minBytes?: number; minTotalBytes?: number; slowHalfLife?: number; }; ... 15 more ...; useNetworkInformation?: boolean; }`
|
|
325
|
+
|
|
326
|
+
`abrFactory`
|
|
327
|
+
|
|
328
|
+
`Factory`
|
|
329
|
+
|
|
330
|
+
`accessibility`
|
|
331
|
+
|
|
332
|
+
`object`
|
|
333
|
+
|
|
334
|
+
▸
|
|
335
|
+
|
|
336
|
+
Type
|
|
337
|
+
|
|
338
|
+
`{ handleForcedSubtitlesAutomatically?: boolean; speechToText?: { enabled?: boolean; languagesToTranslate?: string[]; maxTextLength?: number; processLocally?: boolean; }; }`
|
|
339
|
+
|
|
340
|
+
`adaptationSetCriteriaFactory`
|
|
341
|
+
|
|
342
|
+
`Factory`
|
|
343
|
+
|
|
344
|
+
`ads`
|
|
345
|
+
|
|
346
|
+
`object`
|
|
347
|
+
|
|
348
|
+
▸
|
|
349
|
+
|
|
350
|
+
Type
|
|
351
|
+
|
|
352
|
+
`{ allowPreloadOnDomElements?: boolean; allowStartInMiddleOfInterstitial?: boolean; customPlayheadTracker?: boolean; disableDASHInterstitial?: boolean; disableHLSInterstitial?: boolean; ... 6 more ...; supportsMultipleMediaElements?: boolean; }`
|
|
353
|
+
|
|
354
|
+
`cmcd`
|
|
355
|
+
|
|
356
|
+
`object`
|
|
357
|
+
|
|
358
|
+
▸
|
|
359
|
+
|
|
360
|
+
Type
|
|
361
|
+
|
|
362
|
+
`{ contentId?: string; enabled?: boolean; eventTargets?: CmcdTarget[] | null; includeKeys?: string[]; rtpSafetyFactor?: number; sessionId?: string; useHeaders?: boolean; version?: number; }`
|
|
363
|
+
|
|
364
|
+
`cmsd`
|
|
365
|
+
|
|
366
|
+
`object`
|
|
367
|
+
|
|
368
|
+
▸
|
|
369
|
+
|
|
370
|
+
Type
|
|
371
|
+
|
|
372
|
+
`{ applyMaximumSuggestedBitrate?: boolean; enabled?: boolean; estimatedThroughputWeightRatio?: number; }`
|
|
373
|
+
|
|
374
|
+
`drm`
|
|
375
|
+
|
|
376
|
+
`object`
|
|
377
|
+
|
|
378
|
+
▸
|
|
379
|
+
|
|
380
|
+
Type
|
|
381
|
+
|
|
382
|
+
`{ advanced?: { [x: string]: { audioRobustness?: string[] | null; distinctiveIdentifierRequired?: boolean; headers?: { [x: string]: string | undefined; }; individualizationServer?: string; persistentStateRequired?: boolean; serverCertificate?: Uint8Array<...> | null; serverCertificateUri?: string; sessionType?: strin...`
|
|
383
|
+
|
|
384
|
+
`ignoreHardwareResolution`
|
|
385
|
+
|
|
386
|
+
`boolean`
|
|
387
|
+
|
|
388
|
+
`lcevc`
|
|
389
|
+
|
|
390
|
+
`object`
|
|
391
|
+
|
|
392
|
+
▸
|
|
393
|
+
|
|
394
|
+
Type
|
|
395
|
+
|
|
396
|
+
`{ drawLogo?: boolean; dynamicPerformanceScaling?: boolean; enabled?: boolean; logLevel?: number; poster?: boolean; }`
|
|
397
|
+
|
|
398
|
+
`manifest`
|
|
399
|
+
|
|
400
|
+
`object`
|
|
401
|
+
|
|
402
|
+
▸
|
|
403
|
+
|
|
404
|
+
Type
|
|
405
|
+
|
|
406
|
+
`{ availabilityWindowOverride?: number; continueLoadingWhenPaused?: boolean; dash?: { autoCorrectDrift?: boolean; clockSyncUri?: string; enableFastSwitching?: boolean; ignoreEmptyAdaptationSet?: boolean; ... 8 more ...; xlinkFailGracefully?: boolean; }; ... 15 more ...; updatePeriod?: number; }`
|
|
407
|
+
|
|
408
|
+
`mediaSource`
|
|
409
|
+
|
|
410
|
+
`function`
|
|
411
|
+
|
|
412
|
+
▸
|
|
413
|
+
|
|
414
|
+
Type
|
|
415
|
+
|
|
416
|
+
`{ addExtraFeaturesToSourceBuffer?: (a: string) => string; codecSwitchingStrategy?: CodecSwitchingStrategy; correctEc3Enca?: boolean; dispatchAllEmsgBoxes?: boolean; ... 6 more ...; useSourceElements?: boolean; }`
|
|
417
|
+
|
|
418
|
+
`networking`
|
|
419
|
+
|
|
420
|
+
`object`
|
|
421
|
+
|
|
422
|
+
▸
|
|
423
|
+
|
|
424
|
+
Type
|
|
425
|
+
|
|
426
|
+
`{ commonAccessTokenHeaderName?: string; forceHTTP?: boolean; forceHTTPS?: boolean; minBytesForProgressEvents?: number; }`
|
|
427
|
+
|
|
428
|
+
`offline`
|
|
429
|
+
|
|
430
|
+
`function`
|
|
431
|
+
|
|
432
|
+
▸
|
|
433
|
+
|
|
434
|
+
Type
|
|
435
|
+
|
|
436
|
+
`{ downloadSizeCallback?: (a: number) => Promise<boolean>; numberOfParallelDownloads?: number; progressCallback?: (a: StoredContent, b: number) => any; trackSelectionCallback?: (a: TrackList) => Promise<...>; usePersistentLicense?: boolean; }`
|
|
437
|
+
|
|
438
|
+
`playRangeEnd`
|
|
439
|
+
|
|
440
|
+
`number`
|
|
441
|
+
|
|
442
|
+
`playRangeStart`
|
|
443
|
+
|
|
444
|
+
`number`
|
|
445
|
+
|
|
446
|
+
`preferredAudio`
|
|
447
|
+
|
|
448
|
+
`AudioPreference[]`
|
|
449
|
+
|
|
450
|
+
`preferredDecodingAttributes`
|
|
451
|
+
|
|
452
|
+
`string[]`
|
|
453
|
+
|
|
454
|
+
`preferredText`
|
|
455
|
+
|
|
456
|
+
`TextPreference[]`
|
|
457
|
+
|
|
458
|
+
`preferredVideo`
|
|
459
|
+
|
|
460
|
+
`VideoPreference[]`
|
|
461
|
+
|
|
462
|
+
`queue`
|
|
463
|
+
|
|
464
|
+
`object`
|
|
465
|
+
|
|
466
|
+
▸
|
|
467
|
+
|
|
468
|
+
Type
|
|
469
|
+
|
|
470
|
+
`{ preloadNextUrlWindow?: number; preloadPrevItem?: boolean; repeatMode?: RepeatMode; }`
|
|
471
|
+
|
|
472
|
+
`restrictions`
|
|
473
|
+
|
|
474
|
+
`object`
|
|
475
|
+
|
|
476
|
+
▸
|
|
477
|
+
|
|
478
|
+
Type
|
|
479
|
+
|
|
480
|
+
`{ maxBandwidth?: number; maxChannelsCount?: number; maxFrameRate?: number; maxHeight?: number; maxPixels?: number; maxWidth?: number; minBandwidth?: number; minChannelsCount?: number; minFrameRate?: number; minHeight?: number; minPixels?: number; minWidth?: number; }`
|
|
481
|
+
|
|
482
|
+
`streaming`
|
|
483
|
+
|
|
484
|
+
`object`
|
|
485
|
+
|
|
486
|
+
▸
|
|
487
|
+
|
|
488
|
+
Type
|
|
489
|
+
|
|
490
|
+
`{ allowMediaSourceRecoveries?: boolean; avoidEvictionOnQuotaExceededError?: boolean; bufferBehind?: number; bufferingGoal?: number; clampAppendWindowToDuration?: boolean; clearDecodingCache?: boolean; ... 40 more ...; vodDynamicPlaybackRateLowBufferRate?: number; }`
|
|
491
|
+
|
|
492
|
+
`textDisplayer`
|
|
493
|
+
|
|
494
|
+
`object`
|
|
495
|
+
|
|
496
|
+
▸
|
|
497
|
+
|
|
498
|
+
Type
|
|
499
|
+
|
|
500
|
+
`{ fontScaleFactor?: number; positionArea?: PositionArea; subtitleDelay?: number; suspendRenderingWhenHidden?: boolean; }`
|
|
501
|
+
|
|
502
|
+
`textDisplayFactory`
|
|
503
|
+
|
|
504
|
+
`Factory`
|
|
505
|
+
|
|
506
|
+
### Methods
|
|
507
|
+
|
|
508
|
+
Supports these media methods. See [HTMLVideoElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement) for details: `addTextTrack``canPlayType``exitFullscreen``exitPictureInPicture``load``pause``play``requestFullscreen``requestPictureInPicture`
|
|
509
|
+
|
|
510
|
+
### Events
|
|
511
|
+
|
|
512
|
+
Re-dispatches these standard media events from the internal media element: `abort``addtrack``canplay``canplaythrough``change``contentdatachange``durationchange``emptied``ended``enterpictureinpicture``leavepictureinpicture``loadeddata``loadedmetadata``loadstart``pause``play``playing``progress``ratechange``removetrack``resize``seeked``seeking``stalled``suspend``timeupdate``volumechange``waiting`
|
|
513
|
+
|
|
514
|
+
Also emits these Video.js-specific events:
|
|
515
|
+
|
|
516
|
+
Event
|
|
517
|
+
|
|
518
|
+
Description
|
|
519
|
+
|
|
520
|
+
`error`
|
|
521
|
+
|
|
522
|
+
Fired when playback fails in a way Shaka could not recover from. Read \`error\` for the failure.
|
|
523
|
+
|
|
524
|
+
`sourcechange`
|
|
525
|
+
|
|
526
|
+
Fired when \`source\` changes, either directly or by resolving a new \`src\`. Read \`source\` for the new value.
|
|
527
|
+
|
|
528
|
+
`streamtypechange`
|
|
529
|
+
|
|
530
|
+
Fired when the detected stream type changes. Read \`streamType\` for the new value.
|
|
531
|
+
|
|
532
|
+
`targetlivewindowchange`
|
|
533
|
+
|
|
534
|
+
Fired when the live window duration changes. Read \`targetLiveWindow\` for the new value.
|
|
535
|
+
|
|
536
|
+
### CSS custom properties
|
|
537
|
+
|
|
538
|
+
Variable
|
|
539
|
+
|
|
540
|
+
Details
|
|
541
|
+
|
|
542
|
+
`--media-video-border-radius`
|
|
543
|
+
|
|
544
|
+
▸
|
|
545
|
+
|
|
546
|
+
Description
|
|
547
|
+
|
|
548
|
+
Border radius of the video element.
|
|
549
|
+
|
|
550
|
+
`--media-object-fit`
|
|
551
|
+
|
|
552
|
+
▸
|
|
553
|
+
|
|
554
|
+
Description
|
|
555
|
+
|
|
556
|
+
Object fit for the video.
|
|
557
|
+
|
|
558
|
+
`--media-object-position`
|
|
559
|
+
|
|
560
|
+
▸
|
|
561
|
+
|
|
562
|
+
Description
|
|
563
|
+
|
|
564
|
+
Object position for the video.
|
|
565
|
+
|
|
566
|
+
`--media-caption-track-duration`
|
|
567
|
+
|
|
568
|
+
▸
|
|
569
|
+
|
|
570
|
+
Description
|
|
571
|
+
|
|
572
|
+
Duration of the caption track transition.
|
|
573
|
+
|
|
574
|
+
`--media-caption-track-delay`
|
|
575
|
+
|
|
576
|
+
▸
|
|
577
|
+
|
|
578
|
+
Description
|
|
579
|
+
|
|
580
|
+
Delay before the caption track transition.
|
|
581
|
+
|
|
582
|
+
`--media-caption-track-y`
|
|
583
|
+
|
|
584
|
+
▸
|
|
585
|
+
|
|
586
|
+
Description
|
|
587
|
+
|
|
588
|
+
Vertical offset of the caption track.
|