音视频编解码

本章介绍音视频编解码相关的功能。网易云允许开发者在音视频通话过程中修改视频的最大编码码率,允许切换视频编解码器(硬编码、软编码)。

切换视频编码器

可以在通话过程中切换视频编码器,硬件编码器仅在iOS8及以上系统有效。

@protocol NIMNetCallManager <NSObject>
/**
 *  切换视频编码器
 *
 *  @param codec 视频编码器
 *
 *  @return 是否设置成功. 如果用户尚未加入, 则无法设置
 *
 *  @discussion 硬编码设置仅在iOS8及以上系统有效
 *
 */
- (BOOL)switchVideoEncoder:(NIMNetCallVideoCodec)codec;
@end
参数 类型 说明
codec NIMNetCallVideoCodec 视频编码器
//切换为软件编码
[[NIMAVChatSDK sharedSDK].netCallManager switchVideoEncoder:NIMNetCallVideoCodecSoftware];

切换视频解码器

可以在通话过程中切换视频解码器,硬件解码器仅在iOS8及以上系统有效。

@protocol NIMNetCallManager <NSObject>
/**
 *  切换视频解码器
 *
 *  @param codec 视频解码器
 *
 *  @return 是否设置成功. 如果用户尚未加入, 则无法设置
 *
 *  @discussion 硬解码设置仅在iOS8及以上系统有效
 *
 */
- (BOOL)switchVideoDecoder:(NIMNetCallVideoCodec)codec;
@end
参数 类型 说明
codec NIMNetCallVideoCodec 视频解码器
//切换为软件解码
[[NIMAVChatSDK sharedSDK].netCallManager switchVideoDecoder:NIMNetCallVideoCodecSoftware];

设置视频最大编码码率

可以在视频通话过程中实时改变视频编码码率,以满足不同网络状况和使用场景需求。如果用户尚未加入通话,则无法设置。

@protocol NIMNetCallManager <NSObject>
/**
 *  设置视频最大编码码率
 *
 *  @param bitrate 最大编码码率 (bps)
 *
 *  @return 是否设置成功
 */
- (BOOL)setVideoMaxEncodeBitrate:(NSUInteger)bitrate;
@end
参数 类型 说明
bitrate NSUInteger 最大编码码率 (bps) 最大编码码率设置上限 5M
//设置最大编码码率500kbps
[[NIMAVChatSDK sharedSDK].netCallManager setVideoMaxEncodeBitrate:500000];