设置视频编码属性 编辑文档

功能描述

在视频通话或视频互动直播场景中,视频画面是否清晰流畅,很大程度上决定着用户体验。

视频属性包含视频分辨率、帧率、码率等影响视频质量的参数设置。

分辨率、帧率、码率

SDK 通过如下参数设置视频编码的分辨率、帧率和码率。

  • dimensions: 视频编码的分辨率 (px),默认值为 640 × 480。通常情况下,分辨率越高,视频的清晰度会越好。
  • frameRate: 视频编码的帧率 (fps),即每秒钟要编码多少帧画面,默认值为 15。通常情况下,帧率越大,画面越流畅。如果对视频流畅度要求较高,可以设为 20 或 25,但建议不要超过 30。
  • bitrate: 视频编码码率 (Kbps),默认值为 0,SDK会依据当前频道场景、分辨率、帧率为你设置一个最合适的码率。

接口描述

public class ChannelEngine { 


/**
*
* @param config 视频编码属性
* @return 0为成功;其他失败
*/
public int setVideoEncoderConfiguration(VideoEncoderConfiguration config);
}

在VideoEncoderConfiguration可以设置视频分辨率、帧率、码率、视频方向等。

所有设置的参数均为理想情况下的最大值。当视频引擎因网络环境等原因无法达到设置的分辨率、帧率或码率的最大值时,会取最接近最大值的那个值。
详见VideoEncoderConfiguration

示例代码

engine.setVideoEncoderConfiguration(new VideoEncoderConfiguration(
VideoEncoderConfiguration.VD_640x360, VideoEncoderConfiguration.FRAME_RATE.FRAME_RATE_FPS_15,
0, VideoEncoderConfiguration.ORIENTATION_MODE.ORIENTATION_MODE_FIXED_PORTRAIT
));

视频属性参考表

你可以直接选择 SDK 预设的分辨率、帧率和码率值,也参考下表进行自定义。

分辨率 (宽 × 高) 帧率 (fps) 基准码率 (Kbps,适用于通信) 直播码率 (Kbps,适用于直播)
120 × 120 15 65 130
160 × 120 15 85 170
180 × 180 15 130 260
240 × 180 15 156 312
240 × 240 15 182 364
320 × 180 15 182 364
320 × 240 15 260 520
420 × 240 15 286 572
360 × 360 15 338 676
480 × 360 15 416 832
480 × 480 15 520 1040
640 × 360 15 520 1040
640 × 480 15 650 1300
840 × 480 15 793 1586
960 × 720 15 1183 2366
1280 × 720 15 1469 2938
野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题