关于web端动态调整分辨率的问题

我测试了下在动态调整分辨率,调用 setVideoEncoderConfiguration 和 setVideoProfile 去调整分辨率发现都无法生效,还维持在原分辨率,有解决方案吗

我测试了一下,可以动态调整啊。你 API 调用时序是怎样的?要在收到 stream-published 回调后去调用,不要在调用 publish 但是方法还没有执行完的时候去调。

你是说初始化的时候第一次调用的时候,还是说后面再改动的时候
我第一次初始化调用setVideoProfile是在AgoraRTC.createStream之后调用的,后面动态修改调用肯定都是在publish之后了,是不是我后面设置的分辨率不能高于初始化的分辨率


文档里是这么说明的,我也是一直在init之前调用的

不是

那是什么问题呢,我发现两方视频, 总是有一个人收到的是小流(低分辨,低码率),我并没有开启大小流设置,这个是什么原因造成的呢

我没测 setVideoProfile,你用 setVideoEncoderConfiguration吧。

现在主要发现的问题是,为什么两端视频,总有一个是小流,分辨率很低,比如一个60K码率,另一个能跑到2M码率,我并没有开启大小流设置

提供该端用户的 Console log 吧,我来看看。

你网络没有限速吧?

没有限速,网络一般,我是用一个观众拉一个主播的流,虽然主播设置1080P也只能拉倒很小的流,我都已经强制拉取大流了,貌似依然没有用

我测试发现,咱们这个设置是否跟session有关,如果新打开chrome后测试结果又不同了

这应该没关系吧…你那边还能复现吗?


我现在在接收流后关闭回退策略,强制接收大流,貌似是可以的,如果我不这么做发送的就是低码率低分辨率的,前提还是我根本没有开启双流模式,具体我也不知道原因为何

不太可能吧,你看看本地有没有触发 Client.on("stream-type-changed") 回调?如果没有触发,应该就不是视频流回退的原因。

触发这个事件了,我也很纳闷,我并没有开启双流模式,为什么会触发这个事件呢

确定主播端有没有调用 enableDualStream 吗??很奇怪啊,能不能拿双方 log 来看看


还不是必现的,问一下,咱们视频收费标准是发送分辨率的算是吧,跟采集分辨率无关

是按照实际接收分辨率来计算的。

那问个问题,我现在把发送的降低了,那采集的高也没有什么实际意义啊

是啊,主要还是看发送和接收的实际分辨率