从C ++本机Windows应用程序接收WebRTC调用

时间:2014-04-24 18:04:41

标签: c++ windows webrtc

我希望从使用C ++的本机Windows应用程序接收从位于远程位置的浏览器发送的视频/音频数据。似乎WebRTC就是这样做的。

我发现的大多数信息都是关于如何与浏览器交互来编写WebRTC应用程序,但可能是我的C ++应用程序会收到数据。我是否需要使用WebRTC Native Code软件包,这对于浏览器开发人员来说是不正确的?#?文档位于此处:http://www.webrtc.org/webrtc-native-code-package

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

那里的任何示例代码都会像我尝试完成一样吗?

1 个答案:

答案 0 :(得分:3)

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

我与their native code合作了一年多,开发了一款能够在其他Android设备和浏览器之间进行音频和/或视频通话的Android应用程序。因此,我非常确定完全可以采用他们的本机代码并创建一个Windows应用程序(特别是因为他们有针对Linux和Mac的示例代码 - 请查看peerconnection客户端和peerconnection服务器)。您可能必须编写并重写代码才能使其在Windows上运行。

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

至于代码示例,我只能建议Luke Weber's gitbug repositories。虽然它适用于Android,但是看看他如何与这两个库进行交互可能会有所帮助。可能要看的更好的代码是本地代码的第二个“LibJingle”中的peerconnection客户端内容。 [编辑]:它位于/ talk / examples / peerconection / client /。

如果您因使用“LibJingle”而迷路了,那么当我开始使用所有这些代码时,它会告诉您。 2013年7月左右,他们将“LibJingle”迁移到WebRTC“talk”文件夹中。从我所见过的所有内容来看,它们都是一样的,只是位置和名称已更改。