目录
前言
WebRTC推视频流遇到带宽限制时,是如何取舍分辨率和帧率的呢?今天我们就来具体分析,先从对外接口介绍走起。
正文
iOS的OC接口:
编辑
Android的Java接口:
编辑
C++接口:
编辑
SetParametersInternal()具体实现如下:
编辑
这里 media_channel_ 对象会调用哪个SetRtpSendParameters()方法呢?具体要看 media_channel_ 是音频Channel还是视频Channel,如果是音频Channel则走如下逻辑:
编辑
今天讨论视频编码控制,音频方面就不深入了。如果是视频Channel则走如下逻辑:
编辑
这个方法比较长,后半部分如下:
编辑
看上面的代码,调用的SetRtpParameters()方法其实分别对应音频引擎和视频引擎,这里只讨论视频,我们跳转到对应视频逻辑: