index.html 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <!DOCTYPE html>
  2. <html lang="en" style="height: 100%;">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>player</title>
  6. <script type="text/javascript" src="./src/SuperRender_20.js"></script>
  7. <style>
  8. .container {
  9. position: relative;
  10. }
  11. #canvas {
  12. position: absolute;
  13. }
  14. #draw {
  15. position: absolute;
  16. top: 0;
  17. left: 0;
  18. }
  19. #video {
  20. position: absolute;
  21. top: 0;
  22. left: 0;
  23. }
  24. .close {
  25. width: 40px;
  26. height: 40px;
  27. background-image: url('./image/close.png') ;
  28. background-size: 100% 100%;
  29. position: fixed;
  30. top: 20px;
  31. right: 20px;
  32. z-index: 99;
  33. cursor: pointer;
  34. display: none;
  35. }
  36. </style>
  37. </head>
  38. <body style="text-align: center; margin: 0; z-index: 999; height: 100%;">
  39. <i class="close"></i>
  40. <video id="video"></video>
  41. <div class="container">
  42. <canvas id="canvas"></canvas>
  43. <canvas id="videoCanvas" width="900px" height="450px"></canvas>
  44. </div>
  45. <canvas id="draw" ></canvas>
  46. </body>
  47. <!--<script src="./node_modules/file-saver/FileSaver.js"/>-->
  48. <!--<script src="./src/md5.js" type="text/javascript"></script>-->
  49. <script type="module">
  50. import Player from "./src/player.js";
  51. window.onload = function() {
  52. document.addEventListener('click', onDocumentClick);
  53. document.addEventListener('dblclick', onDocumenDblClick);
  54. let video = document.getElementById('videoCanvas');
  55. video.style.width = data[3];
  56. };
  57. var clickTimeId;
  58. let str = location.href;
  59. let num = str.indexOf('?');
  60. str = str.substr(num+1);
  61. let data = str.split('&');
  62. let isShow = Number(data[0]);
  63. console.log(isShow);
  64. let key = data[4];
  65. const close = document.getElementsByClassName('close')[0];
  66. let video = document.getElementsByTagName('body')[0];
  67. console.log(video);
  68. video.dblclick = function () {
  69. };
  70. function onDocumentClick(event) {
  71. // 取消上次延时未执行的方法
  72. clearTimeout(clickTimeId);
  73. //执行延时
  74. clickTimeId = setTimeout(function() {
  75. //此处为单击事件要执行的代码
  76. console.log("鼠标单击");
  77. }, 250);
  78. }
  79. close.onclick = function () {
  80. this.style.display = 'none';
  81. video.style.backgroundColor = 'transparent';
  82. window.parent.postMessage({
  83. cmd: 'returnDate',
  84. params: {
  85. key: '-1',
  86. isNone: true
  87. }
  88. }, '*');
  89. };
  90. function onDocumenDblClick(event) {
  91. // 取消上次延时未执行的方法
  92. clearTimeout(clickTimeId);
  93. console.log("鼠标双击");
  94. if(isShow === 1) {
  95. console.log(2222);
  96. close.style.display = 'block';
  97. video.style.backgroundColor = '#0E1E51';
  98. // video.style.width = 1920 + 'px';
  99. // video.style.top = 0;
  100. // video.style.left = 0;
  101. window.parent.postMessage({
  102. cmd: 'returnDate',
  103. params: {
  104. key: key,
  105. isNone: false,
  106. }
  107. }, '*');
  108. }
  109. }
  110. const options = {
  111. video: document.getElementById('video'),
  112. canvas: document.getElementById('canvas'),
  113. drawer: document.getElementById('draw'),
  114. // wsUrl: 'ws://192.168.1.49:10080/camera_relay?tcpaddr=admin%3Ahm123456%40192.168.1.175',
  115. // rtspUrl: 'rtsp://admin:hm123456@192.168.1.175',
  116. user: '',
  117. pwd: ''
  118. };
  119. options.wsUrl = data[1];
  120. options.rtspUrl = data[2];
  121. console.log(options);
  122. let player = new Player(options);
  123. player.init();
  124. player.on('error', function () {
  125. console.log('连接失败')
  126. });
  127. player.on('noStream', function () {
  128. console.log('noStream');
  129. player.close();
  130. player = null;
  131. player = new Player(options);
  132. player.init();
  133. player.connect();
  134. });
  135. player.on('canplay', function () {
  136. //player.close();
  137. });
  138. player.on('initialCompleted', function () {
  139. let data = [[
  140. {x: 2861, y: 4395},
  141. {x: 6403, y: 4013},
  142. {x: 3260, y: 7986},
  143. {x: 640, y: 6252}
  144. ]];
  145. console.log('initialCompleted')
  146. player.setROI(data);
  147. });
  148. player.on('ROIFinished', function () {
  149. console.log('ROIFinished');
  150. });
  151. player.connect();
  152. document.getElementById('close').onclick = ()=>{
  153. player.close();
  154. };
  155. document.getElementById('ROIreset').onclick = () =>{
  156. player.resetROI();
  157. };
  158. document.getElementById('ROIset').onclick = () =>{
  159. let data = [[
  160. {x: 2861, y: 4395},
  161. {x: 6403, y: 4013},
  162. {x: 3260, y: 7986},
  163. {x: 640, y: 6252}
  164. ]];
  165. player.setROI(data);
  166. };
  167. document.getElementById('ROIdata').onclick = () =>{
  168. let result = player.getROIData();
  169. console.log(result)
  170. };
  171. document.getElementById('ROIsetNum').onclick = ()=> {
  172. let num = document.getElementById('ROINum').value;
  173. player.setPolygonNum(num);
  174. }
  175. </script>
  176. <script>
  177. </script>
  178. </html>