<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Aisky-coffee</title> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- 新 Bootstrap4 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.1.0/css/bootstrap.min.css"> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <!-- popper.min.js 用于弹窗、提示、下拉菜单 --> <script src="https://cdn.bootcss.com/popper.js/1.12.5/umd/popper.min.js"></script> <!-- 最新的 Bootstrap4 核心 JavaScript 文件 --> <script src="https://cdn.bootcss.com/bootstrap/4.1.0/js/bootstrap.min.js"></script> <!--可用來建立使用者小圖示--> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <style> body { margin: 0; } .navbar-dark .navbar-nav .nav-link { color: white; cursor: pointer; text-decoration: none; width: 110px; height: 46px; } .nav-top { line-height: 40px; background-color: #C4C4C4; } .website_title { font-family: Roboto; font-style: normal; font-weight: normal; font-size: 30px; color: #000000; } .navbar-nav>li { float: none; display: inline-block; width: 100px; margin: 0 auto; text-align: center; } .navbar-nav>li a { font-size: 20px; } .main-page { margin-top: 200px; } .page-title { font-family: Roboto; font-style: normal; font-weight: bold; font-size: 36px; } .flex { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; } .set-link { display: inline-block; width: 350px; height: 100px; line-height: 100px; background: #008CBA; border: 1px solid #CFCFCF; box-sizing: border-box; color: #FFFFFF; border-radius: 10px; font-size: 36px; } @media(max-width:373px) { .card { margin-right: 0px; } } @media(max-width:577px) {} @media(min-width:576px) {} @media(min-width:768px) { .navbar-nav>li { margin-left: 0px; } .navbar-nav .li-block { display: none; } } @media(min-width:991px) { .navbar-nav>li { margin-left: 20px; } .navbar-nav .li-block { display: none; } } @media(min-width:1200px) { .navbar-nav>li { margin-left: 50px; } .navbar-nav .li-block { display: inline-block; width: 100px; } } @media(min-width:1400px) { .navbar-nav .li-block { display: inline-block; width: 200px; } } @media(min-width:1689px) { .navbar-nav>li { margin-left: 50px; } .navbar-nav .li-block { display: inline-block; width: 500px; } } </style> <script> /* <!--//影像串流--> <!--function Btx() {--> <!--console.log('test');--> <!--console.log(document.getElementById("img3"));--> <!--document.getElementById("img3").src = "{{url_for('main.video_feed_views')}}";--> <!--$.get("/udp_client",'OK' , function(resText){--> <!--console.log(resText);--> <!--}, 'text');--> <!--};--> <!--function Btn() {--> <!--document.getElementById("img3").src = "../static/img/PV.jpg";--> <!--$.post("/udp_client", "OK", function(){--> <!--console.log(resText);--> <!--}, 'text');--> <!--$.post('/video_feed', "OK", function(){--> <!--console.log(resText);--> <!--}, 'text');--> <!--};--> */ </script> </head> <body> <nav class="fixed-top"> <nav class="navbar navbar-expand-md nav-top justify-content-center"> <div> <span class="website_title">影像串流</span> </div> </nav> <nav class="navbar navbar-expand-md bg-dark navbar-dark nav-bottom"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="collapsibleNavbar"> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" href="/">首頁</a> </li> <li class="nav-item"> <a class="nav-link" href="#">關於我們</a> </li> <li class="nav-item"> <a class="nav-link" href="#">資訊</a> </li> <li class="nav-item"> <a class="nav-link" href="#">聯絡方法</a> </li> <li class="nav-item"> <a class="nav-link" href="/cargo_list">咖啡貨櫃</a> </li> <li class="nav-item"> <a class="nav-link" href="/video">影像串流</a> </li> <li class="li-block"></li> <li class="nav-item"> <a class="nav-link" href="#"><i class="fa fa-user-o"></i> {{params.username}}</a> </li> <li class="nav-item"> <a class="nav-link" href="/logout">Logout</a> </li> </ul> </div> </nav> </nav> <div class="main-page"> <!--<form method="" action="">--> <div class="container-fluid"> <div class="row" style="margin-top:100px;"> <div class="col flex"> <!--<div class="col-xl-3 col-lg-6 col-md-6 col-sm-12 col-xs-12" style="margin-right: 20px ;margin-left: 20px; margin-top:20px; margin-bottom:20px;">--> <!--<div class="page-title text-center">--> <!--<a class="set-link" type="button" href="/learn">1.CNN</a>--> <!--</div>--> <!--</div>--> <!--<div class="col-xl-3 col-lg-6 col-md-6 col-sm-12 col-xs-12" style="margin-right: 20px ;margin-left: 20px; margin-top:20px; margin-bottom:20px;">--> <!--<div class="page-title text-center">--> <!--<a class="set-link" type="button" href="/learn">2.KNN</a>--> <!--</div>--> <!--</div>--> <!--<div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-xs-12" style="margin-right: 20px ;margin-left: 20px; margin-top:20px; margin-bottom:20px;"></div>--> <!--<div class="col-md-12" style="text-align:center;margin-top:5px;">--> <!--<img id="img3" src="../static/img/PV.jpg" style="max-width:100%;height:auto;">--> <!--</div>--> <!--<div class="col-md-12 row" style="text-align:center;margin-top:5px;">--> <!--<div class="col-md-6" style="text-align:center;margin-top:5px;">--> <!--<button id="btn" style="font-size:20px" onclick="Btn()">關閉</button>--> <!--</div>--> <!--<div class="col-md-6" style="text-align:center;margin-top:5px;">--> <!--<button id="btx" style="font-size:20px" onclick="Btx()">影像串流</button>--> <!--</div>--> <!--</div>--> <div class="col-md-12 row flex" style="text-align:center;margin-top:5px;"> <div class="col-md-4 row flex"> <img src="" id="one" width="320" height="240"> </div> <div class="col-md-4 row flex"> <img src="" id="two" width="320" height="240"> </div> <div class="col-md-4 row flex"> <img src="" id="three" width="320" height="240"> </div> </div> <div class="col-md-12 row flex" style="text-align:center;margin-top:5px;"> <div class="col-md-4 row flex"> <img src="" id="four" width="320" height="240"> </div> <div class="col-md-4 row flex"> <img src="" id="five" width="320" height="240"> </div> <div class="col-md-4 row flex"> <img src="" id="six" width="320" height="240"> </div> </div> </div> </div> </div> <!--</form>--> </div> </body> <script> const img = document.querySelector('#one'); const WS_URL = 'ws:///60.250.156.230:8088'; const ws = new WebSocket(WS_URL); let urlObject; ws.onopen = () => console.log(`Connected to ${WS_URL}`); ws.onmessage = message => { const arrayBuffer = message.data; if (urlObject) { URL.revokeObjectURL(urlObject); } urlObject = URL.createObjectURL(new Blob([arrayBuffer])); img.src = urlObject; } const img1 = document.querySelector('#two'); const WS_URL1 = 'ws:///60.250.156.230:8089'; const ws1 = new WebSocket(WS_URL1); let urlObject1; ws1.onopen = () => console.log(`Connected to ${WS_URL1}`); ws1.onmessage = message1 => { const arrayBuffer1 = message1.data; if (urlObject1) { URL.revokeObjectURL(urlObject1); } urlObject1 = URL.createObjectURL(new Blob([arrayBuffer1])); img1.src = urlObject1; } const img2 = document.querySelector('#three'); const WS_URL2 = 'ws:///60.250.156.230:8090'; const ws2 = new WebSocket(WS_URL2); let urlObject2; ws2.onopen = () => console.log(`Connected to ${WS_URL2}`); ws2.onmessage = message2 => { const arrayBuffer2 = message2.data; if (urlObject2) { URL.revokeObjectURL(urlObject2); } urlObject2 = URL.createObjectURL(new Blob([arrayBuffer2])); img2.src = urlObject2; } const img3 = document.querySelector('#four'); const WS_URL3 = 'ws:///60.250.156.230:8091'; const ws3 = new WebSocket(WS_URL3); let urlObject3; ws3.onopen = () => console.log(`Connected to ${WS_URL3}`); ws3.onmessage = message3 => { const arrayBuffer3 = message3.data; if (urlObject3) { URL.revokeObjectURL(urlObject3); } urlObject3 = URL.createObjectURL(new Blob([arrayBuffer3])); img3.src = urlObject3; } const img4 = document.querySelector('#five'); const WS_URL4 = 'ws:///60.250.156.230:8092'; const ws4 = new WebSocket(WS_URL4); let urlObject4; ws4.onopen = () => console.log(`Connected to ${WS_URL4}`); ws4.onmessage = message4 => { const arrayBuffer4 = message4.data; if (urlObject4) { URL.revokeObjectURL(urlObject4); } urlObject4 = URL.createObjectURL(new Blob([arrayBuffer4])); img4.src = urlObject4; } const img5 = document.querySelector('#six'); const WS_URL5 = 'ws:///60.250.156.230:8093'; const ws5 = new WebSocket(WS_URL5); let urlObject5; ws5.onopen = () => console.log(`Connected to ${WS_URL5}`); ws5.onmessage = message5 => { const arrayBuffer5 = message5.data; if (urlObject5) { URL.revokeObjectURL(urlObject5); } urlObject5 = URL.createObjectURL(new Blob([arrayBuffer5])); img5.src = urlObject5; } </script> </html>