ard-work/src/main/resources/templates/test.html
@@ -130,11 +130,13 @@
        </div>
    </div>
</div>
<script th:inline="javascript">
    var cameraId, opt, token;
<script th:inline="javascript" th:type="module">
    var cameraId, opt, optOpen, optClose, token;
    window.onload = function () {
        console.log(RTCRtpReceiver.getCapabilities('video').codecs)
        $.ajax({
            url: "../hik/list",
            url: "../cameraSdk/list",
            type: "get",
            success: function (data) {
                console.log(data);
@@ -142,7 +144,8 @@
                for (var i = 0; i < arr.length; i++) {
                    console.log(arr[i].id);
                    var camera = {
                        type: arr[i].gdtype,
                        name: arr[i].name,
                        factory: arr[i].factory,
                        ipaddr: arr[i].ip,
                        username: arr[i].username,
                        password: arr[i].password,
@@ -161,8 +164,7 @@
                }
            }
        })
        opt = {"username": "liusuyi", "password": "5959932"};
        opt = {"username": "admin", "password": "admin123"};
        $.ajax({
            headers: {
                'Accept': 'application/json',
@@ -182,125 +184,125 @@
    }
    //云台上下左右
    $("#up").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 2;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#up").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 2;
        var enable = false;
        commondMethod(url, code, enable);
    })
    $("#down").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 8;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#down").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 8;
        var enable = false;
        commondMethod(url, code, enable);
    })
    $("#left").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 4;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#left").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 4;
        var enable = false;
        commondMethod(url, code, enable);
    })
    $("#right").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 6;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#right").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 6;
        var enable = false;
        commondMethod(url, code, enable);
    })
    //变倍
    $("#controlZoomIn").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 10;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#controlZoomIn").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 10;
        var enable = false;
        commondMethod(url, code, enable);
    })
    $("#controlZoomOut").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 11;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#controlZoomOut").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 11;
        var enable = false;
        commondMethod(url, code, enable);
    })
    //变焦
    $("#controlFocusNear").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 12;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#controlFocusNear").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 12;
        var enable = false;
        commondMethod(url, code, enable);
    })
    $("#controlFocusFar").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 13;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#controlFocusFar").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 13;
        var enable = false;
        commondMethod(url, code, enable);
    })
    //光圈
    $("#controlIrisOpen").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 14;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#controlIrisOpen").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 14;
        var enable = false;
        commondMethod(url, code, enable);
    })
    $("#controlIrisClose").mousedown(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 15;
        var enable = true;
        commondMethod(url, code, enable);
    })
    $("#controlIrisClose").mouseup(function () {
        var url = "../hik/PTZControlWithSpeed";
        var url = "../cameraSdk/PTZControlWithSpeed";
        var code = 15;
        var enable = false;
        commondMethod(url, code, enable);
@@ -308,14 +310,14 @@
    $("#setPreset").click(function () {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "channelNum": 1, "speed": 8, "presetIndex": 1};
        opt = {"cameraId": cameraId, "chanNo": 1, "speed": 8, "presetIndex": 1};
        $.ajax({
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/setPreset",
            url: "../cameraSdk/setPreset",
            type: "post",
            dataType: "json",
            data: JSON.stringify(opt),
@@ -326,14 +328,14 @@
    })
    $("#gotoPreset").click(function () {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "channelNum": 1, "speed": 8, "presetIndex": 1};
        opt = {"cameraId": cameraId, "chanNo": 1, "speed": 8, "presetIndex": 1};
        $.ajax({
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/gotoPreset",
            url: "../cameraSdk/gotoPreset",
            type: "post",
            dataType: "json",
            data: JSON.stringify(opt),
@@ -344,14 +346,14 @@
    })
    $("#getPTZ").click(function () {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "channelNum": 1};
        opt = {"cameraId": cameraId, "chanNo": 1};
        $.ajax({
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/getPTZ",
            url: "../cameraSdk/getPTZ",
            type: "post",
            dataType: "json",
            data: JSON.stringify(opt),
@@ -370,7 +372,7 @@
        var z = $('#z').val();
        //定义一个带有Map字段的实体对象
        var myEntity = {
            channelNum: 1,
            chanNo: 1,
            cameraId: cameraId,
            ptzMap: {
                p: p,
@@ -385,7 +387,7 @@
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/setPTZ",
            url: "../cameraSdk/setPTZ",
            type: "post",
            dataType: "json",
            data: JSON.stringify(myEntity),
@@ -401,7 +403,7 @@
        var targetP = $('#targetPostion').val();
        //定义一个带有Map字段的实体对象
        var myEntity = {
            channelNum: 1,
            chanNo: 1,
            cameraId: cameraId,
            targetPosition: targetP,
            camPosition: camP,
@@ -413,7 +415,7 @@
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/setTargetPosition",
            url: "../cameraSdk/setTargetPosition",
            type: "post",
            dataType: "json",
            data: JSON.stringify(myEntity),
@@ -424,14 +426,14 @@
    })
    $("#setZeroPTZ").click(function () {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "channelNum": 1};
        opt = {"cameraId": cameraId, "chanNo": 1};
        $.ajax({
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/setZeroPTZ",
            url: "../cameraSdk/setZeroPTZ",
            type: "post",
            dataType: "json",
            data: JSON.stringify(opt),
@@ -442,14 +444,14 @@
    })
    $("#WiperPwron").click(function () {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "channelNum": 1, "speed": 8, "enable": true, "code": 16};
        opt = {"cameraId": cameraId, "chanNo": 1, "speed": 8, "enable": true, "code": 16};
        $.ajax({
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/PTZControlWithSpeed",
            url: "../cameraSdk/PTZControlWithSpeed",
            type: "post",
            dataType: "json",
            data: JSON.stringify(opt),
@@ -461,8 +463,8 @@
    var defogflag = true;
    $("#Defogcfg").click(function () {
        cameraId = $('#select option:selected').val();
        optOpen = {"cameraId": cameraId, "channelNum": 1, "enable": true};
        optClose = {"cameraId": cameraId, "channelNum": 1, "enable": false};
        optOpen = {"cameraId": cameraId, "chanNo": 1, "enable": true};
        optClose = {"cameraId": cameraId, "chanNo": 1, "enable": false};
        if (defogflag) {
            $(this).text("关闭透雾");
            defogflag = false;
@@ -472,7 +474,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/defogcfg",
                url: "../cameraSdk/defogcfg",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optOpen),
@@ -489,7 +491,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/defogcfg",
                url: "../cameraSdk/defogcfg",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optClose),
@@ -503,8 +505,8 @@
    var infrareflag = true;
    $("#Infrarecfg").click(function () {
        cameraId = $('#select option:selected').val();
        optOpen = {"cameraId": cameraId, "channelNum": 1, "enable": true};
        optClose = {"cameraId": cameraId, "channelNum": 1, "enable": false};
        optOpen = {"cameraId": cameraId, "chanNo": 1, "enable": true};
        optClose = {"cameraId": cameraId, "chanNo": 1, "enable": false};
        if (infrareflag) {
            $(this).text("关闭红外");
            infrareflag = false;
@@ -514,7 +516,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/infrarecfg",
                url: "../cameraSdk/infrarecfg",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optOpen),
@@ -532,7 +534,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/infrarecfg",
                url: "../cameraSdk/infrarecfg",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optClose),
@@ -545,8 +547,8 @@
    var focusModeflag = true;
    $("#FocusMode").click(function () {
        cameraId = $('#select option:selected').val();
        optOpen = {"cameraId": cameraId, "channelNum": 1, "enable": true};
        optClose = {"cameraId": cameraId, "channelNum": 1, "enable": false};
        optOpen = {"cameraId": cameraId, "chanNo": 1, "enable": true};
        optClose = {"cameraId": cameraId, "chanNo": 1, "enable": false};
        if (focusModeflag) {
            $(this).text("自动聚焦");
            focusModeflag = false;
@@ -556,7 +558,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/focusMode",
                url: "../cameraSdk/focusMode",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optOpen),
@@ -573,7 +575,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/focusMode",
                url: "../cameraSdk/focusMode",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optClose),
@@ -583,11 +585,30 @@
            })
        }
    })
    $("#getFocusPos").click(function () {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "chanNo": 1};
        $.ajax({
                headers: {
                    'Accept': 'application/json',
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../cameraSdk/getFocusPos",
                type: "post",
                dataType: "json",
                data: JSON.stringify(opt),
                success: function (datas) {
                    console.log(datas);
                    $("#focus").val(datas.data);
                }
            })
    })
    var heateRpwronflag = true;
    $("#HeateRpwron").click(function () {
        cameraId = $('#select option:selected').val();
        optOpen = {"cameraId": cameraId, "channelNum": 1, "enable": true};
        optClose = {"cameraId": cameraId, "channelNum": 1, "enable": false};
        optOpen = {"cameraId": cameraId, "chanNo": 1, "enable": true};
        optClose = {"cameraId": cameraId, "chanNo": 1, "enable": false};
        if (heateRpwronflag) {
            $(this).text("关闭云台加热");
            heateRpwronflag = false;
@@ -597,7 +618,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/heateRpwron",
                url: "../cameraSdk/heateRpwron",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optOpen),
@@ -614,7 +635,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/heateRpwron",
                url: "../cameraSdk/heateRpwron",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optClose),
@@ -627,8 +648,8 @@
    var CameraDeicingflag = true;
    $("#CameraDeicing").click(function () {
        cameraId = $('#select option:selected').val();
        optOpen = {"cameraId": cameraId, "channelNum": 1, "enable": true};
        optClose = {"cameraId": cameraId, "channelNum": 1, "enable": false};
        optOpen = {"cameraId": cameraId, "chanNo": 1, "enable": true};
        optClose = {"cameraId": cameraId, "chanNo": 1, "enable": false};
        if (CameraDeicingflag) {
            $(this).text("关闭镜头加热");
            CameraDeicingflag = false;
@@ -637,7 +658,7 @@
                    'Accept': 'application/json',
                    'Content-Type': 'application/json'
                },
                url: "../hik/cameraDeicing",
                url: "../cameraSdk/cameraDeicing",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optOpen),
@@ -654,7 +675,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/cameraDeicing",
                url: "../cameraSdk/cameraDeicing",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optClose),
@@ -666,14 +687,14 @@
    })
    $("#realCutPic").click(function () {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "channelNum": 1};
        opt = {"cameraId": cameraId, "chanNo": 1};
        $.ajax({
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/captureJPEGPicture",
            url: "../cameraSdk/captureJPEGPicture",
            type: "post",
            dataType: "json",
            data: JSON.stringify(opt),
@@ -685,28 +706,31 @@
    })
    $("#saveCutPic").click(function () {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "channelNum": 1};
        opt = {"cameraId": cameraId, "chanNo": 1};
        $.ajax({
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                'Authorization': token
            },
            url: "../hik/picCutCate",
            url: "../cameraSdk/picCutCate",
            type: "post",
            dataType: "json",
            data: JSON.stringify(opt),
            success: function (data) {
                console.log(data.data);
                $('#imgContainer').attr('src', data.data);
                setTimeout(() => {
                    $('#imgContainer').attr('src', data.data);
                }, 1000 )
            }
        })
    })
    var recordflag = true;
    $("#record").click(function () {
        cameraId = $('#select option:selected').val();
        optOpen = {"cameraId": cameraId, "channelNum": 1, "enable": true};
        optClose = {"cameraId": cameraId, "channelNum": 1, "enable": false};
        optOpen = {"cameraId": cameraId, "chanNo": 1, "enable": true};
        optClose = {"cameraId": cameraId, "chanNo": 1, "enable": false};
        if (recordflag) {
            $(this).text("停止录像");
            recordflag = false;
@@ -716,7 +740,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/record",
                url: "../cameraSdk/record",
                type: "post",
                dataType: "json",
                data: JSON.stringify(optOpen),
@@ -733,7 +757,7 @@
                    'Content-Type': 'application/json',
                    'Authorization': token
                },
                url: "../hik/record",
                url: "../cameraSdk/record",
                dataType: "json",
                data: JSON.stringify(optClose),
                type: "post",
@@ -749,7 +773,7 @@
    /*云台公共方法*/
    function commondMethod(url, code, enable) {
        cameraId = $('#select option:selected').val();
        opt = {"cameraId": cameraId, "channelNum": 1, "speed": 8, "enable": enable, "code": code};
        opt = {"cameraId": cameraId, "chanNo": 1, "speed": 4, "enable": enable, "code": code};
        $.ajax({
            headers: {
                'Accept': 'application/json',
@@ -777,19 +801,20 @@
            var cameraId = $('#select option:selected').val();
            let camera = cameraMap.get(cameraId);
            console.log(camera);
            if (camera.type == "ys") {
            if (camera.factory == "3") {
                realViewYs("127.0.0.1", ID, camera.username, camera.password, camera.ipaddr, camera.port);
            } else if (camera.type == "dh") {
            } else if (camera.factory == "2") {
                realViewDh("127.0.0.1", ID, camera.username, camera.password, camera.ipaddr, camera.port);
            } else {
                realViewHik("192.168.1.15", ID, camera.username, camera.password, camera.ipaddr, camera.port);
                realViewHik("127.0.0.1", ID, camera.username, camera.password, camera.ipaddr, camera.port);
            }
        }
    });
    //预览海康相机
    function realViewHik(serverip, elem, username, password, ipaddr, port) {
        webRtcServer = new WebRtcStreamer(elem, "http://" + serverip + ":8000");
       // webRtcServer = new WebRtcStreamer(elem, "http://" + serverip + ":8000");
        webRtcServer = new WebRtcStreamer(elem, "http://192.168.1.227:8000");
        let rtspUrl = "rtsp://" + username + ":" + password + "@" + ipaddr + ":" + port + "/ch1/main/av_stream";
        let option = "rtptransport=tcp";
        console.log("rtsp地址:" + rtspUrl);