电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何在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項(xiàng)目中,若不安裝它可能報(bào)錯(cuò)二、引入videojs

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

video.js文件的內(nèi)容如下:

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文件三、在組件中測(cè)試并使用1. 實(shí)現(xiàn)基本的自動(dòng)播放

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現(xiàn)場(chǎng)直播,不能快退)的替換為它,看到快進(jìn)快退的效果 nowPlayVideoUrl: 'http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8' }; }, mounted() { this.initVideo(this.nowPlayVideoUrl); }, methods: { initVideo(nowPlayVideoUrl) { // 這些options屬性也可直接設(shè)置在video標(biāo)簽上,見(jiàn) muted let options = { autoplay: true, // 設(shè)置自動(dòng)播放 controls: true, // 顯示播放的控件 sources: [ // 注意,如果是以option方式設(shè)置的src,是不能實(shí)現(xiàn) 換臺(tái)的 (即使監(jiān)聽(tīng)了nowPlayVideoUrl也沒(méi)實(shí)現(xiàn)) { src: nowPlayVideoUrl, type: 'application/x-mpegURL' // 告訴videojs,這是一個(gè)hls流 } ] }; // videojs的第一個(gè)參數(shù)表示的是,文檔中video的id const myPlyer = Videojs('videoPlayer', options, function onPlayerReady() { console.log('onPlayerReady 中的this指的是:', this); // 這里的this是指Player,是由Videojs創(chuàng)建出來(lái)的實(shí)例 console.log(myPlyer === this); // 這里返回的是true }); } }};</script><style lang='scss'>#videoPlayer { width: 500px; height: 300px; margin: 50px auto;}</style>

視頻播放效果如圖:

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

打印結(jié)果如圖:

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

2. 實(shí)現(xiàn)換臺(tái)

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, // 設(shè)置自動(dòng)播放 muted: true, // 設(shè)置了它為true,才可實(shí)現(xiàn)自動(dòng)播放,同時(shí)視頻也被靜音 (Chrome66及以上版本,禁止音視頻的自動(dòng)播放) preload: 'auto', // 預(yù)加載 controls: true // 顯示播放的控件 }, player:null }; }, mounted() { this.getVideo(this.nowPlayVideoUrl); }, methods: { getVideo(nowPlayVideoUrl) { this.player = Videojs('videoPlayer', this.options); //關(guān)鍵代碼, 動(dòng)態(tài)設(shè)置src,才可實(shí)現(xiàn)換臺(tái)操作 this.player.src([ { src: nowPlayVideoUrl, type: 'application/x-mpegURL' // 告訴videojs,這是一個(gè)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,該方法會(huì)重置videojs的內(nèi)部狀態(tài)并移除dom } }};</script><style lang='scss'>#videoPlayer { width: 500px; height: 300px; margin: 50px auto;}</style>

視頻切換效果如圖:

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

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

四、踩坑小記1. 視頻不能自動(dòng)播放 或報(bào)錯(cuò) DOMException: play() failed

需用muted屬性解決

報(bào)錯(cuò)信息:DOMException: play() failedbecause the user didn’t interact with the document first.(用戶還沒(méi)有交互,不能調(diào)用play)

解決辦法:設(shè)置muted屬性為true

<video muted></video>

關(guān)于muted屬性:

muted 屬性,設(shè)置或返回音頻是否應(yīng)該被靜音(關(guān)閉聲音);屬性的值是true和false; muted='false' 表示視頻不用靜音(視頻播放便有聲音),但設(shè)置 muted='fasle' 的情況下,視頻無(wú)法實(shí)現(xiàn)自動(dòng)播放。 video 標(biāo)簽中 muted 的作用: 允許視頻自動(dòng)播放;(Chrome66版本開(kāi)始,禁止視頻和音頻的自動(dòng)播放) 2. 換臺(tái)的時(shí)候,url已經(jīng)成功更改,但視頻還是之前的

需得動(dòng)態(tài)設(shè)置src才能實(shí)現(xiàn)

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

報(bào)錯(cuò)信息:* 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’, // 這個(gè)type值必寫(xiě), 告訴videojs這是一個(gè)rtmp流視頻

以上就是如何在vue中使用video.js 播放m3u8格式的視頻的詳細(xì)內(nèi)容,更多關(guān)于vue 使用videojs 播放m3u8格式的視頻的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 模具钢_高速钢_不锈钢-万利钢金属材料| 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 走心机厂家,数控走心机-台州博城智能科技有限公司 | 合肥钣金加工-安徽激光切割加工-机箱机柜加工厂家-合肥通快 | 土壤检测仪器_行星式球磨仪_土壤团粒分析仪厂家_山东莱恩德智能科技有限公司 | 山东臭氧发生器,臭氧发生器厂家-山东瑞华环保设备 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 手机游戏_热门软件app下载_好玩的安卓游戏下载基地-吾爱下载站 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 化工ERP软件_化工新材料ERP系统_化工新材料MES软件_MES系统-广东顺景软件科技有限公司 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 苏州柯瑞德货架-仓库自动化改造解决方案 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 北京京云律师事务所 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 直齿驱动-新型回转驱动和回转支承解决方案提供商-不二传动 | 电车线(用于供电给电车的输电线路)-百科 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 | ZHZ8耐压测试仪-上海胜绪电气有限公司 | 碳钢法兰厂家,非标法兰,定制异型,法兰生产厂家-河北九瑞管道 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 走心机厂家,数控走心机-台州博城智能科技有限公司 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 |