跳到主要内容

编解码器

软硬编码

您可以根据设备性能和业务需求选择合适的编码方式。硬编码性能更优,软编码兼容性更好。建议在发起通话和接听通话前进行设置。

参数说明:

参数类型必填说明
hardWareEncodeboolean是否使用 H.264 硬编码。SDK 会根据硬件支持情况创建硬编码器,如果创建失败则自动切换到软编码

示例代码:

以下示例演示如何启用硬编码:

Java
RCRTCConfig.Builder builder = RCRTCConfig.Builder.create();

builder.enableHardwareEncoder(true);

RongCallClient.getInstance().setRTCConfig(builder);
提示
  • 硬编码:利用设备的专用硬件进行编码,CPU 占用率低,编码效率高
  • 软编码:使用 CPU 进行编码,兼容性更好,但会增加 CPU 负担

硬编码等级设置

您可以在发起通话和接听通话前,根据视频质量和兼容性需求选择不同的硬件编码等级。

参数说明:

参数类型必填说明
hardWareEncodeHighProfileboolean设置硬编码压缩等级是否为 MediaCodecInfo.CodecProfileLevel.AVCProfileHigh ,ProfileHigh 比 AVCProfileBaseline 压缩率更高,但是 AVCProfileBaseline 兼容性更好, AVCProfileHigh 压缩等级为 MediaCodecInfo.CodecProfileLevel.AVCLevel3 ,默认值为 false ,false 代表 MediaCodecInfo.CodecProfileLevel.AVCProfileBaselin)

示例代码:

Java
RCRTCConfig.Builder builder = RCRTCConfig.Builder.create();

builder.enableHardwareEncoderHighProfile(true);

RongCallClient.getInstance().setRTCConfig(builder);

软硬解码

您可以选择硬解码或软解码来处理接收到的视频流。硬解码能够减少 CPU 占用,提升解码效率。建议在发起通话和接听通话前进行设置。

参数说明:

参数类型必填说明
hardWareDecodeboolean是否使用 H.264 硬解码(默认开启)。SDK 会根据硬件支持情况创建硬解码器,如果创建失败则自动切换到软解码

示例代码:

以下示例演示如何启用硬解码:

Java
RCRTCConfig.Builder builder = RCRTCConfig.Builder.create();

builder.enableHardwareDecoder(true);

RongCallClient.getInstance().setRTCConfig(builder);