跳到主要内容

分辨率/码率/帧率设置

分辨率 & 帧率

提示

SDK 从 5.6.6 版本开始支持采集和发布竖版视频资源。

Web RTCLib 5.0 中分别定义了 RCFrameRateRCResolution 两个枚举型数据,用于在采集视频资源时指定融云推荐的视频流帧率与分辨率配置。

import { RCFrameRate, RCResolution } from '@rongcloud/plugin-rtc'

按指定配置从摄像头中采集视频流

API 参考:createCameraVideoTrack

const { code, track: videoTrack } = await rtcClient.createCameraVideoTrack('RongCloudRTC', {
// 默认帧率为 15
frameRate: RCFrameRate.FPS_15,
// 默认分辨率为 640 * 480
resolution: RCResolution.W640_H480
})

按指定配置获取屏幕共享视频流

API 参考:createScreenVideoTrack

const { code, track: videoTrack } = await rtcClient.createScreenVideoTrack('screenshare', {
// 默认帧率为 15
frameRate: RCFrameRate.FPS_15,
// 默认分辨率为 1280 * 720
resolution: RCResolution.W1280_H720
})

上行码率

提示

SDK 内部已实现了动态的码率计算,非必要情况下,或当开发者无法准确评估业务所需要的带宽时,不建议主动调用修改。浏览器 WebRTC 是动态码率,SDK 设置的码率是推荐码率。最终码率及画质效果,由当前运行的网络带宽、网络质量及计算机性能所决定。

为视频设置上行码率

API 参考:videoTrack.setBitrate

const { code, track: videoTrack } = await rtcClient.createCameraVideoTrack('RongCloudRTC');

/**
* 为本地流设定上行码率,仅视频流有效,音频默认 15 kbps,不支持修改
* @description 当 `max` 或 `min` 值为 `0` 时,取动态码率计算结果
* @param max 最大码率
* @param min 最小码率
* @param start 起始码率
*/
const {max, min, start} = { max: 1000, min: 200, start: 700};
videoTrack.setBitrate(max, min, start);

码率设置会在下一次调用 room.publish()room.unpublish()room.subscribe()room.unsubscribe() 后生效。