testOne.html 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. <script src="./js/jquery.min.js"></script>
  7. <script src="./js/flv.min.js"></script>
  8. </head>
  9. <body>
  10. <video id="VideoRealPlay" autoplay muted controls></video>
  11. <button id="closeBtn">关闭</button>
  12. <script>
  13. var webSocket, flvPlayer;
  14. var _uUid = _uuid(), _uUids = _uuid();
  15. $(document).ready(function() {
  16. setMsg();
  17. startSocket();
  18. })
  19. // 安全帽
  20. function setMsg() {
  21. if ('WebSocket' in window) {
  22. webSocket = new WebSocket("ws://39.98.35.167:9988/video");
  23. } else if ('MozWebSocket' in window) {
  24. webSocket = MozWebSocket("ws://39.98.35.167:9988/video");
  25. } else {
  26. window.alert("浏览器不支持WebSocket");
  27. }
  28. webSocket.onopen = function() {
  29. setAlive()
  30. }
  31. webSocket.onclose = function() {
  32. console.log("我自闭了");
  33. }
  34. webSocket.onmessage = function(msg) {
  35. let _data = JSON.parse(msg.data);
  36. }
  37. }
  38. function setAlive(){
  39. webSocket.send(JSON.stringify({
  40. cmd: "keep_alive",
  41. sid: "52b2015f0f2c8ff7387a70da6674a310"
  42. }))
  43. setTimeout(setAlive, 3*1e4)
  44. }
  45. function _uuid() {
  46. let t = () => (65536 * (1 + Math.random()) | 0).toString(16).substring(1);
  47. return t() + t() + t() + t() + t() + t() + t() + t()
  48. }
  49. $("#closeBtn").on("click","",function(){
  50. webSocket.send(JSON.stringify({
  51. carId: "3668",
  52. channel: 1,
  53. cmd: "real_close",
  54. stream: 1,
  55. uuid: "fb6efcc4bba0386522cc03d42ec3885d"
  56. }))
  57. flvPlayer.unload();
  58. flvPlayer.detachMediaElement();
  59. flvPlayer.destroy();
  60. })
  61. function startSocket() {
  62. try {
  63. let videoWin = document.getElementById("VideoRealPlay");
  64. if (flvjs.isSupported()) {
  65. let websocketName = "ws://39.98.35.167:9988/real_play/52b2015f0f2c8ff7387a70da6674a310/gzyz/fb6efcc4bba0386522cc03d42ec3885d/P/0/2/1";
  66. flvPlayer = flvjs.createPlayer({
  67. type: "flv",
  68. //是否是实时流
  69. isLive: true,
  70. //是否有音频
  71. hasAudio: false,
  72. url: websocketName,
  73. enableStashBuffer: true,
  74. }, {
  75. enableStashBuffer: false,
  76. stashInitialSize: 128,
  77. });
  78. flvPlayer.on("error", (err) => {
  79. console.log("err", err);
  80. });
  81. flvjs.getFeatureList();
  82. flvPlayer.attachMediaElement(videoWin);
  83. flvPlayer.load();
  84. flvPlayer.play();
  85. return true;
  86. }
  87. } catch (error) {
  88. console.log("连接websocket异常", error);
  89. return false;
  90. }
  91. }
  92. </script>
  93. </body>
  94. </html>