Android 到 Android 的 Webrtc?

5

我有些困惑,我只见过从安卓到电脑或相反的示例。我需要制作一个用于视频聊天的安卓应用程序,连接两个手机(安卓)。我想知道,也许这是个愚蠢的问题,但你能用webrtc做吗?你知道任何好的教程可以解释它或类似的东西吗?或者你可以推荐任何涉及此主题的好书吗?

我的项目需要在Linux环境机器中吗?

编辑:好的,我已经在Web上实现了它,在PC浏览器上可以工作。但我不能将其放入Web视图中,因为安卓的原生浏览器不允许访问本地相机。那么我该如何在不使用其浏览器的情况下将HTML和JavaScript代码放入安卓应用程序中呢?


要求我们推荐或寻找书籍、工具、软件库、教程或其他外部资源的问题在 Stack Overflow 上是不适合的,因为它们往往会吸引主观的答案和垃圾邮件。相反,请描述问题以及已经采取的解决方法。 - GoBusto
连接逻辑与 Android 到 PC 的相同... 它利用相同的 API。 - Benjamin Trent
好的,那就更加明确了。 - Mijail
2个回答

2

是的,你可以使用WebRTC来实现这个功能。该功能已经被实现,并且在提问时已经完成。

这里的AppRTCDemo程序是一个Android WebRTC客户端。使用Google的基础设施,您可以连接任何两个WebRTC对等端,包括两个Android对等端。据我所知,没有可用的二进制Android实现,但是您可以下载源代码(它非常庞大,约15GB),并构建自己的应用程序,无需进行实际编程。

如果您想要实现自己的服务器组件,可以从apprtc源代码开始。


1
是的,这是可能的,但是还需要一个服务器来交换ICE或STUN候选项,仅靠WebRTC无法做到。我开发了这样一个程序,唯一的资源是源代码和官方链接WebRTC。它的API经常更改,因此我不认为会有关于它的书籍,实际上可以在没有任何书籍的情况下使用它,有一个足够的WebRTCDemo项目。
“我的项目需要在Linux环境机器中吗?”
不是必须的,但强烈建议使用Linux环境。
更新:该链接已不再有效。

感谢你的回答。关于这个问题,你使用了STUN服务器对吗? - Mijail
是的,如果只使用TURN,服务器的负载将非常高;如果只使用STUN,则可能会出现由于对称NAT或其他网络问题而无法建立连接的情况,因此为了稳定性,两者都是必需的。 - mes
@mes 为了更好的直觉理解,您可以遵循这份文档: https://github.com/mail2chromium/Android-Audio-Processing-Using-WebRTC,确认信令不是WebRTC的一部分,但是您可以使用“NATs.io”或“firebase”来在同行之间共享SDP&ICECandidates。 “libjingle”是通过互联网进行音频/视频点对点通信的最佳资源。 - Muhammad Usman Bashir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接