video标签是不能直接使用直播流的来播放的,需要使用hls转码过后才能播放

测试直播链接:https://live.cgtn.com/1000/prog_index.m3u8

hls.js是一个可以实现HTTP实时流媒体客户端的js库,依赖于video标签和Media Source ExtensionsAPI,它的工作原理是将MPEG2传输流和AAC/MP3流转换成ISO BMFF (MP4)片段

优点: 原生开发引用的包比较少且体积小,很纯净,可以自定义UI和功能,更专注于HLS协议流,只支持HLS
缺点: 如果对UI要求高的话实现起来比较繁琐,功能上也需要自己调API实现

安装

CDN:
<script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script> NPM:
npm install hls.js --save

使用

// html
<!--x5-video-player-fullscreen="true" 是用于微信浏览器兼容使用的 -->
<video class="video" ref="video-player" controls playsinline x5-video-player-fullscreen="true" preload="auto"></video> // js
methods: {
initVideo(){
let _this = this;
_this.$nextTick(() => {
_this.videoPlayer = _this.$refs.video-player;
console.log(_this.videoPlayer);
if(Hls.isSupported()) {
let hls = new Hls();
hls.loadSource('https://live.cgtn.com/1000/prog_index.m3u8'); // 直播流地址
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED,function() {
// 成功
_this.videoPlayer.play();
});
hls.on(Hls.Events.ERROR, (event, data) => {
// 失败
console.log(event, data)
});
}
});
},
}

直播插件-hls.js的更多相关文章

  1. 基于HTTP的直播点播HLS

             HLS(HTTP Live Streaming) 是Apple在2009年发布的,可以通过普通的web服务器进行分发的新型流媒体协议.苹果官方对于视频直播服务提出了 HLS 解决方案 ...

  2. javascript模板插件amaze.js

    摘要: 最近在开发项目时,异步接口需要前端渲染数据,js拼接太低级,必然要用模板插件.之前用过基于jQuery的和juicer等插件,考虑到以后公司项目上的统一,移动端和pc端上的统一,以及可维护性, ...

  3. jquery多级手风琴插件–accordion.js

    手风琴菜单一般用于下拉导航,由于外观非常简洁,使用起来跟手风琴一样可以拉伸和收缩而得名,项目中适当应用手风琴效果会给用户带来非常好的体验.本文借助jQuery插件轻松打造一个非常不错的手风琴效果的菜单 ...

  4. 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)

    移动端下拉刷新.加载更多插件dropload.js(基于jQuery/Zepto) 原文:http://www.grycheng.com/?p=1869 废话不多说,先让大家看一下案例效果: DEMO ...

  5. MXBridge - 插件式JS与OC交互框架

    概述 MXBridge,提供一个插件式的JavaScript与Objective-C交互的框架,通过JavaScriptCore实现,插件式扩展Obejctive-C接口以供JavaScript调用. ...

  6. jQuery时间格式插件-moment.js的使用

    jQuery时间格式插件-moment.js的使用 moment.js插件的使用,使用之前在页面引入对应的js文件: 详细的操作可见moment中文官网:http://momentjs.cn/ 日期格 ...

  7. jq图片展示插件highslide.js简单dom

    今天用用了一款图片展示插件highslide.js,感觉用起来很是舒畅,几乎不用怎么写代码,只需要知道如何写参数就行了. 那么这么牛叉的插件我们该如何用哪,下面我就跟大家讲解一下. 一.引入   首先 ...

  8. 小型音乐播放器插件APlayer.js的简单使用例子

      本篇博客将会给出一个小型音乐播放器插件APlayer.js的使用例子.关于APlayer.js的具体介绍和Github地址,可以参考: https://github.com/MoePlayer/A ...

  9. 分页插件pagination.js

    项目中有分页功能,之前都是自己写,样式不好看,功能也简单,就找了这个插件pagination.js 页面导入pagination.js html代码 <div class="list_ ...

  10. jQuery字体缩放缩放插件zoomFontSize.js

    插件描述:jQuery字体缩放缩放插件zoomFontSize.js根据父类进行百分比缩放,兼容性如下: 使用方法 body 的class属性 添加 changbody_fontSize 而且整个页面 ...

随机推荐

  1. Python全栈应用开发利器Dash 3.x新版本介绍(4)

    更多Dash应用开发干货知识.案例,欢迎关注"玩转Dash"微信公众号 大家好我是费老师,在前几期文章中,我们针对Python生态中强大且灵活的全栈应用开发框架Dash,介绍了其3 ...

  2. codemirror代码格式化

    上效果 代码 此处演示纯js版本,而切实5.x版本,最新版本6.x变化较大,不搞 <!DOCTYPE html> <html lang="en"> < ...

  3. 正版Win11纯净版文件夹无响应卡死的问题

    有一些使用win11正式版系统的小伙伴反馈说,他在打开文件夹速度都很慢,甚至还会出现无响应卡死的情况,那么遇到这种情况应该怎么办呢?下面雨林木风官网小编就来简单的说说解决方法吧.过程简单,操作方便!一 ...

  4. C# 线程相关一点杂记

    相信很多人在实际开发中是不愿使用到多线程的,因为一旦引入多线程这个概念,对应功能就需要加很多关于线程的考虑措施,如锁,任务回调顺序等等.有事加了一些对应的措施,还是感觉程序出现偶发的不同问题,这里主要 ...

  5. Redux 状态容器、管理

    当你越来越有能力时,自然会有人看得起你:改变自己,你才有自信,梦想才会慢慢的实现.喷泉之所以漂亮是因为她有了压力:瀑布之所以壮观是因为她没有了退路:水之所以能穿石是因为永远在坚持. 首先我们要明确一个 ...

  6. LangChain框架入门01:LangChain是什么?

    一.为什么要了解LangChain? 近两年来,大语言模型(如ChatGPT.DeepSeek.Claude)持续火爆,从写文案.AI绘图,到写代码.AI智能客服,几乎"无所不能" ...

  7. CAS 5.3.1系列之自定义Shiro认证策略(四)

    CAS 5.3.1系列之自定义Shiro认证策略(四) CAS官方文档是介绍基于配置实现shiro认证的,可以参考官方文档,不过我们也可以通过自定义认证策略的方式实现jdbc认证,pom先加入相关ja ...

  8. [题解]P1311 [NOIP2011 提高组] 选择客栈

    P1311 [NOIP2011 提高组] 选择客栈 P6032 选择客栈 加强版 只要\([l,r]\)区间之内存在一个\(i\)使得\(w[i]\le p\),这个区间就是符合条件的. 所以我们遍历 ...

  9. [题解]ABC374 A~E

    A - Takahashi san 2 直接判断字符串是否以san结尾即可. 点击查看代码 #include<bits/stdc++.h> using namespace std; int ...

  10. 安装Mysql测试本地连接报1251错误的原因及解决办法

    出现这个原因是mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 解决方法: 解决问题方法有两种, ...