本文将为您介绍如何通过调用API设置视频编码属性。
功能介绍
ARTC SDK 赋予开发者精准掌控视频编码的能力,您通过调用 setVideoEncoderConfiguration
接口,能够轻松设置各类视频编码属性。通过调用该API您可以灵活、动态的调整视频分辨率、码率、帧率、横竖屏等编码属性,以实现自己的业务需求。
实现原理
您可以在引擎创建后通过setVideoEncoderConfiguration
设置编码属性,也可以在入会以后根据自己业务的变动动态的调整编码参数。
注意事项
在直播场景下要进行旁路转推时,因为不进行服务器侧的转码处理,所以必须要设置关键帧间隔(注意是旁路转推不是混流)。
在强制横竖屏时一定要设置
orientationMode
模式,才能保证在数据变化时始终保持一个分辨率。
示例代码
Android
iOS
/* 1st 构造编码设置的数据结构 */
AliRtcVideoEncoderConfiguration video_encoder_config = new AliRtcVideoEncoderConfiguration();
video_encoder_config.dimensions.width = 720; /* 设置编码的宽 */
video_encoder_config.dimensions.height = 1280; /* 设置编码的高 */
video_encoder_config.frameRate = 15; /* 设置编码的帧率 */
video_encoder_config.bitrate = 800; /* 设置编码的码率,单位是kb */
video_encoder_config.orientationMode = AliRtcVideoEncoderOrientationModeAdaptive; /* 设置编码横竖屏参数 */
video_encoder_config.keyFrameInterval = 2000; /* 设置编码I帧间隔,单位ms; 直播场景时必须设置一个值 */
video_encoder_config.forceStrictKeyFrameInterval = false; /* 强制按照设置值产生I帧 */
/* 2st 调用API设置参数 */
mAliRtcEngine.setVideoEncoderConfiguration(video_encoder_config);
/* 1st 构造编码设置的数据结构 */
AliRtcVideoEncoderConfiguration *config = [[AliRtcVideoEncoderConfiguration alloc] init];
config.dimensions = CGSizeMake(720,1280); /* 设置编码的宽和高 */
config.frameRate = 15; /* 设置编码的帧率 */
config.bitrate = 800; /* 设置编码的码率,单位是kb */
config.orientationMode = AliRtcVideoEncoderOrientationModeAdaptive; /* 设置编码横竖屏参数 */
config.keyFrameInterval = 2000; /* 设置编码I帧间隔,单位ms;直播场景时必须设置一个值 */
config.forceStrictKeyFrameInterval = NO; /* 强制按照设置值产生I帧 */
/* 2st 调用API设置参数 */
[self.engine setVideoEncoderConfiguration:config];
该文章对您有帮助吗?
- 本页导读 (1)
- 功能介绍
- 实现原理
- 注意事项
- 示例代码