perf(jessibuca): 升级 jessibuca 2023-03-8 v3.1.28 版本, 修改 jessibuca 参数使用硬解码优化播放黑屏问题, https 环境下使用 WCS 硬解码, http 环境下使用 MSE 硬解码, H265 视频自动使用 wasm 软解码

pull/778/head
xiaoQQya 2023-03-13 17:53:50 +08:00
parent bdcd006a7e
commit 84595e0c84
5 changed files with 42 additions and 21 deletions

View File

@ -1,5 +1,6 @@
<template> <template>
<div ref="container" @dblclick="fullscreenSwich" style="width:100%;height:100%;background-color: #000000;margin:0 auto;"> <div ref="container" @dblclick="fullscreenSwich"
style="width:100%;height:100%;background-color: #000000;margin:0 auto;">
<div class="buttons-box" id="buttonsBox"> <div class="buttons-box" id="buttonsBox">
<div class="buttons-box-left"> <div class="buttons-box-left">
<i v-if="!playing" class="iconfont icon-play jessibuca-btn" @click="playBtnClick"></i> <i v-if="!playing" class="iconfont icon-play jessibuca-btn" @click="playBtnClick"></i>
@ -92,29 +93,49 @@ export default {
jessibucaPlayer[this._uid] = new window.Jessibuca(Object.assign( jessibucaPlayer[this._uid] = new window.Jessibuca(Object.assign(
{ {
container: this.$refs.container, container: this.$refs.container,
videoBuffer: 0.2, // autoWasm: true,
isResize: true, background: "",
decoder: "static/js/jessibuca/decoder.js", controlAutoHide: false,
useMSE: false,
showBandwidth: false,
isFlv: true,
// text: "WVP-PRO",
// background: "static/images/zlm-logo.png",
loadingText: "加载中",
hasAudio: typeof (this.hasAudio) == "undefined" ? true : this.hasAudio,
debug: false, debug: false,
supportDblclickFullscreen: false, // decoder: "static/js/jessibuca/decoder.js",
forceNoOffscreen: true,
hasAudio: typeof (this.hasAudio) == "undefined" ? true : this.hasAudio,
hasVideo: true,
heartTimeout: 5,
heartTimeoutReplay: true,
heartTimeoutReplayTimes: 3,
hiddenAutoPause: false,
hotKey: false,
isFlv: false,
isFullResize: false,
isNotMute: this.isNotMute,
isResize: false,
keepScreenOn: false,
loadingText: "请稍等, 视频加载中......",
loadingTimeout: 10,
loadingTimeoutReplay: true,
loadingTimeoutReplayTimes: 3,
openWebglAlignment: false,
operateBtns: { operateBtns: {
fullscreen: false, fullscreen: false,
screenshot: false, screenshot: false,
play: false, play: false,
audio: false, audio: false,
recorder: false, record: false
}, },
record: "record", recordType: "webm",
vod: this.vod, rotate: 0,
forceNoOffscreen: this.forceNoOffscreen, showBandwidth: false,
isNotMute: this.isNotMute, supportDblclickFullscreen: false,
timeout: 10,
useMSE: location.hostname !== "localhost" && location.protocol !== "https:",
useOffscreen: false,
useWCS: location.hostname === "localhost" || location.protocol === "https",
useWebFullScreen: false,
videoBuffer: 0,
wasmDecodeAudioSyncVideo: true,
wasmDecodeErrorReplay: true,
wcsUseVideoRender: true
}, },
options options
)); ));

File diff suppressed because one or more lines are too long

View File

@ -62,7 +62,7 @@ declare namespace Jessibuca {
/** /**
* 1. `true`,canvas,,, `setScaleMode(2)` * 1. `true`,canvas,,, `setScaleMode(2)`
*/ */
isFullSize?: boolean; isFullResize?: boolean;
/** /**
* 1. `true`ws.flv * 1. `true`ws.flv
*/ */
@ -120,7 +120,7 @@ declare namespace Jessibuca {
/** /**
* *
*/ */
loadingText?: boolean; loadingText?: string;
/** /**
* *
*/ */

File diff suppressed because one or more lines are too long