为iOS集成PubNub WebRTC SDK

3

我被集成PubNub WebRTC SDK到iOS应用程序中卡住了。

这是一个JavaScript SDK。如何将其与我的iOS应用程序集成。

提前致谢.....


移动版Safari不支持WebRTC。您需要使用本机视频流。您仍然可以使用PubNub进行信号协议(连接/断开设备 - 换句话说,响铃/挂断)。 - Craig Conover
公司Perch制作了一个本地的WebRTC iOS库(因为Apple/Safari不支持它)。请查看https://perch.co/blog/perchrtc-released/和https://github.com/perchco/perchrtc。 - scalabl3
1个回答

1

这并不是针对Objective-C实现的直接答案,但这可能有助于理解整体解决方案以及PubNub所扮演的角色。

为什么选择PubNub?-信令

WebRTC不是一个独立的API,它需要一个信令服务来协调通信。在建立连接之前,必须在呼叫者之间发送元数据。此元数据包括以下信息:

  • 会话控制消息以打开和关闭连接
  • 错误消息
  • 编解码器/编解码器设置、带宽和媒体类型
  • 建立安全连接的密钥
  • 主机IP和端口等网络数据

一旦信令完成,视频/音频/数据就可以直接在客户端之间流式传输,使用WebRTC的PeerConnection API。这种点对点的直接连接允许您流式传输高带宽的强大数据,如视频。HTML5Rocks提供了关于WebRTC的精彩指南 (无需阅读,下面进行了概述)。

PubNub使得这种信令变得非常简单,并且除此之外,还为您的WebRTC应用程序提供了做更多事情的能力。

PubNub不是什么

PubNub不是WebRTC的服务器。信令服务指定ICE服务器,视频聊天可以通过它们进行流传输。谷歌提供的公共STUN服务器可以使用,但它们并不是非常可靠。需要STUN或TURN服务器来绕过防火墙,否则聊天将失败。许多服务在一个中提供了信令和服务器的“总包”,但这不是PN。我们的受众是那些想要构建自己更加定制化服务的人。

XirSys

XirSys已经在他们的GitHub上使用rails创建了一个WebRTC-PubNub演示。他们托管STUN和TURN服务器,满足WebRTC的需求。

开源

有一些开源STUN和TURN服务器项目可以轻松下载和托管:

  • Amazon AWS VM:预先准备好部署
  • RFC5766 TURN:Google Code,TURN服务器
  • 一对多:针对1对多媒体服务器的MCU说明。对于具有数百个用户的大型群聊和流而言,这是必要的。

因此,正如您所看到的,我们不提供音频/视频流服务,但如果您正在构建此解决方案,PubNub是将其与信号协议紧密结合在一起的必要组成部分。

AndroidRTC

这里有一个由我们实习生提供的 PubNub AndroidRTC示例


想知道您的投票理由,这样我就可以为您提供更好的答案。 - Craig Conover

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