From d9b8699e9978c6f9d74c5e87ac663e4b9476c1cf Mon Sep 17 00:00:00 2001
From: xc <double72cheng@gmail.com>
Date: Sun, 25 Apr 2021 16:56:30 +0800
Subject: [PATCH] 历史监控 插件化

---
 src/main/resources/public/monitor/history.html |  228 +++++++++++++++++++++++----------------------------------
 1 files changed, 92 insertions(+), 136 deletions(-)

diff --git a/src/main/resources/public/monitor/history.html b/src/main/resources/public/monitor/history.html
index 00bb617..d62f76a 100755
--- a/src/main/resources/public/monitor/history.html
+++ b/src/main/resources/public/monitor/history.html
@@ -6,36 +6,24 @@
     <title>Jessibuca【回放】</title>
     <meta charset="utf-8"/>
     <link rel="stylesheet" href="../css/progressTime.css">
+    <link rel="stylesheet" href="../css/history/historyStyle.css">
 
-    <style>
-        .player-wrapper {
-            width: 900px;
-            height: 500px;
-            /*overflow-y: auto;*/
-            margin: 0 auto;
-            text-align: center;
-        }
 
-        /*        .player-wrapper canvas {
-                    width: 100%;
-                    height: 100%;
-                }*/
-
-    </style>
 </head>
 
 <body>
 
-<!-- jessiebuca播放器 -->
-<div class="player-wrapper" id="container" style="background-color: #0D0E1B;width:900px;height:500px">
+<div id="jessibucaContainerHistory">
+    <!-- 播放器 -->
+    <div class="player-wrapper" id="container"></div>
+    <!-- 时间轴 -->
+    <div id="progressTime"></div>
 </div>
-<div id="progressTime"></div>
 
 
-<script src="../js/ajax.js"></script>
 <script src="../js/renderer.js"></script>
-<script type="text/javascript" src="../js/jquery.min.js"></script>
-<script type="text/javascript" src="../js/jquery.progressTime.js"></script>
+<script src="../js/jquery.min.js"></script>
+<script src="../js/jquery.progressTime.js"></script>
 
 
 <script>
@@ -43,109 +31,10 @@
     var dayTimestamp = hourTimestamp * 24;
     var currentTimer;
 
-
-    window.onkeydown = function () {
-        h5lc.fullscreen = false
-    }
-    var isLive = true;
-    var $play = document.getElementById('play');
-    var $stop = document.getElementById('stop');
     var container = document.getElementById("container");
+    let decoder = queryParam('decoder') || 'ff';
 
