| | |
| | | let cameraId = opt.cameraId; |
| | | |
| | | let container = document.getElementById("container"); |
| | | let h5lc = new Jessibuca({container, decoder: "../js/jessibuca/ff.js", videoBuffer: 0}); |
| | | |
| | | let h5lc = new Jessibuca({container, decoder: "js/jessibuca/ff.js", videoBuffer: 0}); |
| | | |
| | | //创建时间轴 |
| | | let currentTimer; |
| | | let hourTimestamp = 3600 * 1000; |
| | | let dayTimestamp = hourTimestamp * 24; |
| | | let currentTimer; |
| | | |
| | | //时间轴 |
| | | $("#progressTime").ProgressTime({ |
| | | container: "progressTime", |
| | | startTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 3), "YYYY/MM/DD 00:00:00")), |
| | | startTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1), "YYYY/MM/DD 00:00:00")), |
| | | endTime: new Date(formatDate(new Date(), "YYYY/MM/DD 00:00:00")), |
| | | currentTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 2), "YYYY/MM/DD 12:00:00")), |
| | | currentTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1.5), "YYYY/MM/DD 12:00:00")), |
| | | interval: 300, |
| | | delay: 2000, |
| | | hoursInterval: 1,//时间间隔 |
| | | isNow: false, // 是否显示右侧回到当前时间 |
| | | toPlay: false, // 渲染是否完成 |
| | | animateFinish: false, // 动画是否完成 |
| | |
| | | } |
| | | }); |
| | | |
| | | let progressTimelayer = window.progressTime; |
| | | |
| | | let beginDateStr = new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1), "YYYY/MM/DD 00:00:00")); |
| | | let endDateStr = new Date(formatDate(new Date(), "YYYY/MM/DD 00:00:00")); |
| | | |
| | | //创建精确时间选择器 |
| | | jeDate("#currentTimer", { |
| | | festival: false, //是否显示农历节日 |
| | | minDate: "1900-01-01", //最小日期 |
| | | maxDate: "2099-12-31", //最大日期 |
| | | method: { |
| | | choose: function (params) { |
| | | } |
| | | }, |
| | | donefun: function (obj) { |
| | | currentTimer = obj.val; |
| | | let flag = compareTime(beginDateStr, endDateStr, currentTimer); |
| | | if (flag) { |
| | | //只有在指定时间才刷新指针位置 |
| | | progressTimelayer.setTime({ |
| | | time: currentTimer,//指针显示时间 |
| | | timer: currentTimer,//指针位置计算时间 |
| | | originalEvent: { |
| | | layerX: undefined, |
| | | }, |
| | | type: "", |
| | | }); |
| | | progressTimelayer.resize(); |
| | | } |
| | | }, |
| | | format: "YYYY-MM-DD hh:mm:ss" |
| | | }); |
| | | |
| | | //判断时间是否属于区间内 |
| | | function compareTime(begin, end, timer) { |
| | | var date1 = Date.parse(new Date(begin)); |
| | | var date2 = Date.parse(new Date(end)); |
| | | var time = Date.parse(new Date(timer)); |
| | | if (date1 < time && date2 > time) { |
| | | return true; |
| | | } |
| | | ; |
| | | return false; |
| | | } |
| | | |
| | | //播放 |
| | | $(".progressTime-left-b-start").on("click", function () { |
| | | if (opt.rtspUrl){ |
| | | if (opt.rtspUrl) { |
| | | let rtspUrl = opt.rtspUrl; |
| | | historyComponent.playVideoRTSP(rtspUrl,currentTimer,function (result) { |
| | | historyComponent.playVideoRTSP(rtspUrl, currentTimer, function (result) { |
| | | h5lc.play(result.jessicaURL) |
| | | stream_path = result.streamPath; |
| | | }); |
| | | }else { |
| | | historyComponent.playVideo(cameraId,currentTimer,function (result) { |
| | | } else { |
| | | historyComponent.playVideo(cameraId, currentTimer, function (result) { |
| | | h5lc.play(result.jessicaURL) |
| | | stream_path = result.streamPath; |
| | | }); |
| | | } |
| | | }); |
| | |
| | | |
| | | //文本添加 |
| | | function appendContent(element) { |
| | | let _content = "<div class=\"player-wrapper\" id=\"container\"></div>\n" + |
| | | "<div id=\"progressTime\"></div>"; |
| | | let _content = " <div class=\"player-wrapper\" id=\"container\"></div>\n" + |
| | | " <div id=\"progressTime\"></div>\n" + |
| | | " <div class=\"jeitem\">\n" + |
| | | " <label class=\"jelabel\">精准时间查找</label>\n" + |
| | | " <div class=\"jeinpbox\"><input type=\"text\" class=\"jeinput\" id=\"currentTimer\" placeholder=\"选择时间\">\n" + |
| | | " </div>\n" + |
| | | " </div>"; |
| | | element.innerHTML = _content; |
| | | } |
| | | |
| | | //播放 - 针对摄像头id |
| | | HistoryComponent.prototype.playVideo = function (video_id,starttime, callback) { |
| | | HistoryComponent.prototype.playVideo = function (video_id, starttime, callback) { |
| | | $.ajax({ |
| | | type: "get", |
| | | url: "../../monica/history?param=" + video_id+ "&startTime=" + starttime+"&endTime=", |
| | | url: "../../monica/history?param=" + video_id + "&startTime=" + starttime + "&endTime=", |
| | | timeout: 5000, |
| | | async: false, |
| | | success: function (result) { |
| | |
| | | }); |
| | | }; |
| | | //播放 - 针对rtsp |
| | | HistoryComponent.prototype.playVideoRTSP = function (rtspURL,starttime, callback) { |
| | | HistoryComponent.prototype.playVideoRTSP = function (rtspURL, starttime, callback) { |
| | | $.ajax({ |
| | | type: "get", |
| | | url: "../../monica/rtsp/history?param=" + rtspURL+ "&startTime=" + starttime+"&endTime=", |
| | | url: "../../monica/rtsp/history?param=" + rtspURL + "&startTime=" + starttime + "&endTime=", |
| | | timeout: 5000, |
| | | async: false, |
| | | success: function (result) { |
| | |
| | | this.closeVideo(this.stream_path); |
| | | }; |
| | | |
| | | |
| | | window.HistoryComponent = HistoryComponent; |
| | | |
| | | })() |