iOS上的WebRTC:如何建立良好的视频质量?

时间:2016-08-04 09:54:45

标签: ios video-streaming webrtc videochat

我有这样的媒体约束和大部分时间的视频质量相当不错,但有时它会降到低质量,永远不会恢复良好。

RTCMediaConstraints *mediaConstraints = [[RTCMediaConstraints alloc] initWithMandatoryConstraints:@[
                                                                                                    [[RTCPair alloc] initWithKey:@"maxWidth" value:@"1280"],
                                                                                                    [[RTCPair alloc] initWithKey:@"maxHeight" value:@"720"],
                                                                                                    [[RTCPair alloc] initWithKey:@"maxFrameRate" value:@"30"]
                                                                                                    ]
                                                                              optionalConstraints:@[]];

有什么问题?如果它与我当前的互联网连接的质量有关,是的,有时它会下降而不是那么稳定,但为什么在这种情况下视频的质量永远不会恢复到良好状态? 是否可以与TURN / STUN服务器连接,并且在它们的方向上使用低ping和窄带?

1 个答案:

答案 0 :(得分:-1)

之前我遇到过这个问题。原因是下载占用了大部分带宽,因此视频分辨率被降低以适应有限的上传带宽。为了解决这个问题,需要根据捕获率在SDP中限制带宽。您需要对SDP字符串执行一些字符串操作。

在每个媒体热线c=IN(xxxxxx) / m=audio(xxxx)下找到m=video(xxxx)行。在c=IN(xxxx)之后插入带宽规格行:

b=AS:%d

%d是基于捕获率(分别为视频和音频)计算的整数。您应该试验该数字,并检查WebRTC规范中的该值。