我一直在使用TalkBox平台构建视频会议应用。我的第一个阶段是检查框架的性能。我的要求是6个用户的视频会议。
我使用来自TokBox的参考应用程序Multi-Party-Call样本构建了应用程序。我使用了完全相同的类和函数。我在电话会议中面临质量和性能问题。该应用程序平稳运行,最多3个用户。一旦用户4,5,6订阅,视频就不再顺利运行。
我认为这与流式传输的视频质量有关。该应用程序的测试速度超过100 MB / s,因此连接速度不应该是问题。
问题是fps,流式传输的维度。我尝试更改_capturePreset
类中的TBExampleVideoCapture
,但这会破坏订阅者流。之后我认为在类TBExampleVideoRender
中编写的流的解密应该是那个。
如何在不影响质量的情况下选择上传流的尺寸和流的解密?
答案 0 :(得分:1)
首先,同时渲染4,5,6个视频流,瓶颈就变成了硬件。我不认为iOS设备能够同时渲染6个视频而不会显着牺牲视频质量。
一个建议是一次订阅一个订阅者视频并订阅所有视频流。通过这种方式,您可以听到每个人的声音并看到对您重要的人。 OpenTokRTC(在应用程序商店中)就是这样做的。要查看OpenTokRTC代码:https://github.com/opentok/OpenTokRTC-iOS
如果您想更改分辨率和帧速率的设置,您可能需要下载iOS SDK并查看samples文件夹: https://tokbox.com/opentok/libraries/client/ios/
让我们构建OTPublisher示例具有更改分辨率/帧速率的代码。请查看TBExampleVideoCapture.m中的_capturePreset = AVCaptureSessionPreset352x288;
和setActiveFrameRate