正在接收来自C++本机Windows应用程序的WebRTC调用

Receiving WebRTC call from a C++ native Windows application

本文关键字:应用程序 Windows WebRTC 调用 本机 C++      更新时间:2023-10-16

我希望从使用C++的本机Windows应用程序接收从位于远程位置的浏览器发送的视频/音频数据。WebRTC似乎是实现这一目标的途径。

我发现的大多数信息都是关于如何与浏览器交互以编写WebRTC应用程序,但数据可能会被我的C++应用程序接收。我需要使用WebRTC Native Code包来实现这一点,这被描述为"面向浏览器开发人员",这正确吗?文件位于此处:http://www.webrtc.org/webrtc-native-code-package

如果我想发送我生成的视频/音频数据(即不是直接来自网络摄像头和麦克风),我能把它发送到远程位置浏览器吗?

有没有像我试图完成的那样的示例代码?

该链接中的措辞有点误导。他们希望开发浏览器的人使用本机代码,并建议在浏览器中开发"应用程序"的人使用WebRTC API。

我已经使用他们的原生代码开发了一年多的Android应用程序,该应用程序能够在其他Android设备和浏览器之间执行音频和/或视频通话。因此,我非常确信,完全有可能使用他们的本地代码来创建Windows应用程序(尤其是因为他们有针对Linux和Mac的示例代码——请查看对等连接客户端和对等连接服务器)。您可能需要反复编写代码才能使其在Windows上运行。

至于您生成的As数据。在我合作的Android项目中,我们不依赖Android设备/系统为我们提供视频,我们使用"LibJingle"/WebRTC库捕获并发送视频。所以,我知道这是可能的,只要你以正确的格式向库提供视频数据。我可以想象一个人也可以对音频做同样的事情,但我们从来没有摆弄过,所以我不能肯定。

作为示例代码,我只能推荐Luke Weber的gitbug存储库。虽然这是针对Android的,但看看他如何与这两个库接口可能会有所帮助。也许更好的代码是本机代码的"LibJingle"第二部分中的对等连接客户端内容。[edit]:位于/talk/examples/peerconnection/client/中。

如果你对我使用"LibJingle"感到困惑,这将向你展示我是何时开始使用所有这些代码的。2013年7月左右,他们将"LibJingle"迁移到WebRTC的"talk"文件夹中。从我所看到的一切来看,它们都是一样的,只是位置和名称发生了变化。