WebRTC音视频之优化音频造成的内存增长和增加大小流

编程入门 行业动态 更新时间:2024-10-12 08:26:21

WebRTC<a href=https://www.elefans.com/category/jswz/34/1768069.html style=音视频之优化音频造成的内存增长和增加大小流"/>

WebRTC音视频之优化音频造成的内存增长和增加大小流

1、关于多人通话内存不断增长的问题

 

在旧版本iPhone上(比如:iPhone6、6s、7),四人及以上通话,造成内存不断增长,使用Instrument工具分析,是因为audioFrame创建过快,再加上人数过多以后,CPU处理能力跟不上,释放audioFrame对象逐渐变慢,造成内存逐步上涨,后来查看了线程等级和使用位置,进行了调整,将原来的AudioEncoder线程的等级从NORMAL提高到了HIGH,视图如下:

 其实也可以通过修改其他两个关于video和stream的线程等级达到效果,但是会造成视频画面卡顿,效果不太理想,所以相对于来说,改audio的比较合适。

2、关于video大小流的分辨率更改问题

为了适配多人通话,所以将视频流分成了大小流,即高清晰度和低清晰度,比如场景:设置开启双流的开关,默认订阅远端视频流的小流,当需要清楚查看远端某个人的视频时,可以将此人切换至大流,在具体情况下使用,可以有效的优化多人视频,减少多人会话时的资源消耗。

webrtc_video_enginestd::vector<webrtc::VideoStream> EncoderStreamFactory::CreateEncoderStreams(int width,int height,const webrtc::VideoEncoderConfig& encoder_config) {RTC_DCHECK_GT(encoder_config.number_of_streams, 0);RTC_DCHECK_GE(encoder_config.simulcast_layers.size(),encoder_config.number_of_streams);std::vector<webrtc::VideoStream> layers;const absl::optional<webrtc::DataRate> experimental_min_bitrate =GetExperimentalMinVideoBitrate(encoder_config.codec_type);if (encoder_config.number_of_streams > 1 ||((absl::EqualsIgnoreCase(codec_name_, kVp8CodecName) ||absl::EqualsIgnoreCase(codec_name_, kH264CodecName)) &&is_screenshare_ && conference_mode_)) {const bool temporal_layers_supported =absl::EqualsIgnoreCase(codec_name_, kVp8CodecName) ||absl::EqualsIgnoreCase(codec_name_, kH264CodecName);// Use legacy simulcast screenshare if conference mode is explicitly enabled// or use the regular simulcast configuration path which is generic.layers = GetSimulcastConfig(encoder_config.number_of_streams, width, height,encoder_config.bitrate_priority, max_qp_,is_screenshare_ && conference_mode_,temporal_layers_supported);//屏幕共享只保留大流    if(is_screenshare_ && layers.size() == 2) {layers.pop_back();}// Allow an experiment to override the minimum bitrate for the lowest// spatial layer. The experiment's configuration has the lowest priority.if (experimental_min_bitrate) {layers[0].min_bitrate_bps =rtc::saturated_cast<int&

更多推荐

WebRTC音视频之优化音频造成的内存增长和增加大小流

本文发布于:2024-02-06 11:52:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748777.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:音视频   音频   大小   内存   WebRTC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!