| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364 | <!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>
 |