https://github.com/stevendesu/webrtc-failure
我正在学习WebRTC,长期以来我想做一些有趣的事情,但现在我开始做的很简单:从一台电脑发送视频到另一台电脑。不幸的是,这失败了。这是我到目前为止设置的内容。。。
-
在我自己的开发服务器上安装
coturn
充当眩晕/转身服务器
-
我创建了两个页面:
broadcast.html
和
watch.html
. 前者创建媒体流,并(使用Socket.IO)将连接细节发送到信令服务器。后者从信令服务器获取连接详细信息,并尝试监视流
运行后
npm install
你可以
npm start
localhost:2017
.
那么这是什么
作品
:
-
打开后
广播html
系统会提示您输入广播ID。您可以在此处键入任何内容,但我通常只执行递增数字-因此我从“1”开始
-
在输入广播ID并进行短暂延迟后,您会在屏幕上看到您的网络摄像头提要。查看控制台,您可以看到已与套接字交换了多条消息。IO服务器
-
如果你打开
看html
在新选项卡中,系统会提示您输入广播ID。请输入与之前相同的ID
-
输入ID后,稍加延迟,您将在新选项卡上看到网络摄像头提要。查看控制台,您可以看到早期的ICE候选人和报价详细信息是通过套接字发送的。IO服务器和观察者给出了回答
-
返回广播选项卡,您可以验证是否已接收并处理了答案。现在已建立连接
-
pc
变量在全局范围内(对等连接),因此在控制台中,您可以建立RTCDataChannel并直接在选项卡之间发送消息(绕过Socket.IO服务器)
这是什么
不
工作:
-
看html
佩奇实际上可以看到广播。它不是“广播”,只是点对点,一旦建立了一个连接,未来的连接就会失败
-
我的问题
:如果我打开
看html
从不同的计算机或设备(在同一网络或不同的网络上)播放视频时,视频永远不会播放
在后一种情况下,如果您查看控制台,您将看到报价和ice候选人被交付给观察者,观察者生成答案,答案被发送回广播公司,观察者看到媒体流添加到对等连接。该媒体流被转换为blob URL,并被指定为视频元素的源。
我正处于一个不知道如何进步的阶段。我不知道为什么视频没有出现。