在Android中,如何在流媒体时动态更改MediaCodec编码比特率?
我想根据当前网络动态更改Android在Android中,如何在流媒体时动态更改MediaCodec编码比特率?,android,video-encoding,android-mediacodec,android-mediarecorder,Android,Video Encoding,Android Mediacodec,Android Mediarecorder,我想根据当前网络动态更改AndroidMediaCodec的编码比特率,包括H264和AAC 如何在AndroidMediaCodec中动态更新编码比特率 PS:我发现API 19上提供了PARAMETER\u KEY\u VIDEO\u比特率和setParameters 动态更改视频编码器的目标比特率。该值是一个整数对象,包含以bps为单位的新比特率 常量值:“视频比特率” 向组件实例传达其他参数更改 投掷 如果处于未初始化状态,则为IllegalStateException 在API 1
MediaCodec
的编码比特率,包括H264和AAC
如何在AndroidMediaCodec
中动态更新编码比特率
PS:我发现API 19上提供了PARAMETER\u KEY\u VIDEO\u比特率
和setParameters
动态更改视频编码器的目标比特率。该值是一个整数对象,包含以bps为单位的新比特率
常量值:“视频比特率”
向组件实例传达其他参数更改
投掷
如果处于未初始化状态,则为IllegalStateException
在API 19下有什么方法可以做到这一点吗?停止编解码器、设置参数并重新启动对我来说很有效。您的格式需要支持自适应比特率。我可以使用以下命令设置比特率。请确保您使用的是api 19或更高版本。我正在将H264帧编码到FLV容器中
Bundle比特率=新Bundle();
比特率.putInt(MediaCodec.PARAMETER\u KEY\u VIDEO\u比特率,targetBitrate);
设置参数(比特率)代码>@fadden你能给我一些建议吗?谢谢。对不起,我不知道。为什么不呢?我认为在不停止编码器的情况下改变比特率是不可能的。我也这么认为。所以我希望有人能保证。