Prechádzať zdrojové kódy

Merge branch 'VERSIONS-video/iot-quanXian' into SCHOOL-XiBeiNongLin

dedsudiyu 3 týždňov pred
rodič
commit
6461fc561d

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 313
public/h5player/h5player.min.js


+ 72 - 9
public/h5player/playctrl1/DecodeWorker.js

@@ -17,10 +17,10 @@
     const PLAYM4_NEED_NEET_LOOP = 35; //丢帧需要下个循环
     const PLAYM4_SYS_NOT_SUPPORT = 16; 	// 不支持
 
-    importScripts('Decoder.js');
-    Module.addOnPostRun(function () {
-        postMessage({ 'function': "loaded" });
-    });
+    // importScripts('Decoder.js');
+    // Module.addOnPostRun(function () {
+    //     postMessage({ 'function': "loaded" });
+    // });
 
     var iStreamMode = 0;  // 流模式
 
@@ -47,11 +47,33 @@
         // console.log("nRunTimeModule:"+nRunTimeModule+",nFrameNum:"+nFrameNum+",nErrorCode:"+nErrorCode);
         postMessage({ 'function': "RunTimeInfoCallBack", 'nRunTimeModule': nRunTimeModule, 'nStrVersion': nStrVersion, 'nFrameTimeStamp': nFrameTimeStamp, 'nFrameNum': nFrameNum, 'nErrorCode': nErrorCode });
     }
