html - 现在是否可以使用 GetUserMedia API 从网络摄像头读取视频流并将其直接发送到服务器以进行进一步广播?

标签 html node.js websocket webrtc getusermedia

<分区>

我需要构建一个 Web 应用程序,使用 WebRTC 获取网络摄像头视频流和麦克风音频流,并立即将其转换到服务器以进一步广播到多个客户端。该应用程序必须以全双工方式实时进行。我的意思是这将是一种实时视频聊天。这将是某种教育应用程序。 所以问题是:现在可能吗?我应该使用什么技术? 我应该在后端使用带有 WebSocket 和 Node.js 的 WebRTC 吗?或者我可以使用 php 而不是 node 吗?我可以为此使用 Socket.io 吗?还有其他方法可以实现这一目标吗?可能是闪光灯?

最佳答案

WebRTC 中的 PeerConnection API 不需要后端服务器来进行对等点之间的一个或多个连接。

您唯一需要后端服务器的是充当首先在对等点之间建立连接的中介。为此,您可以使用 WebSocket API、Ajax 或实现此目的所需的任何其他方式。另外,是的,您可以使用 PHP 为 WebSocket 编写服务器端(或者您想要用来建立对等连接的任何方法)。这完全取决于您。

目前,只有 Chrome 和 Firefox 支持足够的 WebRTC API,使视频聊天成为可能。不过很快,Opera 可能会加入其中,但还没有人确定 WebRTC 是否会添加到 IE11 中,Apple 似乎也无意在短期内将 WebRTC 添加到 Safari(因为他们有自己的专有技术那个;听起来很熟悉?!)。

无论如何,WebRTC 是您最好的选择。作为补充说明,我认为不可能使用 JS 将视频和音频发送到服务器,然后让服务器将该数据转发给其他对等方。相反,您需要使用 WebRTC 建立点对点连接,然后从那里开始。

编辑:如果您使用 TURN 服务器,您可以通过服务器重新路由您的音频和视频数据,但这实际上是最不理想的情况,您仍然只能这样做使用 WebRTC API。

关于html - 现在是否可以使用 GetUserMedia API 从网络摄像头读取视频流并将其直接发送到服务器以进行进一步广播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17886803/

相关文章:

html: 'form'对页面布局有什么影响

html - 无法在屏幕中居中 div

javascript - 下拉菜单的jQuery问题

c++ - 如何处理多个 websocket++ 选项卡/窗口?

c - 在嵌入式系统上使用 gsm 模块实现 WebSocket 客户端

javascript - 使用 AJAX 重新加载 html 页面

javascript - 数据关闭时 npm run watch 无法编译

javascript - 你如何在 Jakefile 中编译 CoffeeScript?

node.js - 如何使用 Google Home (DialogFlow) 在 NodeJS 中设置 session 变量

node.js - 最大限度减少实时连接延迟的技术