3

几天以来,我正在尝试构建一个基本的 webRTC 视频聊天。我有一些本地运行的演示,甚至通过局域网。但是现在我想在真正的基础上一个一个地构建,而不需要太多的 Demo 附带的过载。

但我仍然没有得到完整的对等连接。

例如。这个例子似乎被打破了,因为我不能“createSignalingChannel();” w3.org/TR/webrtc/#simple-example

其他一些示例(https://webrtc-experiment.appspot.com/)希望我链接他们的脚本,但我不会这样做,因为我想了解对等连接的魔力以及如何在 2 个浏览器之间进行握手.

我还探索了 Google App Engine 的示例,但这不是我想要的。

我想在最简单的 JS 和 HTML 中运行它。

这是我的代码: https ://github.com/mexx91/basicVideoRTC 编辑:现在应该可以使用

那么我必须添加什么来获得握手和对等连接,以便我可以发送例如。媒体流到彼此。

非常感谢!

4

2 回答 2

3

createSignalingChannel()只是伪代码来说明单独通道的存在。您需要为初始连接处理单独的消息通道。

您可以使用 Pusher、Brightcontext 或 PubNub 等托管服务来实现这一目标,或者您可以使用 socket.io 或 SignalR 等开源项目托管您自己的后端。

然后,您只需通过您单独的渠道发送报价、答案和 iceCandidates。

实时服务列表:http: //www.leggetter.co.uk/real-time-web-technologies-guide

于 2013-03-20T18:09:10.897 回答
1

想象一个视频会议网络应用程序,用户 A 和 B 最初从某个网络服务器访问该应用程序。假设 Web 应用程序支持在线状态,因此 Web 服务器知道谁当前在线。Imahine UI 允许 A 尝试向 B 发起视频呼叫。通过说 XMLHttpRequest(),A 的浏览器会通知服务器这是需要的,B 的 javascript 会弹出一些内容,说 A 想要呼叫 B。根本没有发生 WebRTC然而。但是在这个阶段,A 可以通过使用 XMLHttpeRequest 等发送消息来间接地与 B 通信。用 WebRTC 的说法,这是“信号通道”。因此,A 和 B 都可以与他们的 ICE 代理交互以发现候选地址和 SDP 描述,并通过服务器通过这个信号通道将这些发送给每个其他人。例如 A 上的 Web 应用程序调用 WebRTC API 来获取它的 ICE 候选者,并将它们打包成它认为合适的,发送给 B。B 的阅读器从服务器接收到这条消息(例如,通过 WebSocket 或长轮询),因此它可以解压,并根据需要格式化,使用 RTCPeerConnection 对象发送到 B 上的 ICE 代理。同样,SDP offer/answer 可以在两个应用程序之间发送,并传递到浏览器中的 ICE agnet,以获得同意的媒体格式等。在那个阶段,媒体连接可以由浏览器设置 uo(添加 meida 流最初到 RTCPeerConnection (它们不通信,但是具有可以查询以描述编解码器等的属性,并且当要求 API 创建 SDP 描述时,它使用这些属性来执行此操作,

于 2013-08-09T18:36:05.503 回答