gpt4 book ai didi

Android 4.1 MediaCodec 支持的分辨率

转载 作者:行者123 更新时间:2023-12-02 18:22:24 27 4
gpt4 key购买 nike

我正在尝试让 Android 4.1 的新低级媒体功能适用于 Asus Transformer TF300T 平板电脑上的 H.264 编码。当我尝试提高编解码器的分辨率时,我遇到了一些奇怪的行为:

        MediaFormat mediaFormat = MediaFormat.
createVideoFormat("video/mp4v-es", 320, 240); // WORKS
// MediaFormat mediaFormat = MediaFormat.
// createVideoFormat("video/mp4v-es", 640, 480); // DOESN'T WORK

mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 125000);
mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, 25);
mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar);
mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 5);
mediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
mediaCodec.start();

在后一种情况下,我在调用 mediaCodec.getInputBuffers(); 时收到 IllegalStateException。谁有任何解释(或者更好的是:修复)?

提前致谢!

最佳答案

  1. 尝试 CamcorderProfile API。与从中检索到的配置之一完全匹配的配置可能会起作用。

  2. 显然,在您的情况下,分辨率和其他参数的某种组合导致它无法工作。我想知道是否是帧率? 25有点奇怪,尝试29.97或30,或者也许15。我还想知道这是不是比特率?对于分辨率来说太低了,尝试 500kbit/s。

关于Android 4.1 MediaCodec 支持的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13581964/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com