bonc-htmlplayer
Advanced tools
Comparing version 1.0.34 to 1.0.35
@@ -0,0 +0,0 @@ (window["webpackJsonpBoncH5Player"] = window["webpackJsonpBoncH5Player"] || []).push([[0],{ |
{ | ||
"name": "bonc-htmlplayer", | ||
"version": "1.0.34", | ||
"version": "1.0.35", | ||
"description": "东方国信的html播放器内核", | ||
@@ -5,0 +5,0 @@ "main": "./dist/BoncH5Player.js", |
@@ -56,3 +56,3 @@ // import './libffmpeg_264_265.js'; | ||
var scriptNode = document.createElement('script') | ||
scriptNode.src = './libffmpeg_264_265.js' | ||
scriptNode.src = './h265Page/libffmpeg_264_265.js' | ||
document.querySelector('body').appendChild(scriptNode) | ||
@@ -62,3 +62,6 @@ | ||
setTimeout(()=>{ | ||
var _this = this | ||
var _this = this; | ||
console.log('Module.addFunction:'); | ||
console.log(Module); | ||
console.log(Module.addFunction) | ||
this.videoCallback = Module.addFunction(function (addr_y, addr_u, addr_v, stride_y, stride_u, stride_v, width, height, pts, id) { | ||
@@ -121,3 +124,3 @@ let size = width * height + (width / 2) * (height / 2) + (width / 2) * (height / 2) | ||
var nalu = h265Buffer.ReadUint16() | ||
// F位 | ||
// F位 | ||
var F = nalu >> 15 | ||
@@ -188,2 +191,4 @@ // console.log('F', F) | ||
displayVideoFrame(obj) { | ||
console.log("obj:") | ||
console.log(obj) | ||
var data = new Uint8Array(obj.data); | ||
@@ -197,2 +202,4 @@ var width = obj.width; | ||
var canvas = document.getElementById(canvasId); | ||
console.log("canvas") | ||
console.log(canvas) | ||
this.webglPlayer = new WebGLPlayer(canvas, { | ||
@@ -229,2 +236,2 @@ preserveDrawingBuffer: true | ||
export default H265CanvasPlayer | ||
export default H265CanvasPlayer |
@@ -26,3 +26,3 @@ import Event from './util/event'; | ||
this.node video标签的dom对象 在构造函数中的validateConfigs执行的时候被赋值 | ||
this.state 播放器的状态 0未播放 1 正在播放 | ||
this.state 播放器的状态 0未播放 1 正在播放 | ||
this.boncws WebSocket 实例 | ||
@@ -33,3 +33,3 @@ */ | ||
this.mseReady = true | ||
回调: | ||
@@ -71,3 +71,3 @@ 1.视频准备中的回调 | ||
const centerInfo = configs.centerInfo; | ||
@@ -96,3 +96,3 @@ | ||
// this.recordStartTime = recordInfo.recordStartTime; | ||
// this.recordEndTime = recordInfo.recordEndTime; | ||
// this.recordEndTime = recordInfo.recordEndTime; | ||
}else if(this.webSocketController instanceof TimeSelector){ | ||
@@ -108,3 +108,3 @@ // 如果是多个回放服务器 | ||
} | ||
}.bind(this)); | ||
@@ -136,3 +136,3 @@ this.on('restart',()=>{ | ||
// this._player = this._h265player | ||
this.webSocketController.socketDataMerge.ifDispatchBuf_h265 = false | ||
@@ -146,6 +146,6 @@ // console.log('实例化h264') | ||
} | ||
break; | ||
case 'H264': | ||
// console.log('实例化h264') | ||
console.log('实例化h264') | ||
validateConfigs.call(this, this.configs) //对配置项进行验证 | ||
@@ -168,3 +168,3 @@ this._player = new H264Mp4Player(this); | ||
* 查询录像 | ||
* @param {object} xmljson | ||
* @param {object} xmljson | ||
*/ | ||
@@ -179,3 +179,3 @@ searchRecord(xmljson) { | ||
} | ||
this.webSocketController.WebSocketUtils.forEach((item,index) => { | ||
@@ -199,5 +199,5 @@ // debugger | ||
xmljson[index].GBSServerPort && (playBody.getElementsByTagName('GBSServerPort')[0].firstChild.nodeValue = xmljson[index].GBSServerPort); | ||
item.xmlPlayBody = Xml2String(playBody); | ||
@@ -224,8 +224,13 @@ item.url = 'ws://' + playBody.getElementsByTagName('StreamServerIP')[0].firstChild.nodeValue + ':' + playBody.getElementsByTagName('StreamServerPort')[0].firstChild.nodeValue; | ||
xmljson.DeviceType && (playBody.getElementsByTagName('DeviceType')[0].firstChild.nodeValue = xmljson.DeviceType); | ||
this.DeviceType = xmljson.DeviceType?xmljson.DeviceType:""; | ||
xmljson.RecorderType && (playBody.getElementsByTagName('RecorderType')[0].firstChild.nodeValue = xmljson.RecorderType); | ||
this.RecorderType = xmljson.RecorderType?xmljson.RecorderType:""; | ||
xmljson.GBSServerIP && (playBody.getElementsByTagName('GBSServerIP')[0].firstChild.nodeValue = xmljson.GBSServerIP); | ||
this.GBSServerIP = xmljson.GBSServerIP?xmljson.GBSServerIP:""; | ||
xmljson.GBSServerPort && (playBody.getElementsByTagName('GBSServerPort')[0].firstChild.nodeValue = xmljson.GBSServerPort); | ||
this.GBSServerPort = xmljson.GBSServerPort?xmljson.GBSServerPort:""; | ||
this.MDSServerIP = xmljson.MDSServerIP?xmljson.MDSServerIP:""; | ||
this.MDSServerPort = xmljson.MDSServerPort?xmljson.MDSServerPort:""; | ||
this.xmlPlayBody = Xml2String(playBody); | ||
this.xmlPlayBody = Xml2String(playBody); | ||
this.webSocketController.xmlPlayBody = Xml2String(playBody); | ||
@@ -239,3 +244,3 @@ this.webSocketController.url = 'ws://' + playBody.getElementsByTagName('StreamServerIP')[0].firstChild.nodeValue + ':' + playBody.getElementsByTagName('StreamServerPort')[0].firstChild.nodeValue; | ||
* 打开实时视频 jsonbonc 为请求接口openChanneltForHtml返回的结果的对象 | ||
* @param {object} jsonbonc | ||
* @param {object} jsonbonc | ||
*/ | ||
@@ -286,3 +291,3 @@ openVideo(jsonbonc) { | ||
jsonbonc.StreamNum && (playBody.getElementsByTagName('StreamNum')[0].firstChild.nodeValue = jsonbonc.StreamNum); | ||
//2021.12.2亚鸽 添加国际ip和port | ||
@@ -299,3 +304,3 @@ jsonbonc.GBSServerIP && (playBody.getElementsByTagName('GBSServerIP')[0].firstChild.nodeValue = jsonbonc.GBSServerIP); | ||
* 下载视频 | ||
* @param {info} | ||
* @param {info} | ||
*/ | ||
@@ -349,7 +354,7 @@ download(info) { | ||
muted(){ | ||
return this._player && this._player.muted() | ||
return this._player && this._player.muted() | ||
} | ||
/** | ||
* 音量控制,传入值在0-1之间 | ||
* @param {number} volume | ||
* @param {number} volume | ||
*/ | ||
@@ -385,2 +390,3 @@ setVolume(volume){ | ||
playRecord(param) { | ||
console.log('playRecord') | ||
this.reverse = false; | ||
@@ -399,3 +405,3 @@ var playRecodrBody = BLoadXML(xmlPlayRecord) | ||
param.MDSServerPort && (playRecodrBody.getElementsByTagName('MDSServerPort')[0].firstChild.nodeValue = param.MDSServerPort); | ||
this.webSocketController.recordPlay(playRecodrBody); | ||
@@ -430,8 +436,8 @@ } | ||
} | ||
// this.H264Mp4Player.destroy(); | ||
this.node && (this.node.src = ''); | ||
this._player && this._player.destroy(); | ||
this.currentTime = null; | ||
@@ -455,3 +461,3 @@ this.webSocketController.socketDataMerge.ifDispatchVideoType = true; | ||
} | ||
} | ||
@@ -468,3 +474,3 @@ /**重启视频 */ | ||
/** | ||
* 开启码率计算 | ||
* 开启码率计算 | ||
*/ | ||
@@ -477,10 +483,10 @@ startCalBitNum() { | ||
* 速度标识符 | ||
1 正常速度 | ||
2 2倍速 | ||
4 4倍速 | ||
8 8倍速 | ||
-2 1/2倍速 | ||
-4 1/4倍速 | ||
-8 1/8倍速 | ||
* @param {number} rateVal | ||
1 正常速度 | ||
2 2倍速 | ||
4 4倍速 | ||
8 8倍速 | ||
-2 1/2倍速 | ||
-4 1/4倍速 | ||
-8 1/8倍速 | ||
* @param {number} rateVal | ||
*/ | ||
@@ -563,3 +569,3 @@ setPlayRate(rateVal) { | ||
// playxmlBody.getElementsByTagName('CmdType')[0].firstChild.nodeValue = 'ReversePlay'; | ||
// playxmlBody.getElementsByTagName('ChannelID')[0].firstChild.nodeValue = this.channelId; | ||
// playxmlBody.getElementsByTagName('ChannelID')[0].firstChild.nodeValue = this.channelId; | ||
this.webSocketController.playControl(Xml2String(playxmlBody)); | ||
@@ -596,3 +602,3 @@ // 向播放器发出倒放的指令 | ||
* 切换视频 | ||
* @param {*} jsonbonc | ||
* @param {*} jsonbonc | ||
*/ | ||
@@ -652,3 +658,3 @@ changeVideo(jsonbonc) { | ||
} | ||
} | ||
@@ -677,2 +683,2 @@ } | ||
export default Html5Player; | ||
export default Html5Player; |
@@ -69,3 +69,3 @@ import ByteArray from './ByteArray'; | ||
// if(socketBA.bytesAvailable >=28) | ||
// { | ||
// { | ||
// let verbonc=socketBA.ReadUint32();//verbonc | ||
@@ -78,3 +78,3 @@ // let company=socketBA.ReadUint32();//company | ||
// let leftField = socketBA.ReadUint32();//保留字段 | ||
// /// day rizhi | ||
// /// day rizhi | ||
// console.log(imsgType,iCmdLen,linType,allDataLength) | ||
@@ -98,3 +98,3 @@ // } | ||
// 如果是视频回放,指针还要向后移动这些才到数据体 | ||
// 如果是视频回放,指针还要向后移动这些才到数据体 | ||
var timestamp | ||
@@ -154,3 +154,3 @@ if (this.app.playback) { | ||
if (this.ifDispatchVideoType || this.codeType!==biClrUsed ) { | ||
console.log(biClrUsed) | ||
console.log("biClrUsed:"+biClrUsed); | ||
if (biClrUsed === 'H264') { | ||
@@ -180,3 +180,3 @@ this.codeType = 'H264' | ||
// this.app.dispatch('error','当前摄像头视频编码不是h264') | ||
// } | ||
// } | ||
@@ -193,3 +193,3 @@ var videoBuf = socketBA.SliceNewAB(biSizeImage); | ||
case 1604: | ||
if(!this.app._player){ | ||
@@ -223,3 +223,3 @@ break; | ||
this.app._player.nalsbonAudioarr && this.app._player.nalsbonAudioarr.push(aacRawu8a); | ||
} | ||
} | ||
@@ -342,3 +342,3 @@ break; | ||
securityOSD.sec = second2801 * 1000 + Math.floor(microseconds2801 / 1000); | ||
// console.log(alarmSize) | ||
// console.log(alarmSize) | ||
if (alarmType === 1) { | ||
@@ -442,3 +442,3 @@ var evnetID = securityOsdba.ReadUint8(); | ||
* 判断单个包是否满了 | ||
* @param {ArrayBuffer} data | ||
* @param {ArrayBuffer} data | ||
*/ | ||
@@ -461,3 +461,3 @@ ifFull(type) { | ||
let company = socketBA.ReadUint32();//company | ||
let imsgType = socketBA.ReadUint32();//消息类型 | ||
let imsgType = socketBA.ReadUint32();//消息类型 | ||
let linType = socketBA.ReadUint32();//指令类型 | ||
@@ -481,3 +481,3 @@ let iCmdLen = socketBA.ReadUint32();//指令长度 | ||
} else if (socketBA.bytesAvailable > iCmdLen) { | ||
//console.warn('中间有丢包',this.packageNum) | ||
@@ -512,5 +512,5 @@ //console.log(socketBA) | ||
} | ||
} | ||
@@ -520,3 +520,3 @@ | ||
* 判断这包数据是不是第一包 | ||
* @param {ArrayBuffer} data | ||
* @param {ArrayBuffer} data | ||
*/ | ||
@@ -533,3 +533,3 @@ ifFirstPackage(data) { | ||
let company = socketBA.ReadUint32();//company | ||
let imsgType = socketBA.ReadUint32();//消息类型 | ||
let imsgType = socketBA.ReadUint32();//消息类型 | ||
let linType = socketBA.ReadUint32();//指令类型 | ||
@@ -548,6 +548,6 @@ let iCmdLen = socketBA.ReadUint32();//指令长度 | ||
/** | ||
* | ||
* @param {Uint8Array} whole | ||
* @param {ArrayBuffer} arr1 | ||
* @param {ArrayBuffer} arr2 | ||
* | ||
* @param {Uint8Array} whole | ||
* @param {ArrayBuffer} arr1 | ||
* @param {ArrayBuffer} arr2 | ||
*/ | ||
@@ -589,2 +589,2 @@ MergeBuffer(whole, arr1) { | ||
export default SocketDataMerge; | ||
export default SocketDataMerge; |
//对于传进来的configs中的各个值进行校验 | ||
export function validateConfigs(configs) { | ||
const { videoId } = configs | ||
const { videoId } = configs; | ||
console.log("videoId:"); | ||
console.log(videoId) | ||
if (!videoId || typeof videoId !== 'string') { | ||
@@ -10,3 +11,3 @@ throw new Error("videoId配置出错"); | ||
this.node = document.getElementById(videoId); | ||
window.videoNode = this.node; | ||
@@ -24,2 +25,2 @@ if(!this.node){ | ||
return true; | ||
} | ||
} |
@@ -170,3 +170,3 @@ import { xmlHeader, xmlHeartBody, xmlCloseBody, xmlPlayControl ,xmlPlayRecord} from './orderList'; | ||
this.boncws.send(sendBA.GetArrayBuffer()); | ||
console.log('发送播放指令'); | ||
console.log('发送播放指令recordPlay'); | ||
} | ||
@@ -202,3 +202,3 @@ | ||
this.boncws.send(sendBA.GetArrayBuffer()); | ||
console.log('发送播放指令'); | ||
console.log('发送播放指令playControl'); | ||
} | ||
@@ -249,3 +249,3 @@ WebSocketClose(e) { //websocket异常关闭,需要重连 | ||
* 实时视频websocket接收信息的回调 | ||
* @param {*} evt | ||
* @param {*} evt | ||
*/ | ||
@@ -338,3 +338,3 @@ WebSocketMessage(evt) { | ||
this.heartLiveInterval = setInterval(() => { | ||
// console.log('websocket state',this.boncws.readyState) | ||
// console.log('websocket state',this.boncws.readyState) | ||
var strxml = xmlHeader + xmlHeartBody; | ||
@@ -395,2 +395,9 @@ var mun = ByteLengthOf(strxml); | ||
playxmlBody.getElementsByTagName('ChannelID')[0].firstChild.nodeValue = this.app.channelId; | ||
//武亚鸽 2020/1/20 add | ||
playxmlBody.getElementsByTagName('DeviceType')[0].firstChild.nodeValue = this.app.DeviceType; | ||
playxmlBody.getElementsByTagName('RecorderType')[0].firstChild.nodeValue = this.app.RecorderType; | ||
playxmlBody.getElementsByTagName('GBSServerIP')[0].firstChild.nodeValue = this.app.GBSServerIP; | ||
playxmlBody.getElementsByTagName('GBSServerPort')[0].firstChild.nodeValue = this.app.GBSServerPort; | ||
playxmlBody.getElementsByTagName('MDSServerIP')[0].firstChild.nodeValue = this.app.MDSServerIP; | ||
playxmlBody.getElementsByTagName('MDSServerPort')[0].firstChild.nodeValue = this.app.MDSServerPort; | ||
this.playControl(Xml2String(playxmlBody)); | ||
@@ -406,2 +413,2 @@ } | ||
} | ||
} |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
13504172
54219
21