You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.6 KiB
114 lines
4.6 KiB
11 months ago
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
|
||
|
<style type="text/css">
|
||
|
body, html, #cameraVideo {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
overflow: hidden;
|
||
|
margin: 0;
|
||
|
font-family: "微软雅黑";
|
||
|
}
|
||
|
</style>
|
||
|
<link rel="stylesheet" href="../../layui/css/layui.css" media="all" />
|
||
|
<script type="text/javascript" src="../../js/jquery-2.1.3.min.js"></script>
|
||
|
<script type="text/javascript" src="../../js/jq_extend.js"></script>
|
||
|
<script type="text/javascript" src="ParaDeal.js"></script>
|
||
|
<!-- 导入的videojs是7.0版本以上的,集成VHS协议库,可播放HLS流媒体视频 -->
|
||
|
<link href="videolib/css/video-js.min.css" rel="stylesheet" type="text/css">
|
||
|
<script src="videolib/js/video.min.js"></script>
|
||
|
<!-- 引入的videojs-flash.js插件主要是为播放rtmp视频流-->
|
||
|
<script src="videolib/videojs-flash.min.js"></script>
|
||
|
<title>实时视频</title>
|
||
|
</head>
|
||
|
<body>
|
||
|
<video id='myvideo' width=1500 height=800 class="video-js vjs-default-skin" controls></video>
|
||
|
<script type="text/javascript" src="../../layui/layui.js"></script>
|
||
|
<script>
|
||
|
layui.config({
|
||
|
base: '../../js/'
|
||
|
}).use(['form', 'layer', 'table', 'laydate'], function () {
|
||
|
var form = layui.form,
|
||
|
layer = parent.layer === undefined ? layui.layer : top.layer,
|
||
|
$ = layui.jquery,
|
||
|
laydate = layui.laydate;
|
||
|
table = layui.table;
|
||
|
|
||
|
var imei = $.getUrlVar("imei");
|
||
|
|
||
|
//var runStatus = marker.customData.runStatus;
|
||
|
var strQueryString = { "cameraType": "FRONT" };
|
||
|
strQueryString = JSON.stringify(strQueryString);
|
||
|
var baseStrQueryString = Base64.encode(strQueryString);
|
||
|
var timestamp1 = new Date().getTime();
|
||
|
var securityKey = 'RTcunWv#BVhi';
|
||
|
var signCar = sha1(baseStrQueryString + timestamp1.toString() + securityKey);
|
||
|
var msgId = generateUUID();
|
||
|
|
||
|
$.ajax({
|
||
|
type: "POST",
|
||
|
url: "nginx/api/v0/terminals/" + imei + "/monitor-start",
|
||
|
async: false,
|
||
|
headers: {
|
||
|
"sysCode": "30001",
|
||
|
"from": "OTHER",
|
||
|
"Content-Type": "application/json",
|
||
|
"msgId": msgId.toString()
|
||
|
},
|
||
|
data: JSON.stringify({
|
||
|
"data": baseStrQueryString,
|
||
|
"timestamp": timestamp1,
|
||
|
"sign": signCar
|
||
|
}),
|
||
|
success: function (result) {
|
||
|
console.log("视频:");
|
||
|
console.log(result);
|
||
|
var pullURL = result.pullURL;
|
||
|
console.log(pullURL);//rtmp://218.201.45.135:19350/live?token=077c04d3dd614eea9ae6cc44a4ab01cb|rtmpUrltype=clientFetch|systemType=4|tId=86536974208886784/thirdRealTime_cmiot-clw861584040028517_1_0_2
|
||
|
var player = videojs('myvideo', { sources: [{ type: "rtmp/mp4", src: pullURL }] },
|
||
|
function () { console.log('videojs播放器初始化成功') })
|
||
|
player.play();
|
||
|
},
|
||
|
error: function (err) {
|
||
|
layer.msg(JSON.parse(err.responseText).errorMsg + ",页面将在3秒后自动关闭", { icon: 0 });
|
||
|
setTimeout(function () {
|
||
|
window.close();
|
||
|
}, 3000)
|
||
|
}
|
||
|
});
|
||
|
})
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
// 格式化日期,如月、日、时、分、秒保证为2位数
|
||
|
function formatNumber(n) {
|
||
|
n = n.toString()
|
||
|
return n[1] ? n : '0' + n;
|
||
|
}
|
||
|
// 参数number为毫秒时间戳,format为需要转换成的日期格式
|
||
|
function formatTime(number, format) {
|
||
|
let time = new Date(number)
|
||
|
let newArr = []
|
||
|
let formatArr = ['Y', 'M', 'D', 'h', 'm', 's']
|
||
|
newArr.push(time.getFullYear())
|
||
|
newArr.push(formatNumber(time.getMonth() + 1))
|
||
|
newArr.push(formatNumber(time.getDate()))
|
||
|
|
||
|
newArr.push(formatNumber(time.getHours()))
|
||
|
newArr.push(formatNumber(time.getMinutes()))
|
||
|
newArr.push(formatNumber(time.getSeconds()))
|
||
|
|
||
|
for (let i in newArr) {
|
||
|
format = format.replace(formatArr[i], newArr[i])
|
||
|
}
|
||
|
return format;
|
||
|
}
|
||
|
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|