91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在HTML5中使用websocket實現直播功能

發布時間:2021-05-22 16:18:22 來源:億速云 閱讀:388 作者:Leah 欄目:web開發

這篇文章給大家介紹怎么在HTML5中使用websocket實現直播功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

錄像頁面HTML結構

<video autoplay id="sourcevid" style="width:1600;height:900px"></video>  
    <canvas id="output" style="display:none"></canvas>

錄像頁面js

<script type="text/javascript" charset="utf-8">  
        //創建一個+實例  
        var socket = new WebSocket("ws://"+document.domain+":8080");  
        var back = document.getElementById('output');  
        //返回一個用于在畫布上繪圖的環境。  
        var backcontext = back.getContext('2d');  
        var video = document.getElementsByTagName('video')[0];  
        var success = function(stream){  
            //獲取視屏流,轉換為url  
            video.src = window.URL.createObjectURL(stream);  
        }  
        //打開socket  
        socket.onopen = function(){  
            draw();  
            console.log("open success")  
        }  
        // 將視頻幀繪制到Canvas對象上,Canvas每100ms切換幀,形成肉眼視頻效果    
        var draw = function(){  
            try{  
                backcontext.drawImage(video,0,0, back.width, back.height);  
            }catch(e){  
                if (e.name == "NS_ERROR_NOT_AVAILABLE") {  
                    return setTimeout(draw, 100);  
                } else {  
                    throw e;  
                }  
            }  
            if(video.src){  
                // Canvas的內容轉化成PNG data URI并發送到服務器,0.5為和壓縮系數  
                socket.send(back.toDataURL("image/jpeg", 0.5));  
            }  
            setTimeout(draw, 100);  
        }  
        //調用設備的攝像頭,并將資源放入video標簽  
        navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||  
        navigator.mozGetUserMedia || navigator.msGetUserMedia;  
        navigator.getUserMedia({video:true, audio:false}, success, console.log);  
    </script>

直播頁面HTML結構:

<img id="receiver" style="width:1600px;height:900px"/>

直播頁面JS

<script type="text/javascript" charset="utf-8">  
        //創建一個socket實例  
        var receiver_socket = new WebSocket("ws://"+document.domain+":8008");  
        alert("ws://"+document.domain+":8008")  
        var image = document.getElementById('receiver');  
         // 監聽消息  
        receiver_socket.onmessage = function(data)  
        {  
            image.src=data.data;  
        }  
    </script>

關于怎么在HTML5中使用websocket實現直播功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安义县| 汤阴县| 麻阳| 松阳县| 丹棱县| 浮山县| 兴城市| 绩溪县| 宁波市| 武平县| 南昌县| 长白| 剑阁县| 白银市| 磴口县| 西丰县| 绿春县| 临澧县| 沭阳县| 沿河| 上林县| 台中市| 固始县| 张家口市| 彭山县| 太仓市| 华亭县| 岢岚县| 嘉善县| 龙海市| 孟州市| 泸定县| 册亨县| 新营市| 隆尧县| 阿拉善盟| 界首市| 新余市| 杭锦后旗| 南漳县| 丰镇市|