我的小电脑(类似的Arduino和树莓派)与 Linux的相机并在其上的GStreamer 安装。
我需要使用 WebRTC 技术将 h264 视频从该设备传输到浏览器。另外,我使用 NodeJS 作为信令服务器。

简单来说,我需要从我的设备上做一个 WebRTC 客户端。做这个的最好方式是什么?我可以使用 WebRTC Native API 来实现这个目标吗?如何在我的小型设备上安装它?或者,也许,我只需要玩我的 gstreamer 并为其安装一些 webrtc 插件?

最佳答案

由于无论如何您都必须使用信令服务器,因此我会说您应该使用 Janus-Gateway 。您提到了用于信令服务器的 CentOS,如果它专门在 CentOS 上运行,我不是 100%,但我已经在 Debian Jessie 构建中成功运行了它,只需安装一些依赖项。

Janus 处理与网关建立的整个调用(信令和一切)。因此,可能必须进行一些端口转发,以便进行 SDP 交换(您将不得不担心任何信令服务器)。

  • 安装网关,有一些依赖,但都很简单
    安装
  • 看看 janus_streaming 插件。它有一个 gstreamer 示例,它将从 gstreamer 管道进行流式传输。此外,streamingtest demo page 以查看 Javascript API 如何为该插件工作
  • 该插件监听配置文件中给出的那些端口,并将接受来自任何 IP 地址的流量。因此,我希望您可以在同一网络上的不同机器上运行 gstreamer 管道并将其发送到插件。

  • 注意:您必须修改 JavaScipt 发送到网关的 SDP,使其包含 H264(可能也删除所有其他编解码器以强制协商)。您可以通过传递给 janus JavaScript API ( jsep ) 中 createOffer 函数的成功案例的 jsep.sdp 对象访问 sdp 来完成此操作。

    关于gstreamer - Linux 设备上的 WebRTC 和 gstreamer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25463064/

    10-14 09:32