【问题标题】:webrtc - signaling server with php or node.jswebrtc - 带有 php 或 node.js 的信号服务器
【发布时间】:2017-06-13 22:16:39
【问题描述】:

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

我对谷歌做了很多研究,所以我发现我需要的是:

      - 获取adapter.js文件以获得兼容性(不知道从哪里获取)

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

      - 将其发送到服务器

      - 让服务器将其发送给特定用户

      - 客户端接收该视频流并将其显示在

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

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

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

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

谁能帮忙,我的服务器端语言是 PHP,但如果必须的话,我可以切换到 Node.js

【问题讨论】:

  • 使用 PHP 你有一个服务器;您编写脚本以在服务器上运行。使用 node.js 你也可以编写服务器。
  • 我知道,你有代码的工作示例吗?
  • “从网络摄像头获取视频流” 除了客户端语言之外,还需要 Flash 或其他一些插件。 “客户端接收该视频流并将其显示在 不。不可能的。需要 Flash、Silverlight 或其他一些 ActiveX 插件。
  • @developerwjk 你完全不知道你在说什么。
  • WebRTC 似乎是最方便的方式,我不关心技术我只需要它工作

标签: php node.js streaming video-streaming webrtc


【解决方案1】:

我在线回答你的问题

  1. 您可以从https://github.com/webrtc/adapter/tree/master/release获取adapter.js文件
  2. 要从网络摄像头获取视频流,请使用getUserMedia API,请参阅demo

  3. 要将视频流式传输给观众,请使用PeerConnection

    • WebRTC 没有定义特定的信号,您可以使用任何信号在 p2p 中使用任何服务器(节点/php)在发布者和查看者之间交换报价/答案/候选人。查看官方综合demo 并获取source

    • 如果您想向多个观众流式传输,则需要media server,请参阅演示JanusJitsi

您可以找到更多资源here

【讨论】:

  • 我已经看到了这些链接,它们并没有太大帮助,这就是我首先提出问题的原因
【解决方案2】:

所以,您似乎在寻求帮助,但您有很多问题。

关于本地或远程:它是否仅适用于您的计算机或服务器没有区别。通常你在你的计算机上本地测试东西,然后你把它放到网上。您通常无需更改代码(URL 等设置除外)即可使其在服务器上运行。

你说你不知道你应该在服务器代码上写什么。好吧,它只是为了发信号,所以任何两个浏览器都应该能够通信。通常使用 websockets 完成,node.js 的代码不到 10 行;有很多这样的小例子,比如 here 。你说你的主要服务器语言是 PHP;这很有挑战性,因为 PHP 不能在没有命令行访问的情况下使用 websocket。如果您有常规的共享托管 PHP 访问权限,则可以使用我在 http://github.com/nielsbaloe/webrtc-php 的示例,它使用 ServerSideEvents。

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

【讨论】:

    猜你喜欢
    • 2014-07-06
    • 1970-01-01
    • 2020-10-28
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多