我决定将WebRTC用于某个项目,但是我很难通过Google收集信息。为了便于组织,我总结了如何在iOS上使用WebRTC。
*本文介绍了iOS方面的实现,没有提及基础结构配置或服务器端实现。
什么是WebRTC?
用于在浏览器和移动应用程序上实现实时通信(RTC)(例如语音呼叫和视频呼叫)的技术。它受Google,Mozilla,Opera等的支持。官方页面本身似乎由Google Chrome小组负责。
支持的浏览器和平台
由于它是由Google,Mozilla,Opera开发的,因此它支持Android和iOS以及每个公司的浏览器。
- 铬合金
- 火狐浏览器
- 歌剧
- 安卓
- 的iOS
如何拨打视频或语音电话?
有一个官方提供的示例。此外,还提供了利用WebRTC的WebRTC示例。但是,所有这些都是可在浏览器上运行的示例。
-
视频电话:
对等连接 -
语音通话:
对等连接:仅音频
不幸的是,没有官方的iOS示例!
但是,有ISBX / apprtc-ios,它是官方AppRTC的iOS实现。
克隆并构建存储库时,将要求您输入Room ID,因此请正确输入,在另一个人的终端上构建相同的应用程序,输入相同的Room ID,然后将开始与该人进行视频聊天。
是否有适用于iOS的框架?
正式会要求您自行构建,但它是如此糟糕 del>有些人很容易将其与Cocoapod或Carthage一起放入。
- ISBX / apprtc-ios
这是前面介绍的AppRTC的iOS实现。如果要按原样使用AppRTC,也可以将其与pod一起安装。
1 | pod install AppRTC |
还通过代码示例总结了如何初始化SSL Peer Connection和添加视频聊天。
-
libjingle_peerconnection
上面的ISBX / apprtc-ios示例也使用此框架。 WebRTC头家族中包含的iOS构建脚本是独立修改的,并且所生成的二进制文件由Cocoapods作为框架进行分发。 -
Anakros / WebRTC
可以与CocoaPods或Carthage一起安装。它与libjingle_peerconnection几乎相同,但是某些头文件不同。
我正在使用https://chromium.googlesource.com/external/webrtc/上的webrtc/build/ios/build_ios_libs.sh 进行构建。
这与i386,x86-64体系结构不兼容,因此无法使用模拟器来构建。
它是从相同的WebRTC二进制文件生成的,因此选择哪个都不重要。
我选择了可??以与Carthage一起安装的Arakros / WebRTC。
摘要/我在想下一步
针对iOS编写的文章很少,调查很困难,但是我希望它对那些必须面对WebRTC的人有所帮助。
资源
-
WebRTC:WebRTC官方页面
-
WebRTC iOS:WebRTC iOS页面
-
与WebRTC的实时通信:浏览器中的样本收集
-
ISBX / apprtc-ios:基于WebRTC的本地iOS视频聊天应用程序:ISBX的iOS实现
- libjingle_peerconnection
- GitHub --Anakros / WebRTC
-
iOS上的WebRTC入门是以下示例的实现:我正在使用
libjingle_peerconnection 。