-    var isPlaying = false;
-
-    var h5lc = new Jessibuca({container, decoder: "../js/ff/ff.js", videoBuffer: 0});
-
-    h5lc.onLoad = function () {
-        //this.play("wss://pulls.1234326.cn/live/L01.flv")
-        //this.play("ws://localhost:8080/live/test.flv")
-        //this.play("ws://" + source + ":8080/live/" + stream)
-        //this.play("ws://pull3.afb1188.com/live/" + stream + ".flv")
-        //this.play("ws://pull2.afb1188.com/live/" + stream + ".flv")
-    }
-    h5lc.onPlay = function () {
-        isPlaying = true;
-        $play.style.display = 'none';
-        $stop.style.display = 'inline';
-    }
-    $play.addEventListener('click', function () {
-        if (isPlaying) {
-            return;
-        }
-        isPlaying = true;
-        /*        $.get("http://127.0.0.1:8088/monica/test/video", function (data) {
-                        h5lc.play(data)
-                    }
-                );*/
-        play();
-        $play.style.display = 'none';
-        $stop.style.display = 'inline';
-    }, false);
-
-    $stop.addEventListener('click', function () {
-        if (!isPlaying) {
-            return;
-        }
-        isPlaying = false;
-        //stop();
-
-        $play.style.display = 'inline';
-        $stop.style.display = 'none';
-    }, false);
-
-
-    function play(firstResponseIp) {
-        h5lc.play("ws://172.16.30.113:8082/live/video3.flv")
-    }
-
-    function stop() {
-        $.get("http://127.0.0.1:8088/monica/video/stop?param=live/test", function () {
-                alert("视频流已关闭");
-                h5lc.close()
-            }
-        );
-        h5lc.close()
-    }
-
-    function queryParam(name, url) {
-        var search = window.location.search;
-        var qArr = '';
-        var key = {};
-
-        if (url) {
-            qArr = url.split("?")[1].split("&")
-
-        } else {
-            if (!window.location.search) {
-                return
-            }
-            qArr = search.substr(1).split("&")
-        }
-
-        for (var i = 0; i < qArr.length; i++) {
-
-            var firstPos = qArr[i].indexOf('=');
-            key[qArr[i].slice(0, firstPos)] = qArr[i].slice(firstPos + 1)
-        }
-
-        if (name) {
-            return key[name]
-        } else {
-            if (url) {
-                return key[name]
-            } else {
-                return key
-            }
-        }
-    }
-
-    function playerShow() {
-        $(".player .control").css("display", "block")
-    }
-
-    function playerHidden() {
-        $(".player .control").css("display", "none")
-    }
+    var h5lc = new Jessibuca({container, decoder: "../js/jessibuca/ff.js", videoBuffer: 0});
 
 
     $("#progressTime").ProgressTime({
@@ -166,31 +55,98 @@
 
             // 假如动画完成之后请求数据需要两秒
             var timer = setTimeout(function () {
-                progressTime.options.toPlay = true; // 两秒之后再继续走播放条
+                progressTime.options.toPlay = false; // 两秒之后再继续走播放条
                 clearTimeout(timer);
             }, 0);
         }
     });
     $(".progressTime-left-b-start").on("click", function () {
-        if (currentTimer) {
-            $(this).addClass("stop");
-
-            $.ajax({
-                url: "" + "?param=",
-                async: false,//同步方式发送请求,true为异步发送
-                type: "GET",
-                data: {},
-                success: function (result) {
-                    alert(result);
-                }
-            });
-
-        }
+        h5lc.play("ws://172.16.30.113:8082/live/ff80808178af424e0178af44e677000343616d657261.flv")
+        /*        if (currentTimer) {
+                    $(this).addClass("stop");
+                    $.ajax({
+                        url: "" + "?param=",
+                        async: false,//同步方式发送请求,true为异步发送
+                        type: "GET",
+                        data: {},
+                        success: function (result) {
+                            alert(result);
+                        }
+                    });
+                }*/
     });
     $(".progressTime-left-b-start stop").on("click", function () {
         $(this).removeClass("stop");
     });
 
+
+    function queryParam(name, url) {
+        var search = window.location.search;
+        var qArr = '';
+        var key = {};
+        if (url) {
+            qArr = url.split("?")[1].split("&")
+
+        } else {
+            if (!window.location.search) {
+                return
+            }
+            qArr = search.substr(1).split("&")
+        }
+        for (var i = 0; i < qArr.length; i++) {
+
+            var firstPos = qArr[i].indexOf('=');
+            key[qArr[i].slice(0, firstPos)] = qArr[i].slice(firstPos + 1)
+        }
+        if (name) {
+            return key[name]
+        } else {
+            if (url) {
+                return key[name]
+            } else {
+                return key
+            }
+        }
+    }
+
+    function play_video(video_url) {
+        window.rtsp = video_url;
+        window.streamPath = "";
+        $.ajax({
+            type: "get",
+            url: "../../webapi/media/historical?param=" + video_url+"&startTime="+currentTimer,
+            timeout: 5000,
+            async: false,
+            success: function (result) {
+                //$("#iframeSon").attr("src", "../../data/video/public/test.html?url=" + result.jessica);
+                var container = document.getElementById("playerContainer");
+                jessibuca = new Jessibuca({
+                    container, decoder: "../../data/video/public/ff.js", videoBuffer: 1,
+                    isResize: false
+                });
+
+                jessibuca.onLoad = function () {
+                    this.play(result.jessica);
+                }
+                $("#close_video").attr("onclick", "close_videoDiv(\"" + result.streamPath + "\")");
+                window.streamPath = result.streamPath;
+            }
+        });
+    }
+
+    function close_video(streamPath) {
+        jessibuca.destroy();
+        if (streamPath) {
+            $.ajax({
+                type: "get",
+                url: "../../webapi/media/stop?param=" + streamPath,
+                async: false,
+                success: function (result) {
+                }
+            });
+        }
+    }
+
 </script>
 
 </body>

--
Gitblit v1.9.1