音视频编解码

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

切换视频解码器

设置视频硬件编码模式,目前仅支持高通CPU系列的硬件编码,如果设备不支持硬件编码,设置硬件编码后会自动回滚到软件编码模式。

    /**
     * 视频硬件编码模式。
     *
     * 目前仅支持高通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);

切换视频解码器

设置视频硬件解码模式,目前仅支持高通CPU系列的硬件解码,如果设备不支持硬件解码,设置硬件解码后会自动回滚到软件解码模式。

    /**
     * 视频硬件解码模式。
     *
     * 目前仅支持高通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);

设置视频最大编码码率

设置视频流的最大码率,码率需要结合分辨率来设置,不能设置过小。

    /**
     * 视频最大码率。
     *
     * 设置视频流的最大码率,码率需要结合分辨率来设置,不能设置过小。
     *
     */
    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);