WebRTC[6]-WebRTC控制视频编码偏好机制

目录

前言

正文


前言

WebRTC推视频流遇到带宽限制时,是如何取舍分辨率和帧率的呢?今天我们就来具体分析,先从对外接口介绍走起。

《WebRTC工作原理精讲》系列-总览

正文

iOS的OC接口: 

编辑

Android的Java接口:

编辑

C++接口:

编辑

SetParametersInternal()具体实现如下: 

编辑

这里 media_channel_ 对象会调用哪个SetRtpSendParameters()方法呢?具体要看 media_channel_ 是音频Channel还是视频Channel,如果是音频Channel则走如下逻辑:

编辑

今天讨论视频编码控制,音频方面就不深入了。如果是视频Channel则走如下逻辑:

编辑

这个方法比较长,后半部分如下:

编辑

看上面的代码,调用的SetRtpParameters()方法其实分别对应音频引擎和视频引擎,这里只讨论视频,我们跳转到对应视频逻辑:

编辑

通过上面的代码,我们看到了关于视频编码控制偏好的配置项参数degradation_prefer

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

WebRTC工作原理精讲 文章被收录于专栏

WebRTC 作为当下最热门的实时音视频通讯框架,涉及非常多的过程,比如采集、编码、组包、发包、传输、收包、丢包重传、解封装、解码、音视频同步、渲染等,同时还包括很多功能特性,比如ANS、AGC、AEC,REMB、GCC、CNG、FEC、PLI、SVC等,需要一点点深入理解其中的奥秘。

全部评论

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务