用于广播流媒体视频的WebRTC或WebSockets?

时间:2017-10-04 02:39:25

标签: javascript node.js websocket architecture webrtc

我的架构是[MediaRecorder]:

circo

一台笔记本电脑[广播]将两个视频和两个音频流传输到所有[JavaScript]客户端。另外,我有一个WebSockets连接用于聊天。

服务器[用Node.JS编写]必须:

相关:{{3}}

2017年底,哪种技术对这种通用架构最有意义?

2 个答案:

答案 0 :(得分:1)

WebRTC和WebSockets都是一个很好的技术选择。当您构建WebRTC服务时,有两个不同的部分;对等连接和信令服务器。信令服务器处理对等体之间的所有元数据传输(因此它们可以在对等连接进行之前进行通信)。通常,您将拥有用于接收事件的WebSocket连接和用于发送事件的REST API。

听起来你所要求的是媒体服务器。媒体服务器使WebRTC连接到对等到媒体服务器到对等连接,而不是对等连接。由于所有媒体都通过媒体服务器,因此您可以记录所有流量(音频/视频/数据),并且无需在客户端使用MediaRecorder。

对于音频/视频流的单向通信,您不需要在服务器端提供任何特殊支持,这可以通过WebRTC在客户端完成。

关于媒体服务器,我一直在关注https://github.com/versatica/mediasoup/,因为它们似乎被大量使用并维护了很长时间。

答案 1 :(得分:0)

Websockets是一个10年前的概念,WebRTC是相当新的(几年),但在所有现代浏览器中都可用:Chrome,Firefox,Edge。总的来说,我认为WebRTC旨在取代Websockets。现在它已经在浏览器中使用了一年或更长时间,它是一个相当成熟和稳定的解决方案。