根据当前网络,我想动态更改编码比特率包括Android MediaCodec
的 H264和AAC 。
如何动态更新Android MediaCodec
中的编码比特率?
PS:我发现API 19上有PARAMETER_KEY_VIDEO_BITRATE
和setParameters
动态更改视频编码器的目标比特率。该值是一个Integer对象,包含以bps为单位的新比特率。
常数值:“视频比特率”
将其他参数更改传达给组件实例。
抛出 如果处于未初始化状态,则为IllegalStateException。
有没有办法在API 19下进行?
答案 0 :(得分:3)
您的格式需要支持自适应比特率。例如。我能够使用以下设置比特率。请确保您已经在api 19或更高版本中。我正在将H264帧编码为FLV容器。
Bundle bitrate = new Bundle();
bitrate.putInt(MediaCodec.PARAMETER_KEY_VIDEO_BITRATE, targetBitrate);
mEncoder.setParameters(bitrate);
答案 1 :(得分:0)
停止编解码器,设置参数并重新启动它对我有用。