如何处理视频播放比较模糊

成功订阅到远方视频资源,在本地播放时比较模糊
发布时间: 2021-12-21 15:46

回答:

视频资源播放流程:

1、通过 subscribe 进行订阅远端资源

2、订阅成功后,会触发 onTrackReady 监听,表明订阅的音视频流通道已建立, track 已可以进行播放

3、在步骤 2 的监听中执行 track.play(videoNode) ,【videoNode】为 <video> 标签元素实例

视频模糊一般会由两方面造成:

1、本地网络问题,如果网络比较差的话 SDK 会进行降低码率,保证通话正常,但是视频会相应模糊。

    建议:更换比较稳定的网络重新订阅

2、发布视频资源的分辨率比较低

    建议:发布者在获取本地视频资源时,可以设置分辨率,其中 resolution 能设置的具体值可以参考:https://www.rongcloud.cn/docs/api/js/rtclib/v5/enums/RCResolution.html


//由摄像头捕获视频流
const { code, track: videoTrack } = await rtcClient.createCameraVideoTrack('RongCloudRTC', {
  // 默认帧率为 15
  frameRate: RCFrameRate.FPS_15,
  // 默认分辨率为 640 * 480
  resolution: RCResolution.W640_H480
})

    

//获取屏幕共享视频流
const { code, track: videoTrack } = await rtcClient.createScreenVideoTrack('screenshare', {
  // 默认帧率为 15
  frameRate: RCFrameRate.FPS_15,
  // 默认分辨率为 640 * 480
  resolution: RCResolution.W640_H480
})
// 同时捕获音视频流
const { code, tracks } = await rtcClient.createMicrophoneAndCameraTracks(tag: string = 'RongCloudRTC', options?: { 
audio?: IMicphoneAudioProfile, 
video?: ICameraVideoProfile //ICameraVideoProfile 详情:https://www.rongcloud.cn/docs/api/js/rtclib/v5/interfaces/ICameraVideoProfile.html
})


需要注意:最终发布视频成功的分辨率取决于您设备摄像头所支持最大的分辨率,比如您设置的分辨率是 1280*720,但是您摄像头只支持 640*480 那么最终发布资源像素就是 640*480