![](/img/trans.png)
[英]emitting both webcam stream and chat to specific room using socket.io nodejs
[英]Stream WebCam using socket.io
我一直在嘗試實現一個能夠處理以下場景的 Web 應用程序:
把它放在一些更具體的上下文中...... 場景是有一個人為他選擇的用戶創造了一個房間。 選定的用戶加入房間后,創建者開始從他/她的內置設備(網絡攝像頭)流式傳輸視頻/音頻。 所有客人都實時接收數據,而且數據正在發送到存儲它的服務器,以便在流和房間關閉后可以恢復。
我正在考慮將 Socket.IO 與 WebRTC 混合使用。 從理論上講,這兩者的結合似乎非常適合這項工作。 Socket.IO 非常適合通過將一些套接字分配給房間來收集特定的用戶集以及 WebRTC 要求的信號處理。 同時,WebRTC 非常適合聚集在同一個房間的用戶之間的 P2P 連接,訪問網絡攝像頭和我可能想要使用的其他內置設備也非常容易。
所以是的,理論上一切看起來都不錯,但我真的需要看到一些代碼在運行,這樣我才能真正嘗試自己實現它。 此外,我看到了一些問題:
我一直在尋找一些不錯的解決方案,但沒有任何成功。 我已經看到有一個為 socket.io 制作的不錯的 P2P 解決方案: http ://socket.io/blog/socket-io-p2p/。 問題是 - 我認為它不能很好地處理數據流。 這些例子只提到了簡單的聊天應用程序,我需要比這更重的東西。
我真的很感謝一些具體的例子,文檔,任何可能讓我更接近它的實現的東西,因為我真的不知道如何處理它。
提前致謝:)
您的任務可以通過使用開源 WebRTC 服務器之一來解決。 例如, kurento 。
您可以實現流的模式:
客戶端將通過 WebRTC 服務器相互連接。 因此,在服務器端,您可以記錄流,或將其發送以進行轉碼。
webSocket 用於與服務器通信。
您可以根據您的任務找到一些示例
視頻流向多個用戶是一個非常困難的問題,不幸的是需要大量的基礎設施才能實現。 您將無法通過 websocket 流式傳輸視頻數據。 WebRTC 也不是您所描述的可行解決方案,因為正如您所提到的,WebRTC 協議是 P2P,因為在流媒體中,用戶需要與所有“觀眾”建立直接連接。 這顯然不會超過少數“觀眾”。 WebRTC 更適用於直接視頻通話,例如在 Skype 中。
這里有一篇文章描述了一個有點流行的實時流媒體服務所使用的架構。 如您所見,實現任何規模的實時視頻都需要大量資源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.