webrtc - 使用php或node.js的信令服务器

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (112)

我正在尝试构建一个简单的视频流媒体网络应用程序,其中一个用户(聊天室所有者)从他的网络摄像头广播视频,其他用户(聊天室成员)能够实时看到它

我已经对谷歌进行了大量的研究,所以我发现我需要的是:

- 获取适配器的adapter.js文件(不知道从哪里获取它)

- 从网络摄像头获取视频流

- 将其发送到服务器

- 让服务器将其发送给某些用户

- 客户端接收该视频流并将其显示在<video>标记内

我只能做第一步,我在网上找到的例子清晰简单

对于其他步骤,我在网上找到的所有示例都解释了如何在一个页面上本地执行此操作,但我想远程执行此操作,甚至按照O'reilly WebRTC中的指南进行操作

我不知道我应该在服务器端代码写什么或如何发送接收的视频流(我有一些例子,但我不明白代码)

我不知道客户端将如何接收该流(没有找到该示例的示例,所有示例都在同一页面上发送和接收视频)

任何人都可以帮助,我的服务器端语言是PHP但我可以切换到Node.js,如果这是必须的

提问于
用户回答回答于

所以,你似乎在寻求帮助,而且你有很多问题。

关于本地或远程:它是否仅适用于您的计算机或服务器没有区别。通常,您在计算机上本地测试内容,然后将其置于联机状态。您通常不需要更改代码(URL等设置除外)以使其在服务器上运行。

你说你不知道你应该在服务器代码上写什么。好吧,它仅用于信令,因此任何两个浏览器都应该能够进行通信。通常使用websockets完成,并使用少于10行的node.js代码进行编码; 这里有很多小例子,就像这里一样。你说你的主服务器语言是PHP; 这是具有挑战性的,因为PHP无法使用没有命令行访问的websockets。如果您有常规的共享托管PHP访问,则可以使用http://github.com/nielsbaloe/webrtc-php上的示例,该示例使用ServerSideEvents。

您想知道客户端将如何接收流。好吧,浏览器负责流。你只需要照顾握手。因此,当你有两个浏览器的代码运行时(就像在我的例子中一样),对于更多客户端来说它是完全相同的代码,你可以扩展它以便有一个发送者和多个查看者。

用户回答回答于

我在线回答你的问题

  1. 您可以从https://github.com/webrtc/adapter/tree/master/release获取adapter.js文件
  2. 要从网络摄像头获取视频流,请使用getUserMedia API,请参阅演示
  3. 要将视频流式传输给观众,请使用PeerConnection
    • WebRTC没有定义特定的信令,您可以使用任何信令在p2p中使用任何服务器(node / php)在发布者和查看者之间交换提议/答案/候选者。查看官方复杂演示并获取源代码
    • 如果您想要流式传输到多个观看者,那么您需要一个媒体服务器,请参阅演示JanusJitsi

您可以在此处找到更多资源

扫码关注云+社区

领取腾讯云代金券