12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- var videoPacketNum = 0;//
- var hasPPS = false;
- self.importScripts("helper.js");
- // self.importScripts("pcm-player.js");
- // self.importScripts("pcm-player.min.js");
- // var socketURL = "ws://192.168.198.21:9101";
- var socketURL = "ws://14.215.128.97:15508"
- // var socketURL = "14.215.128.98:14102";
- // var socketURL = "ws://14.215.128.98:14102"
- // socketURL = "ws://127.0.0.1:8081"
- var ws = new WebSocket(socketURL);
- ws.binaryType = 'arraybuffer';
- ws.addEventListener('open', function(event) {
- console.log("发送配置帧");
- ws.send(ConfigChannel("RK3923C1201900139"));
- });
- self.addEventListener('message', function(e) {
- //console.log("收到数据", e.data);
- console.log('ws', ws);
- ws.send(e.data);
-
- }, false);
- ws.addEventListener('message', function(event) {
- //var objData = {type:0, data:input};
- var input = new Uint8Array(event.data);
-
- if(input[0] == 0 && input[1] == 0 && input[2] == 0 && input[3] == 1)
- {
- var nalType = input[4] & 0x1f;
-
- if(nalType == 0x05 || nalType == 0x05 || nalType == 0x07)
- {
- console.log("收到I 帧");
- self.postMessage(input);
- hasPPS = true;
- }
-
- if(!hasPPS)//请求I 帧
- {
- videoPacketNum++;
-
- if(videoPacketNum > 5 && !hasPPS)
- {
- console.log("packetnum 编号" + videoPacketNum);
- videoPacketNum = 0;
- ws.send(RequestIFrame("RK3923C1201900139"));
- hasPPS = true;
- }
- }
- else
- {
- self.postMessage(input);
- }
- }
- else //音频
- {
- self.postMessage(input);
- }
-
- });
|