我不是在这里寻找用于视频通话的 API。我知道一些 API,比如 OpenTok。
但我想创建自己的方法来制作视频通话应用程序。
我该如何开始呢?我对 JSON 和 SOAP 服务有很好的了解,并且过去在流媒体方面做过一些工作,这对我有帮助吗?
这真的很有挑战性。首先,iOS 没有特定的 API 来通过 Internet 流式传输音频+视频。这里的主要问题是,使用 AVFoundation 您可以捕获单帧,但是在不压缩的情况下发送它们即使对于 wifi 连接或服务器来说也是非常痛苦的。要压缩视频,您可以使用 CPU,但这需要大量操作,这会耗尽电池电量并加热您的设备。有一种方法可以使用 iPhone 上的特定芯片压缩视频,但仅当您使用AVAssetWriter
类在设备上编写时才使用它。
堆栈上有一些有用的问题,例如this
如果您想创建自己的方法来制作视频通话应用程序,一个很好的起点是查看 AVFoundation 的Media Capture。
之后,您需要找到一种方法来从设备读取和写入字节。您可以使用临时构建(TCP 服务器)对此进行测试。
设置服务器,使其可以充当设备相互通信的代理。