音视频编解码
本章介绍互动直播中编解码相关的功能。网易云信允许开发者在互动直播过程中修改视频的最大编码码率,允许切换视频编解码器(硬编码、软编码)。 编码码率可以设置最大码率,设置范围是0 到5Mbps。
切换视频解码器
- API介绍
设置视频硬件编码模式,目前仅支持高通CPU系列的硬件编码,如果设备不支持硬件编码,设置硬件编码后会自动回滚到软件编码模式。
- API原型
/**
* 视频硬件编码模式。
*
* 目前仅支持高通CPU系列的硬件编码,如果设备不支持硬件编码,设置硬件编码后会自动回滚到软件编码模式。
*
* Compatibility - 存在设备兼容性问题,部分设备已加入黑名单。
*
* @see AVChatMediaCodecMode#MEDIA_CODEC_AUTO 系统自动选择编解码器
* @see AVChatMediaCodecMode#MEDIA_CODEC_HARDWARE 优先使用硬件编解码器
* @see AVChatMediaCodecMode#MEDIA_CODEC_SOFTWARE 优先使用软件编解码器
*/
public static final Key<String> KEY_VIDEO_ENCODER_MODE = new Key<>(RtcParameters.KEY_VIDEO_ENCODER_MODE, String.class);
- 参数说明
参数 | 说明 |
---|---|
value | 编解码模式,参考AVChatMediaCodecMode。 |
- 示例
AVChatManager.getInstance().setParameter(AVChatParameters.KEY_VIDEO_ENCODER_MODE, MEDIA_CODEC_AUTO);
- 特殊说明 编解码存在设备兼容性问题,部分设备已加入黑名单,使用软件解码。
切换视频解码器
- API介绍
设置视频硬件解码模式,目前仅支持高通CPU系列的硬件解码,如果设备不支持硬件解码,设置硬件解码后会自动回滚到软件解码模式。
- API原型
/**
* 视频硬件解码模式。
*
* 目前仅支持高通CPU系列的硬件解码,如果设备不支持硬件解码,设置硬件解码后会自动回滚到软件解码模式。
* @see AVChatMediaCodecMode#MEDIA_CODEC_AUTO
* @see AVChatMediaCodecMode#MEDIA_CODEC_HARDWARE
* @see AVChatMediaCodecMode#MEDIA_CODEC_SOFTWARE
*/
public static final Key<String> KEY_VIDEO_DECODER_MODE = new Key<>(RtcParameters.KEY_VIDEO_DECODER_MODE, String.class);
- 参数说明
参数 | 说明 |
---|---|
value | 编解码模式,参考AVChatMediaCodecMode。 |
- 示例
AVChatManager.getInstance().setParameter(AVChatParameters.KEY_VIDEO_DECODER_MODE, MEDIA_CODEC_AUTO);
- 特殊说明 编解码存在设备兼容性问题,部分设备已加入黑名单,使用软件解码。
设置视频最大编码码率
- API介绍
设置视频流的最大码率,码率需要结合分辨率来设置,不能设置过小。
- API原型
/**
* 视频最大码率。
*
* 设置视频流的最大码率,码率需要结合分辨率来设置,不能设置过小。
*
*/
public static final Key<Integer> KEY_VIDEO_MAX_BITRATE = new Key<>(RtcParameters.KEY_VIDEO_MAX_BITRATE, Integer.class);
- 参数说明
参数 | 说明 |
---|---|
value | 码率值,0 到5Mbps,单位bps。 |
- 示例
AVChatManager.getInstance().setParameter(AVChatParameters.KEY_VIDEO_MAX_BITRATE, videoMaxBitrate * 1024);
切换视频质量
- API介绍
切换视频质量是通过setParameters
或者setParameter
接口设置的。
- API原型
/**
* 视频清晰度。
*
* 在视频通话时,可以设置你期望的视频发送分辨率。
* 实际采集分辨率和你设置的会有一定的区别, 对于{@code 720P} 可能存在 {@code 960x720} 或者 {@code 1280x720}。
* 更极端的情况下,设备摄像头不支持采集某一档次的清晰度,会自动降低到下一档次。实际采用的清晰度级别可以通过此参数获取。
public static final Key<Integer> KEY_VIDEO_QUALITY = new Key<>(RtcParameters.KEY_VIDEO_QUALITY, Integer.class);
- 参数说明
AVChatVideoQuality | 视频清晰度 |
---|---|
QUALITY_DEFAULT | 默认。 |
QUALITY_LOW | 低分辨率。 |
QUALITY_MEDIUM | 中等分辨率。 |
QUALITY_HIGH | 高分辨率。 |
QUALITY_480P | 480P。 |
QUALITY_540P | 540P。 |
QUALITY_720P | 720P。 |
- 示例
//设置高分辨率
AVChatManager.getInstance().setParameter(AVChatParameters.KEY_VIDEO_QUALITY, AVChatVideoQuality.QUALITY_HIGH);
本篇文档内容是否对您有帮助?
有帮助
我要吐槽
此文档对你是否有帮助
×
有帮助
我要吐槽
×