【问题标题】:Is it possible to do WebRTC browser to native (C, C++ or other)?是否可以将 WebRTC 浏览器转换为原生(C、C++ 或其他)?
【发布时间】:2014-08-05 12:20:03
【问题描述】:

我见过几个浏览器原生 WebRTC 应用程序的例子,例如将存储在服务器上的视频文件流式传输到一个或多个浏览器,但是否可以进行反向操作 em> ? IE。将网络摄像头从浏览器传输到服务器,用 C、C++、Java 或其他语言编写?

【问题讨论】:

  • 有可能,您可以使用网关(如JanusLicode,或native API。您在实施或预见到哪些具体问题?
  • 关于本机 API,您建议我如何继续使用它编写小型服务器?因为就在 [code.google.com/p/webrtc/source/browse/… 部分)中,有 100 多个文件,我完全不知道如何使用它们中的任何一个来创建服务器。我完全迷路了。在我看来,所有 SVN 存储库就像一个完整的、巨大的包,但我不可能需要所有 100 多 MB 的代码来编写一个可以通过 WebRTC 从浏览器接收视频帧的简单服务器。那么你能解释一下我应该从哪里开始吗?
  • Erizo 端点也处于早期阶段。 API 肯定是一个怪物,但使用 Peerconnection 示例应该会向您展示最少需要什么,您可以扔掉其余的(使用您自己的媒体堆栈)。您也可以只创建自己的端点,唯一困难的部分是处理 DTLS 交换和 ICE 收集。我提到的两个网关中都使用简单的 C 或 C++ 进行这两种操作的示例。
  • 对于 API,它非常独立,从中获取 RTP 需要一些黑客攻击(你可以使用 this part of the API...我自己不是它的粉丝,而且没有关于如何使用它的真正好的解释,但我知道这是可能的。LibJingle 是 WebRTC 过去所称的,它已被弃用。服务器几乎只是信号服务器,供两个客户端使用。
  • 听上去,您需要的是在服务器上运行的 PeerConnection 客户端和发送协商的媒介。 (可以是同一台服务器)。如果我没记错的话,该示例对客户端“交换”服务器连接使用长轮询。我之前已经在这样的配置中实现了原始示例和 XMPP 版本,如果您有具体问题,请告诉我。至于抓拍部分。我在服务器上也做到了这一点,并且不得不稍微破解 WebRTC 来获得它。我可以指出你需要去的地方,这取决于你想要捕捉什么格式。

标签: c++ c webrtc rtp


【解决方案1】:

有可能。

WebRTC 使用开放标准通过网络传输内容。您可以在以下 RFC 中找到所有详细信息: http://tools.ietf.org/wg/rtcweb/

如果您想编写自己的本机应用程序来接收(甚至发送)WebRTC 媒体,您可以从此处获取 WebRTC 本机代码:http://www.webrtc.org/webrtc-native-code-package 并将其构建到您的解决方案中,或者使用现有的 SDK 之一可以为您提供此功能(取决于您希望本地应用程序在哪个平台上运行)。

如果您想将 WebRTC 连接到现有硬件(例如 SIP 桌面电话),您将需要某种网关,该网关的一个分支将与浏览器上的 WebRTC 通信,另一分支将与您的SIP 电话。

已经有很多商业解决方案,但最终都归结为您的需求。

【讨论】:

  • 谢谢,我会调查的。但是该死的,我怎么会错过那个页面(包含所有 RFC 的那个页面)。我一直在寻找那个很长时间。谢谢。
  • 您有兴趣回答这个问题吗:How to integrate part of WebRTC as a static / dynamic library with the existing C++ code?。正如this question 中所要求的那样,我的主要兴趣是解密 voip 日期。但是,考虑到 DTLS-SRTP 的复杂性,我想到了走 WebRTC 的 C++ API 方式。如果您能提供一些见解,它将有很大帮助。谢谢。 @nschoe
猜你喜欢
  • 2023-03-03
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-29
  • 2016-01-30
  • 2011-11-21
相关资源
最近更新 更多