观看视频直播感觉清晰度不足的原因排查

画面模糊,清晰度不足
发布时间: 2022-01-02 16:01

回答:

一、只有个别用户,或者个别地区,并非所有安装包用户模糊。

    针对个别情况下的模糊问题,一般是跟网络状况有关,融云 SDK 内部会根据客户网络状况去更改视频的清晰度,来保证用户的正常视频体验,建议换个网络尝试是否清晰。

二、针对主播端采集的视频显示模糊。

    查看主播端采集视频清晰度的设置是否为想要的配置;

    例如:

//设置分辨率   
RCRTCVideoStreamConfig *config = [[RCRTCVideoStreamConfig alloc]init];   
config.videoSizePreset = RCRTCVideoSizePreset1280x720; 
[RCRTCEngine sharedInstance].defaultVideoStream.videoConfig = config;

三、针对观众端看到的视频显示模糊的问题。

    1、在保证主播端采集清晰的情况下,查看观众端订阅的接口的传参是否是订阅的小流;

/*! 订阅多路远端指定音视频流  
同一个流只能填写在 avStreams 或 tinyStreams 中的一个数组中  
@param avStreams 普通流 
@param tinyStreams 需要携带小流的流数组 
@param completion 完成的回调 
@discussion 订阅流  
@remarks 资源管理 
*/
- (void)subscribeStream:(NSArray<RCRTCInputStream *> *)avStreams            
            tinyStreams:(NSArray<RCRTCInputStream *> *)tinyStreams             
             completion:(nonnull RCRTCOperationCallback)completion;

    2、如果观众订阅的是合流,还需要查看主播端设置的合流配置是否为想要的清晰度;

    例如:

// 布局配置类    
RCRTCMixConfig *streamConfig = [[RCRTCMixConfig alloc] init];    
// 选择模式    
streamConfig.layoutMode = mode;    
// 设置合流视频参数 :宽:720 ,高:1280 ,视频帧率 15, 视频码率 2200;    
streamConfig.mediaConfig.videoConfig.videoLayout.width = 720;    
streamConfig.mediaConfig.videoConfig.videoLayout.height = 1280;    
streamConfig.mediaConfig.videoConfig.videoLayout.fps = 15;    
streamConfig.mediaConfig.videoConfig.videoLayout.bitrate = 2200;    
[streamConfig.mediaConfig.videoConfig setBackgroundColor:0x778899];    
// 设置是否裁剪 1为自适应裁剪 2为填充    
streamConfig.mediaConfig.videoConfig.videoExtend.renderMode = 1;