大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
关于使用flvjs
1.创建
HTML
<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>
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 信息出错销毁直播流
flvPlayerRef1.on(flvjs.Events.STATISTICS_INFO, function (res) {
flvPlayerObjM1.pause();
flvPlayerObjM1.unload();
flvPlayerObjM1.detachMediaElement();
flvPlayerObjM1.destroy();
flvPlayerObjM1 = null;
});
flvjs.Events.ERROR 断流报错销毁
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视频卡顿监听
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可以不考虑此处
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234853.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...