From 6a4735c88d94ff95ab3e102c4bc94393bbf68ccf Mon Sep 17 00:00:00 2001
From: xc <double72cheng@gmail.com>
Date: Mon, 26 Apr 2021 14:08:07 +0800
Subject: [PATCH] 直播
---
src/main/resources/public/monitor/history.html | 230 ++++++++++++++++++++++-----------------------------------
1 files changed, 89 insertions(+), 141 deletions(-)
diff --git a/src/main/resources/public/monitor/history.html b/src/main/resources/public/monitor/history.html
index 0d916cf..1d8168d 100755
--- a/src/main/resources/public/monitor/history.html
+++ b/src/main/resources/public/monitor/history.html
@@ -6,151 +6,38 @@
<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>
+ var video_id;
+ var stream_path;
+
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 container = document.getElementById("container");
- var $progressTime = document.getElementById('progressTime');
+ 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() {
- if (isLive) {
- $(".player .control").css("display", "block")
- } else {
- $(".player .control").css("display", "none")
- }
- }
-
- function playerHidden() {
- $(".player .control").css("display", "none")
- }
+ var h5lc = new Jessibuca({container, decoder: "../js/jessibuca/ff.js", videoBuffer: 0});
$("#progressTime").ProgressTime({
@@ -171,31 +58,92 @@
// 假如动画完成之后请求数据需要两秒
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_id) {
+ window.video_id = video_id;
+ window.stream_path = "";
+ $.ajax({
+ type: "get",
+ url: "../../webapi/media/historical?param=" + video_url+"&startTime="+currentTimer,
+ timeout: 5000,
+ async: false,
+ success: function (result) {
+ h5lc.onLoad = function () {
+ this.play(result.jessica);
+ }
+ window.streamPath = result.streamPath;
+ }
+ });
+ }
+
+ //关闭
+ function close_video(streamPath) {
+ h5lc.destroy();
+ if (streamPath) {
+ $.ajax({
+ type: "get",
+ url: "../../webapi/media/stop?param=" + streamPath,
+ async: false,
+ success: function (result) {
+ }
+ });
+ }
+ }
+
</script>
</body>
--
Gitblit v1.9.1