MediaFormat.KEY_I_FRAME_INTERVAL 只接受一个整数值,我假设这就是控制编码器生成 I 帧的频率的因素,对吧?那么这是否意味着如果我使用 MediaCodec 我就不可能更频繁地生成 I 帧?
最佳答案
我终于找到了这个问题的解决方法!
在需要关键帧之前插入以下代码,然后它将在下一个可用帧上生成关键帧。
Bundle b = new Bundle();
b.putInt(MediaCodec.PARAMETER_KEY_REQUEST_SYNC_FRAME, 0);
encoder.setParameters(b);
关于android - 使用 MediaCodec,如何生成间隔小于 1 秒的关键 i 帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39156211/