色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

如何在vue中使用video.js播放m3u8格式的視頻

瀏覽:3日期:2022-10-07 09:14:45

@[toc] 注意:

'vue': '^2.6.11', 'video.js': '^7.10.2', 'videojs-contrib-hls': '^5.15.0', 'mux.js': '^5.7.0'一、安裝

yarn add video.jsyarn add videojs-contrib-hls // 這是播放hls流需要的插件yarn add mux.js // 在vue項目中,若不安裝它可能報錯二、引入videojs

1.在src文件夾下新建 plugins文件夾,并新建video.js文件;

video.js文件的內容如下:

import 'video.js/dist/video-js.css'; // 引入video.js的cssimport hls from 'videojs-contrib-hls'; // 播放hls流需要的插件import Vue from 'vue';Vue.use(hls);

2.在main.js中引入剛剛的video.js文件

import './plugins/video.js'; // 引入剛剛定義的video.js文件三、在組件中測試并使用1. 實現基本的自動播放

Test.vue文件

<template> <div class='test-videojs'> <video muted></video> </div></template><script>import Videojs from 'video.js'; // 引入Videojs export default { data() { return { // https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8 是一段視頻,可將cctv1 (是live現場直播,不能快退)的替換為它,看到快進快退的效果 nowPlayVideoUrl: 'http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8' }; }, mounted() { this.initVideo(this.nowPlayVideoUrl); }, methods: { initVideo(nowPlayVideoUrl) { // 這些options屬性也可直接設置在video標簽上,見 muted let options = { autoplay: true, // 設置自動播放 controls: true, // 顯示播放的控件 sources: [ // 注意,如果是以option方式設置的src,是不能實現 換臺的 (即使監聽了nowPlayVideoUrl也沒實現) { src: nowPlayVideoUrl, type: 'application/x-mpegURL' // 告訴videojs,這是一個hls流 } ] }; // videojs的第一個參數表示的是,文檔中video的id const myPlyer = Videojs('videoPlayer', options, function onPlayerReady() { console.log('onPlayerReady 中的this指的是:', this); // 這里的this是指Player,是由Videojs創建出來的實例 console.log(myPlyer === this); // 這里返回的是true }); } }};</script><style lang='scss'>#videoPlayer { width: 500px; height: 300px; margin: 50px auto;}</style>

視頻播放效果如圖:

如何在vue中使用video.js播放m3u8格式的視頻

打印結果如圖:

如何在vue中使用video.js播放m3u8格式的視頻

2. 實現換臺

Test.vue文件

<template> <div class='test-videojs'> <video class='video-js'></video> <el-button type='danger' @click='changeSource'>切換到CCTV3</el-button> </div></template><script>import Videojs from 'video.js'; // 引入Videojsexport default { data() { return { nowPlayVideoUrl: 'http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8', options: { autoplay: true, // 設置自動播放 muted: true, // 設置了它為true,才可實現自動播放,同時視頻也被靜音 (Chrome66及以上版本,禁止音視頻的自動播放) preload: 'auto', // 預加載 controls: true // 顯示播放的控件 }, player:null }; }, mounted() { this.getVideo(this.nowPlayVideoUrl); }, methods: { getVideo(nowPlayVideoUrl) { this.player = Videojs('videoPlayer', this.options); //關鍵代碼, 動態設置src,才可實現換臺操作 this.player.src([ { src: nowPlayVideoUrl, type: 'application/x-mpegURL' // 告訴videojs,這是一個hls流 } ]); }, changeSource() { this.nowPlayVideoUrl = 'http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8'; console.log(this.nowPlayVideoUrl, '改變了'); } }, watch: { nowPlayVideoUrl(newVal, old) { this.getVideo(newVal); } }, beforeDestroy() { if (this.player) { this.player.dispose(); // Removing Players,該方法會重置videojs的內部狀態并移除dom } }};</script><style lang='scss'>#videoPlayer { width: 500px; height: 300px; margin: 50px auto;}</style>

視頻切換效果如圖:

如何在vue中使用video.js播放m3u8格式的視頻

如何在vue中使用video.js播放m3u8格式的視頻

四、踩坑小記1. 視頻不能自動播放 或報錯 DOMException: play() failed

需用muted屬性解決

報錯信息:DOMException: play() failedbecause the user didn’t interact with the document first.(用戶還沒有交互,不能調用play)

解決辦法:設置muted屬性為true

<video muted></video>

關于muted屬性:

muted 屬性,設置或返回音頻是否應該被靜音(關閉聲音);屬性的值是true和false; muted='false' 表示視頻不用靜音(視頻播放便有聲音),但設置 muted='fasle' 的情況下,視頻無法實現自動播放。 video 標簽中 muted 的作用: 允許視頻自動播放;(Chrome66版本開始,禁止視頻和音頻的自動播放) 2. 換臺的時候,url已經成功更改,但視頻還是之前的

需得動態設置src才能實現

// 動態設置srcthis.player.src([ { src: nowPlayVideoUrl, type: 'application/x-mpegURL' // 告訴videojs,這是一個hls流 } ]);3. 找不到mux.js模塊

報錯信息:* mux.js/lib/tools/parse-sidx in ./node_modules/video.js/dist/video.es.js To install it, you can run: npm install --save mux.js/lib/tools/parse-sidx

解決辦法:安裝mux.js

yarn add mux.js五、 播放rtmp流

播放rtmp流的操作與播放hls流的操作幾乎相同,不同在于:

import 'videojs-flash'; // 播放rtmp流需要的插件type: ’rtmp/flv’, // 這個type值必寫, 告訴videojs這是一個rtmp流視頻

以上就是如何在vue中使用video.js 播放m3u8格式的視頻的詳細內容,更多關于vue 使用videojs 播放m3u8格式的視頻的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 91成人影院 | www.99热| 中文字幕日韩欧美一区二区三区 | 精品九九视频 | 亚洲人成网站观看在线播放 | 欧美成人久久久 | 好吊色37pao在线观看 | 国产亚洲精品久久久久91网站 | 亚洲欧美成人综合 | 三级中文字幕永久在线视频 | 欧美日韩亚洲高清不卡一区二区三区 | 成人在线高清 | 亚洲视频手机在线 | 又黄又爽又刺激的视频 | 欧美一级在线毛片免费观看 | 农村寡妇偷毛片一级 | 成人网18免费 | 一级毛片中文字幕 | 日本一级特大毛片 | 99精品欧美一区二区三区美图 | 成人免费观看视频久爱网 | 国产男女 爽爽爽爽视频 | 欧美一级级a在线观看 | 欧美日本一道道一区二区三 | 色樱桃影院亚洲精品影院 | 国产普通话一二三道 | 午夜三级a三点 | 亚洲一区国产 | 亚洲人成网站在线观看播放 | 亚洲精品国产字幕久久不卡 | 毛片网站视频 | 狠狠色狠狠色综合久久一 | 亚洲一区二区三区四区五区 | 91成人国产福利 | 日韩黄色毛片 | 欧美综合一区 | 久久精品高清视频 | 久久福利资源网站免费看 | 久久韩国 | 久久久久久久久久久久福利 | 波多野结衣一区二区三区高清在线 |