我在互联网教学中看到很多关于android到浏览器或浏览器到浏览器webrtc应用程序的教程 . 是否有可能使用webrtc构建一个原生的android-to-android视频聊天应用程序?
WebRTC使用ICE协议在两个对等体之间创建连接 . 它使用DTLS-SRTP在对等体之间创建安全的数据交换 .
现在,ICE协议和DTLS-SRTP都是可以在任何设备上实现的协议,无论在哪个平台上 . 您在Android应用程序上实现或使用ICE和DTLS-SRTP协议的现有实现,并相互通信 .
当您阅读有关Web应用程序和浏览器之间通信的WebRTC实现的教程时,Android应用程序可以同时实现ICE和DTLS-SRTP . 所以这个Android应用程序可以与具有类似实现的其他Android应用程序通信
除了@tahlil很棒的答案之外,您还可以使用许多开源SDK,这些SDK已经成为捆绑WebRTC库并为您提供简单API以便在本机应用程序中集成实时通信的负担 . 此类SDK的一个示例是RestComm Android SDK请参阅https://github.com/Mobicents/restcomm-android-sdk和http://www.telestax.com/restcomm-client-android-sdk-beta-2-is-out/
这里提供了一个官方Android示例项目AppRTCMobile - https://webrtc.org/native-code/android/ . 但是,构建过程繁琐且总下载大小超过20 GB . 建议的方法是在项目中使用以下依赖项 . 实施'org.webrtc:google-webrtc:1.0.+'
但是,对于视频聊天功能,您需要参考AppRTCMobile源代码 . 在GitHub上有一个针对Oreo更新的项目的克隆,并准备在Android Studio中导入 . 看看这个link .
对于仍在寻找没有任何服务器的本机解决方案的所有人 . 我想出了一种将WebView与WebRTC一起使用并且没有任何STUN / TURN / ICE服务器的方法 . 诀窍是在设备上实现WebRTC实例之间的握手 . 我在设备之间使用了直接套接字连接 . 您可以在https://github.com/hilderonny/simplevideochat下载工作示例的源代码 . 对不起缺少的代码文档,我还在努力 .
4 回答
WebRTC使用ICE协议在两个对等体之间创建连接 . 它使用DTLS-SRTP在对等体之间创建安全的数据交换 .
现在,ICE协议和DTLS-SRTP都是可以在任何设备上实现的协议,无论在哪个平台上 . 您在Android应用程序上实现或使用ICE和DTLS-SRTP协议的现有实现,并相互通信 .
当您阅读有关Web应用程序和浏览器之间通信的WebRTC实现的教程时,Android应用程序可以同时实现ICE和DTLS-SRTP . 所以这个Android应用程序可以与具有类似实现的其他Android应用程序通信
除了@tahlil很棒的答案之外,您还可以使用许多开源SDK,这些SDK已经成为捆绑WebRTC库并为您提供简单API以便在本机应用程序中集成实时通信的负担 . 此类SDK的一个示例是RestComm Android SDK请参阅https://github.com/Mobicents/restcomm-android-sdk和http://www.telestax.com/restcomm-client-android-sdk-beta-2-is-out/
这里提供了一个官方Android示例项目AppRTCMobile - https://webrtc.org/native-code/android/ . 但是,构建过程繁琐且总下载大小超过20 GB . 建议的方法是在项目中使用以下依赖项 . 实施'org.webrtc:google-webrtc:1.0.+'
但是,对于视频聊天功能,您需要参考AppRTCMobile源代码 . 在GitHub上有一个针对Oreo更新的项目的克隆,并准备在Android Studio中导入 . 看看这个link .
对于仍在寻找没有任何服务器的本机解决方案的所有人 . 我想出了一种将WebView与WebRTC一起使用并且没有任何STUN / TURN / ICE服务器的方法 . 诀窍是在设备上实现WebRTC实例之间的握手 . 我在设备之间使用了直接套接字连接 . 您可以在https://github.com/hilderonny/simplevideochat下载工作示例的源代码 . 对不起缺少的代码文档,我还在努力 .