vue使用video.js依賴接入視頻流((hls(m3u8)、flv))的示例代碼
前端安裝video.js相關(guān)依賴
// video.js npm install video.js // 安裝flv,用于播放 FLV npm install videojs-flvjs-es6 npm install flv.js
組件引入video.js依賴
import videojs from "video.js"; import "videojs-flvjs-es6"; import "video.js/dist/video-js.css";
組件中使用video.js播放視頻
html部分
// 視頻標(biāo)簽容器 <template> <div style="width: 100%; height: 100%" id="videoBottom"> <video id="videoPlayer" class="video-js vjs-fluid vjs-big-play-centered" style="width: 100%; height: 100%; object-fit: fill" controls preload="auto" muted autoplay loop ></video> </div> </template>
js部分
<script> import videojs from "video.js"; import "videojs-flvjs-es6"; import "video.js/dist/video-js.css"; export default { data() { return { myVideo: null, }; }, methods: { initVideo() { this.$nextTick(() => { const options = { // 初始化默認(rèn)寬高,避免第一次加載閃一下 width: 660, height: 345, fullscreen: { options: { navigationUI: "hide" }, }, techOrder: ["html5", "flvjs"], // 兼容順序 // 配置支持播放hls格式視頻流 html5: { hls: { withCredentials: true, }, }, // 配置支持播放flv格式視頻流 flvjs: { mediaDataSource: { isLive: false, cors: true, withCredentials: false, }, }, sources: [ { src: "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8", type: "application/x-mpegURL", }, ], }; const videElement = document.getElementById(`videoPlayer`); this.myVideo = videojs(videElement, options, function onPlayerReady() { videojs.log("播放器準(zhǔn)備好了"); }); }); }, // 重新加載播放器,適用于tab欄切換更換視頻流數(shù)據(jù) updateVideoPlay() { const myVideoDiv = document.getElementById("videoBottom"); myVideoDiv.innerHTML = "<video id='videoPlayer' class='video-js vjs-default-skin vjs-big-play-centered' controls muted autoplay style='width: 100%;height: 100%; object-fit: fill'></video>"; } }, mounted() { this.initVideo(); }, destroyed() { this.myVideo.dispose(); // 銷毀視頻 }, }; </script>
sources配置描述(更改type值即可播放對(duì)應(yīng)的視頻格式)
格式 | type值 |
hls(m3u8) | application/x-mpegURL |
flv | video/x-flv |
效果演示
以上就是vue使用video.js依賴接入視頻流((hls(m3u8)、flv))的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于vue video.js接入視頻流的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue去掉嚴(yán)格開(kāi)發(fā),去掉vue-cli安裝時(shí)的eslint或修改配置方式
這篇文章主要介紹了vue去掉嚴(yán)格開(kāi)發(fā),去掉vue-cli安裝時(shí)的eslint或修改配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04vue實(shí)現(xiàn)點(diǎn)擊出現(xiàn)操作彈出框的示例
這篇文章主要介紹了vue實(shí)現(xiàn)點(diǎn)擊出現(xiàn)操作彈出框的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-11-11vue-drag-chart 拖動(dòng)/縮放圖表組件的實(shí)例代碼
這篇文章主要介紹了vue-drag-chart 拖動(dòng)/縮放的圖表組件的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04vue better scroll 無(wú)法滾動(dòng)的解決方法
better scroll可以實(shí)現(xiàn)輪播圖和頁(yè)面滾動(dòng),是移動(dòng)端滾動(dòng)插件,這篇文章主要介紹了vue better scroll 無(wú)法滾動(dòng)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Vue3新?tīng)顟B(tài)管理工具實(shí)例詳解
Vue3公布曾經(jīng)有一段時(shí)間了,它采納了新的響應(yīng)式零碎,而且構(gòu)建了一套全新的 Composition API,下面這篇文章主要給大家介紹了關(guān)于Vue3新?tīng)顟B(tài)管理工具的相關(guān)資料,需要的朋友可以參考下2022-03-03