30

我正在尝试使用 WebRTC Native API 创建一个用于视频聊天和消息传递的 android 应用程序。我浏览了几个链接,发现大多数 android 的文档都很模糊,特别是如果你不知道从哪里开始。我按照以下链接,

https://webrtc.org/native-code/android/#

https://www.chromium.org/developers/how-tos/android-build-instructions

但是上面提到的链接没有任何意义,因为我想开发一个 android 应用程序,这些链接建议下载一个 chromium 然后构建它。我知道最终结果将是一个 apk,但如果我想编写自己的代码怎么办。我也研究了 pubnub 和 OpenTokRTC,但我也不想使用其他人的信令服务(以及 pub 和 sub 键)。我尝试了以下链接,

https://github.com/pristineio/webrtc-build-scripts

但这对于 WebRTC 的新手来说似乎有点不完整,因为它建议通过以下命令获取 WebRTC,

# Pull WebRTC
get_webrtc

最后我尝试了以下链接,

http://simonguest.com/2013/08/06/building-a-webrtc-client-for-android/

但是本教程的问题在于它根本没有更新。Libjingle 现在已经移到了 github,我不知道如何使用 gclient 从 github 获取 libjingle。

我的这场斗争是一场灾难。任何人都可以通过更新的文档或教程帮助我,我可以使用这些文档或教程来了解使用 webRTC 原生 API 开发应用程序到底需要什么?请不要给我任何指向 OpenTokRtc 或 PubNub 的链接。

谢谢

4

5 回答 5

12

我知道这是一个旧线程,但如果有人仍在寻找使用 libjingle 构建 Android 应用程序的方法,预建库已在过去几个月内发布,可以非常简单地作为依赖项添加到 Android Studio 项目中,如下所示:

dependencies {
    compile 'org.webrtc:google-webrtc:1.0.+'
}

在 Android Studio 2 中。或者对于 Android Studio 3:

dependencies {
    implementation 'org.webrtc:google-webrtc:1.0.+'
}

文档在这里。有关如何使用 Android API 的示例,请通读AppRTC 代码

于 2018-01-26T17:19:34.843 回答
5

@Mark Sherman 就如何将 libjingle 库编译到您的项目中给出了一个很好的答案。您仍然需要提供自己的信令服务。我发现有帮助的项目包括 Android 客户端和服务如下:

客户端 - https://github.com/pchab/AndroidRTC

信令 - https://github.com/pchab/ProjectRTC

您还可以查看爱立信名为 OpenWebRTC 的跨平台扩展 SDK:

http://www.openwebrtc.org/

https://github.com/EricssonResearch/openwebrtc-android-sdk

于 2016-05-19T05:52:12.087 回答
3

我正在使用Mark Sherman提到的图书馆。有一篇博文很好地解释了该过程中涉及的所有类:tech.appear.in

注意:它没有解释任何关于信令服务器的内容,而是向您介绍了它。

此外, chromium.googlesource.com上提供的 AppRTCDemo 代码是检查工作流程的可靠资源。它有点复杂,但如果你知道你在寻找什么,它会很有用。

于 2016-05-03T16:02:09.880 回答
3

我也和你一样,正在寻找如何将我自己的信令服务集成到libjingle其中,似乎没有教程解决它。

如果您使用 Android Studio 进行开发,则应compile 'io.pristine:libjingle:9694@aar'在脚本dependencies部分中包含:build.gradle

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile 'io.pristine:libjingle:9694@aar'
   // the rest of your code
}

这应该添加libjingle到您的项目中。

于 2016-04-28T14:14:54.507 回答
1

如果你不想要一个完整的端到端开源实现,我会看看这个库...... https://github.com/nhancv/nc-kurento-android

与 Kurento ( https://github.com/kurento ) 和包含的演示配对,几乎可以向您展示一切如何在幕后工作。我用它作为我自己的 webrtc 项目的起点,它相对容易理解和彻底,尽管当然还有一个学习曲线。

于 2020-02-21T00:22:13.193 回答