+	
+	self.JSPlayM4_StreamInfoCallBack = function (nPort, pstStreamInfo, pUser)
+	{
+		let port = nPort;
+        let user = pUser;
+        let nSystemformat = Module.HEAP16[pstStreamInfo >> 1]; //封装类型
+        let nVideoformat = Module.HEAP16[pstStreamInfo + 2 >> 1];//视频编码类型
+        let nAudioformat = Module.HEAP16[pstStreamInfo + 4 >> 1];//音频编码类型
+        let nAudiochannels = Module.HEAP16[pstStreamInfo + 6 >> 1]; //音频通道数
+        let nAudiobitspersample = Module.HEAP32[pstStreamInfo + 8 >> 2];//音频样位率
+        let nAudiosamplesrate = Module.HEAP32[pstStreamInfo + 12 >> 2];//音频采样率
+        let nAudiobitrate = Module.HEAP32[pstStreamInfo + 16 >> 2];//音频比特率,单位:bit
+		//console.log("nSystemformat:" + nSystemformat + ",nVideoformat:" + nVideoformat + ",nAudioformat:" + nAudioformat + ",nAudiochannels:" + nAudiochannels + ",nAudiobitspersample:" + nAudiobitspersample + ",nAudiosamplesrate:" + nAudiosamplesrate + ",nAudiobitrate:" + nAudiobitrate);
+        postMessage({ 'function': "StreamInfoCallBack", 'nSystemformat': nSystemformat, 'nVideoformat': nVideoformat, 'nAudioformat': nAudioformat, 'nAudiochannels': nAudiochannels, 'nAudiobitspersample': nAudiobitspersample, 'nAudiosamplesrate': nAudiosamplesrate, 'nAudiobitrate': nAudiobitrate});
+	}
 
     onmessage = function (event) {
         var eventData = event.data;
         var res = 0;
         switch (eventData.command) {
+            case "importScripts":
+                const decodebase = eventData.data + "Decoder.js"
+                importScripts(decodebase);
+                Module.addOnPostRun(function () {
+                    postMessage({ 'function': "loaded" });
+                });
+                break;
             case "printLog":
                 let downloadFlag = eventData.data;
                 if (downloadFlag === true) {
@@ -206,7 +228,7 @@
                 var nBMPHeight = eventData.height;
                 var pYUVData = eventData.data;
                 var nYUVSize = nBMPWidth * nBMPHeight * 3 / 2;
-                var oJpegCropRect = {
+                var oBMPCropRect = {
                     left: eventData.left,
                     top: eventData.top,
                     right: eventData.right,
@@ -453,7 +475,7 @@
                 Module._SetLostFrameMode(g_nPort, eventData.data, 0);
                 break;
             case "SetDemuxModel":
-                Module._SetDemuxModel(g_nPort, eventData.nIdemuxType, eventData.bTrue);
+                let resSDM = Module._SetDemuxModel(g_nPort, eventData.nIdemuxType, eventData.bTrue);
                 break;
             case "SkipErrorData":
                 Module._SkipErrorData(g_nPort, eventData.bSkip);
@@ -476,6 +498,12 @@
                 break;
             case "SetRunTimeInfoCB":
                 Module._SetRunTimeInfoCallBackEx(g_nPort, eventData.nModuleType, 0);
+                break;
+			case "SetStreamInfoCB":
+                Module._SetStreamInfoCallBack(g_nPort, eventData.nType, 0);
+                break;
+			case "ResetBuffer":
+                Module._JSPlayM4_ResetBuffer(g_nPort, eventData.type);
                 break;
             default:
                 break;
@@ -489,6 +517,7 @@
         var iHour = oFrameInfo.hour;
         var iMinute = oFrameInfo.minute;
         var iSecond = oFrameInfo.second;
+        var iMiSecond = oFrameInfo.misecond
 
         if (iMonth < 10) {
             iMonth = "0" + iMonth;
@@ -505,8 +534,18 @@
         if (iSecond < 10) {
             iSecond = "0" + iSecond;
         }
-
-        return iYear + "-" + iMonth + "-" + iDay + " " + iHour + ":" + iMinute + ":" + iSecond;
+        let osdTime = {};
+
+        osdTime.year = iYear;
+        osdTime.month = iMonth;
+        osdTime.week = 0;
+        osdTime.day = iDay;
+        osdTime.hour = iHour;
+        osdTime.minute = iMinute;
+        osdTime.second = iSecond;
+        osdTime.milliseconds = iMiSecond;
+        return osdTime;
+        //return iYear + "-" + iMonth + "-" + iDay + " " + iHour + ":" + iMinute + ":" + iSecond;
     }
     // 获取帧数据
     function getFrameData() {
@@ -515,7 +554,31 @@
         var res = Module._GetFrameData();
         //var res = fun();
         if (res === PLAYM4_OK) {
-            var oFrameInfo = Module._GetFrameInfo();
+            var iFrameInfo = Module._GetFrameInfo();
+            let oFrameInfo = {};
+            oFrameInfo.frameType = Module.HEAP32[iFrameInfo >> 2];
+            oFrameInfo.frameSize = Module.HEAP32[iFrameInfo + 4 >> 2];
+            oFrameInfo.width = Module.HEAP32[iFrameInfo + 8 >> 2];
+            oFrameInfo.height = Module.HEAP32[iFrameInfo + 12 >> 2];
+            oFrameInfo.timeStamp = Module.HEAP32[iFrameInfo + 16 >> 2];
+            oFrameInfo.frameRate = Module.HEAP32[iFrameInfo + 20 >> 2];
+            oFrameInfo.bitsPerSample = Module.HEAP32[iFrameInfo + 24 >> 2];
+            oFrameInfo.samplesPerSec = Module.HEAP32[iFrameInfo + 28 >> 2];
+            oFrameInfo.channels = Module.HEAP32[iFrameInfo + 32 >> 2];
+            oFrameInfo.frameNum = Module.HEAP32[iFrameInfo + 36 >> 2];
+
+            oFrameInfo.cropLeft = Module.HEAP32[iFrameInfo + 40 >> 2];
+            oFrameInfo.cropRight = Module.HEAP32[iFrameInfo + 44 >> 2];
+            oFrameInfo.cropTop = Module.HEAP32[iFrameInfo + 48 >> 2];
+            oFrameInfo.cropBottom = Module.HEAP32[iFrameInfo + 52 >> 2];
+
+            oFrameInfo.year = Module.HEAP16[iFrameInfo + 64 >> 1];
+            oFrameInfo.month = Module.HEAP16[iFrameInfo + 66 >> 1];
+            oFrameInfo.day = Module.HEAP16[iFrameInfo + 68 >> 1];
+            oFrameInfo.hour = Module.HEAP16[iFrameInfo + 70 >> 1];
+            oFrameInfo.minute = Module.HEAP16[iFrameInfo + 72 >> 1];
+            oFrameInfo.second = Module.HEAP16[iFrameInfo + 74 >> 1];
+            oFrameInfo.misecond = Module.HEAP16[iFrameInfo + 76 >> 1];
             switch (oFrameInfo.frameType) {
                 case AUDIO_TYPE:
                     var iSize = oFrameInfo.frameSize;

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 171 - 1
public/h5player/playctrl1/Decoder.js


+ 72 - 9
public/h5player/playctrl1simd/DecodeWorker.js

@@ -17,10 +17,10 @@
     const PLAYM4_NEED_NEET_LOOP = 35; //丢帧需要下个循环
     const PLAYM4_SYS_NOT_SUPPORT = 16; 	// 不支持
 
-    importScripts('Decoder.js');
-    Module.addOnPostRun(function () {
-        postMessage({ 'function': "loaded" });
-    });
+    // importScripts('Decoder.js');
+    // Module.addOnPostRun(function () {
+    //     postMessage({ 'function': "loaded" });
+    // });
 
     var iStreamMode = 0;  // 流模式
 
@@ -47,11 +47,33 @@
         // console.log("nRunTimeModule:"+nRunTimeModule+",nFrameNum:"+nFrameNum+",nErrorCode:"+nErrorCode);
         postMessage({ 'function': "RunTimeInfoCallBack", 'nRunTimeModule': nRunTimeModule, 'nStrVersion': nStrVersion, 'nFrameTimeStamp': nFrameTimeStamp, 'nFrameNum': nFrameNum, 'nErrorCode': nErrorCode });
     }
+	
+	self.JSPlayM4_StreamInfoCallBack = function (nPort, pstStreamInfo, pUser)
+	{
+		let port = nPort;
+        let user = pUser;
+        let nSystemformat = Module.HEAP16[pstStreamInfo >> 1]; //封装类型
+        let nVideoformat = Module.HEAP16[pstStreamInfo + 2 >> 1];//视频编码类型
+        let nAudioformat = Module.HEAP16[pstStreamInfo + 4 >> 1];//音频编码类型
+        let nAudiochannels = Module.HEAP16[pstStreamInfo + 6 >> 1]; //音频通道数
+        let nAudiobitspersample = Module.HEAP32[pstStreamInfo + 8 >> 2];//音频样位率
+        let nAudiosamplesrate = Module.HEAP32[pstStreamInfo + 12 >> 2];//音频采样率
+        let nAudiobitrate = Module.HEAP32[pstStreamInfo + 16 >> 2];//音频比特率,单位:bit
+		//console.log("nSystemformat:" + nSystemformat + ",nVideoformat:" + nVideoformat + ",nAudioformat:" + nAudioformat + ",nAudiochannels:" + nAudiochannels + ",nAudiobitspersample:" + nAudiobitspersample + ",nAudiosamplesrate:" + nAudiosamplesrate + ",nAudiobitrate:" + nAudiobitrate);
+        postMessage({ 'function': "StreamInfoCallBack", 'nSystemformat': nSystemformat, 'nVideoformat': nVideoformat, 'nAudioformat': nAudioformat, 'nAudiochannels': nAudiochannels, 'nAudiobitspersample': nAudiobitspersample, 'nAudiosamplesrate': nAudiosamplesrate, 'nAudiobitrate': nAudiobitrate});
+	}
 
     onmessage = function (event) {
         var eventData = event.data;
         var res = 0;
         switch (eventData.command) {
+            case "importScripts":
+                const decodebase = eventData.data + "Decoder.js"
+                importScripts(decodebase);
+                Module.addOnPostRun(function () {
+                    postMessage({ 'function': "loaded" });
+                });
+                break;
             case "printLog":
                 let downloadFlag = eventData.data;
                 if (downloadFlag === true) {
@@ -206,7 +228,7 @@
                 var nBMPHeight = eventData.height;
                 var pYUVData = eventData.data;
                 var nYUVSize = nBMPWidth * nBMPHeight * 3 / 2;
-                var oJpegCropRect = {
+                var oBMPCropRect = {
                     left: eventData.left,
                     top: eventData.top,
                     right: eventData.right,
@@ -453,7 +475,7 @@
                 Module._SetLostFrameMode(g_nPort, eventData.data, 0);
                 break;
             case "SetDemuxModel":
-                Module._SetDemuxModel(g_nPort, eventData.nIdemuxType, eventData.bTrue);
+                let resSDM = Module._SetDemuxModel(g_nPort, eventData.nIdemuxType, eventData.bTrue);
                 break;
             case "SkipErrorData":
                 Module._SkipErrorData(g_nPort, eventData.bSkip);
@@ -476,6 +498,12 @@
                 break;
             case "SetRunTimeInfoCB":
                 Module._SetRunTimeInfoCallBackEx(g_nPort, eventData.nModuleType, 0);
+                break;
+			case "SetStreamInfoCB":
+                Module._SetStreamInfoCallBack(g_nPort, eventData.nType, 0);
+                break;
+			case "ResetBuffer":
+                Module._JSPlayM4_ResetBuffer(g_nPort, eventData.type);
                 break;
             default:
                 break;
@@ -489,6 +517,7 @@
         var iHour = oFrameInfo.hour;
         var iMinute = oFrameInfo.minute;
         var iSecond = oFrameInfo.second;
+        var iMiSecond = oFrameInfo.misecond
 
         if (iMonth < 10) {
             iMonth = "0" + iMonth;
@@ -505,8 +534,18 @@
         if (iSecond < 10) {
             iSecond = "0" + iSecond;
         }
-
-        return iYear + "-" + iMonth + "-" + iDay + " " + iHour + ":" + iMinute + ":" + iSecond;
+        let osdTime = {};
+
+        osdTime.year = iYear;
+        osdTime.month = iMonth;
+        osdTime.week = 0;
+        osdTime.day = iDay;
+        osdTime.hour = iHour;
+        osdTime.minute = iMinute;
+        osdTime.second = iSecond;
+        osdTime.milliseconds = iMiSecond;
+        return osdTime;
+        //return iYear + "-" + iMonth + "-" + iDay + " " + iHour + ":" + iMinute + ":" + iSecond;
     }
     // 获取帧数据
     function getFrameData() {
@@ -515,7 +554,31 @@
         var res = Module._GetFrameData();
         //var res = fun();
         if (res === PLAYM4_OK) {
-            var oFrameInfo = Module._GetFrameInfo();
+            var iFrameInfo = Module._GetFrameInfo();
+            let oFrameInfo = {};
+            oFrameInfo.frameType = Module.HEAP32[iFrameInfo >> 2];
+            oFrameInfo.frameSize = Module.HEAP32[iFrameInfo + 4 >> 2];
+            oFrameInfo.width = Module.HEAP32[iFrameInfo + 8 >> 2];
+            oFrameInfo.height = Module.HEAP32[iFrameInfo + 12 >> 2];
+            oFrameInfo.timeStamp = Module.HEAP32[iFrameInfo + 16 >> 2];
+            oFrameInfo.frameRate = Module.HEAP32[iFrameInfo + 20 >> 2];
+            oFrameInfo.bitsPerSample = Module.HEAP32[iFrameInfo + 24 >> 2];
+            oFrameInfo.samplesPerSec = Module.HEAP32[iFrameInfo + 28 >> 2];
+            oFrameInfo.channels = Module.HEAP32[iFrameInfo + 32 >> 2];
+            oFrameInfo.frameNum = Module.HEAP32[iFrameInfo + 36 >> 2];
+
+            oFrameInfo.cropLeft = Module.HEAP32[iFrameInfo + 40 >> 2];
+            oFrameInfo.cropRight = Module.HEAP32[iFrameInfo + 44 >> 2];
+            oFrameInfo.cropTop = Module.HEAP32[iFrameInfo + 48 >> 2];
+            oFrameInfo.cropBottom = Module.HEAP32[iFrameInfo + 52 >> 2];
+
+            oFrameInfo.year = Module.HEAP16[iFrameInfo + 64 >> 1];
+            oFrameInfo.month = Module.HEAP16[iFrameInfo + 66 >> 1];
+            oFrameInfo.day = Module.HEAP16[iFrameInfo + 68 >> 1];
+            oFrameInfo.hour = Module.HEAP16[iFrameInfo + 70 >> 1];
+            oFrameInfo.minute = Module.HEAP16[iFrameInfo + 72 >> 1];
+            oFrameInfo.second = Module.HEAP16[iFrameInfo + 74 >> 1];
+            oFrameInfo.misecond = Module.HEAP16[iFrameInfo + 76 >> 1];
             switch (oFrameInfo.frameType) {
                 case AUDIO_TYPE:
                     var iSize = oFrameInfo.frameSize;

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 171 - 1
public/h5player/playctrl1simd/Decoder.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 5 - 5
public/h5player/playctrl2/Decoder.js


BIN
public/h5player/playctrl2/Decoder.wasm


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
public/h5player/playctrl2/Decoder.worker.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 5 - 5
public/h5player/playctrl3/Decoder.js


BIN
public/h5player/playctrl3/Decoder.wasm


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
public/h5player/playctrl3/Decoder.worker.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 96355 - 0
public/h5player/static/js/antd.js


+ 1 - 0
public/h5player/static/js/moment.js

@@ -2328,6 +2328,7 @@
       if (obsOffset) {
           return obsOffsets[obsOffset];
       } else if (militaryOffset) {
+          // the only allowed military tz is Z
           return 0;
       } else {
           var hm = parseInt(numOffset, 10);

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 83 - 19
public/h5player/transform/libSystemTransform.js


BIN
public/h5player/transform/libSystemTransform.wasm


+ 7 - 1
public/h5player/transform/systemTransform-worker.js

@@ -67,7 +67,13 @@ importScripts('libSystemTransform.js');
                     {
                         console.log("_SysTransRegisterDataCallBack Failed:" + iRet);
                     }
-
+                    if (iTransType === 5) {//转mp4支持私有帧打入
+                        iRet = Module._SysTransEnableCapacity(7)
+                        if(iRet != 0)
+                        {
+                            console.log("_SysTransSetGlobalTime Failed:" + iRet);
+                        }
+                    }
                     iRet = Module._SysTransStart(null, null);
                     if(iRet != 0)
                     {

+ 7 - 1
src/views/secureAccess/whitelist/addPage.vue

@@ -494,7 +494,13 @@ export default {
     },
     //查询楼栋/楼层数据
     systemBuildingGetOptList(type,id){
-      systemBuildingGetOptList({type:type}).then(response => {
+      let obj = {
+        type:type
+      }
+      if(type == 3){
+        obj.id = id
+      }
+      systemBuildingGetOptList(obj).then(response => {
         if(type == 2){
           this.$set(this,'buildsDataList',response.data);
         }else if(type == 3){