前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flv.js 直播_前端视频播放插件

flv.js 直播_前端视频播放插件

作者头像
全栈程序员站长
发布2022-11-15 10:27:37
1.6K0
发布2022-11-15 10:27:37
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

关于使用flvjs

文章目录

1.创建

HTML

代码语言:javascript
复制
        <video id="largeVideo" style="width: 100%; height: 600px" class="centeredVideo" controls autoplay muted width="1015" height="576" >
          Your browser is too old which doesn't support HTML5 video.
        </video>

Jetbrains全家桶1年46,售后保障稳定

javascript

代码语言:javascript
复制
 let flvPlayerRef1 = document.getElementById("largeVideo");//获取创建dom
let flvPlayerObjM1 = flvjs.createPlayer(
{ 

type: "flv",
isLive: true, //是否直播
url: url, //地址
hasAudio: true,
hasVideo: true,
},
{ 

cors: true, // 是否跨域
stashInitialSize: 384, // 缓存大小(kb) 默认384kb
enableStashBuffer: true, // 是否启用缓存
autoCleanupMaxBackwardDuration: 3 * 60,//自动清除缓存时间
enableWorker: false, // 是否多线程工作
autoCleanupSourceBuffer: true, // 是否自动清理缓存
fixAudioTimestampGap: true,//音视频同步
}
flvPlayerObjM1.load(); //加载
flvPlayerObjM1.play(); //播放

2.事件处理

flvjs.Events.STATISTICS_INFO 信息出错销毁直播

代码语言:javascript
复制
flvPlayerRef1.on(flvjs.Events.STATISTICS_INFO, function (res) { 

flvPlayerObjM1.pause();
flvPlayerObjM1.unload();
flvPlayerObjM1.detachMediaElement();
flvPlayerObjM1.destroy();
flvPlayerObjM1 = null;
});

flvjs.Events.ERROR 断流报错销毁

代码语言:javascript
复制
flvPlayerRef1.on(
flvjs.Events.ERROR,
(errorType, errorDetail, errorInfo) => { 

console.log("errorType:", errorType);
console.log("errorDetail:", errorDetail);
console.log("errorInfo:", errorInfo);
flvPlayerObjM1.pause();
flvPlayerObjM1.unload();
flvPlayerObjM1.detachMediaElement();
flvPlayerObjM1.destroy();
flvPlayerObjM1 = null;
}
);

flvjs.Events.VIDEO_FROZEN视频卡顿监听

代码语言:javascript
复制
flvPlayerRef1.on(
flvjs.Events.VIDEO_FROZEN,
(errorType, errorDetail, errorInfo) => { 

console.log("errorType:", errorType);
console.log("errorDetail:", errorDetail);
console.log("errorInfo:", errorInfo);
flvPlayerObjM1.pause();
flvPlayerObjM1.unload();
flvPlayerObjM1.detachMediaElement();
flvPlayerObjM1.destroy();
flvPlayerObjM1 = null;
}
);

将创建写入方法,在事件监听中调用可以实现断流重连,卡顿重连等问题

3.踩到的坑

当使用创建时,记住每次都需要销毁当前创建的直播流,是整个都需要销毁,不然很容易造成内存溢出,直接导致浏览器卡死,在断流重连和卡顿修复的时候尤其注意是否完全销毁这个直播组件!!!


新加 flv传入的url最好遵循同源策略,不要跨协议去请求。如果是用rtmp可以不考虑此处

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234853.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年11月1日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于使用flvjs
    • 文章目录
      • 1.创建
        • 2.事件处理
          • 3.踩到的坑
          相关产品与服务
          云直播
          云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档