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/live.html | 174 ++++++++++++++++++++++-----------------------------------
1 files changed, 68 insertions(+), 106 deletions(-)
diff --git a/src/main/resources/public/monitor/live.html b/src/main/resources/public/monitor/live.html
index 5069b4e..d36f3e1 100755
--- a/src/main/resources/public/monitor/live.html
+++ b/src/main/resources/public/monitor/live.html
@@ -7,83 +7,42 @@
<meta charset="utf-8"/>
<link rel="stylesheet" href="../css/font-awesome.min.css">
<link rel="stylesheet" href="../css/controles.css">
+ <link rel="stylesheet" href="../css/live/liveStyle.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="wrap">
- <div class="content">
- <div class="player" onmouseover="playerShow()"onmouseout="playerHidden()">
- <div class="player-wrapper" id="container" style="background-color: #0D0E1B;">
- </div>
- <div class="control">
-
- <div class="fa fa-play" id="play">
- </div>
- <div class="fa fa-stop" id="stop" style="display: none">
- </div>
-
- <div>
- <span class="progress"></span>
- </div>
- <div class="timer">
- <span class="progress_timer">00:00:00</span>/
- <span class="duration_timer">00:00:00</span>
- </div>
- <div class="fa fa-expand expand" onclick="h5lc.fullscreen=true"></div>
- </div>
- </div>
- </div>
-</div>
-
+<div id="jessibucaContainer"></div>
<script src="../js/ajax.js"></script>
<script src="../js/renderer.js"></script>
-<script type="text/javascript" src="../js/jquery.min.js"></script>
+<script src="../js/jquery.min.js"></script>
+<script src="../js/live/livepler.js"></script>
<script>
- var hourTimestamp = 3600 * 1000;
- 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 $close = document.getElementById('close');
var container = document.getElementById("container");
- var $progressTime = document.getElementById('progressTime');
+
+ var $jessibucaContainer = document.getElementById("jessibucaContainer");
+
+
+ //入参
+ let url = getQueryVariable("url");
var isPlaying = false;
- let source = queryParam('source') || 'localhost';
- var h5lc = new Jessibuca({container, decoder: "../js/ff/ff.js", videoBuffer: 0});
+ var h5lc = new Jessibuca({container, decoder: "../js/jessibuca/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://172.16.30.113:8082/live/ff80808178af424e0178af44e677000343616d657261.flv")
//this.play("ws://pull3.afb1188.com/live/" + stream + ".flv")
- //this.play("ws://pull2.afb1188.com/live/" + stream + ".flv")
}
h5lc.onPlay = function () {
isPlaying = true;
@@ -91,15 +50,8 @@
$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();
+ h5lc.play("ws://172.16.30.113:8082/live/ff80808178af424e0178af44e677000343616d657261.flv")
$play.style.display = 'none';
$stop.style.display = 'inline';
}, false);
@@ -110,67 +62,77 @@
}
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")
- }
+ $close.addEventListener('click', function () {
+ if (!isPlaying) {
+ return;
+ }
+ isPlaying = false;
+ //stop();
+ $jessibucaContainer.style.display = 'none';
+ }, false);
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 getQueryVariable(variable) {
+ var query = window.location.search.substring(1);
+ var vars = query.split("&");
+ for (var i = 0; i < vars.length; i++) {
+ var pair = vars[i].split("=");
+ if (pair[0] == variable) {
+ return pair[1];
}
}
+ return (false);
}
- function playerShow(){
- if (isLive) {
- $(".player .control").css("display","block")
- }else {
- $(".player .control").css("display","none")
+
+ function play_video(video_url) {
+ window.rtsp = video_url;
+ window.streamPath = "";
+ $.ajax({
+ type: "get",
+ url: "../../webapi/media/live?param=" + video_url,
+ 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;
+ }
+ });
+ switch_layer();
+ }
+
+
+ function close_video(streamPath) {
+ jessibuca.destroy();
+ if (streamPath) {
+ $.ajax({
+ type: "get",
+ url: "../../webapi/media/stop?param=" + streamPath,
+ async: false,
+ success: function (result) {
+ }
+ });
}
- }
-
- function playerHidden(){
- $(".player .control").css("display","none")
}
</script>
--
Gitblit v1.9.1