gpt4 book ai didi

encode - 安卓媒体编解码器 : how to request a key frame when encoding

转载 作者:行者123 更新时间:2023-12-05 01:30:56 30 4
gpt4 key购买 nike

在Android4.1中,实时编码应用中经常会请求关键帧。但是如何使用 MediaCodec 对象呢?当前的 Android4.2 SDK 似乎不支持它。

最佳答案

可以 通过在排队输入缓冲区时指定 MediaCodec.BUFFER_FLAG_SYNC_FRAME 来生成随机关键帧:

MediaCodec codec = MediaCodec.createDecoderByType(type);
codec.configure(format, ...);
codec.start();
ByteBuffer[] inputBuffers = codec.getInputBuffers();
for (;;) {
int inputBufferIndex = codec.dequeueInputBuffer(timeoutUs);
if (inputBufferIndex >= 0) {
// fill inputBuffers[inputBufferIndex] with valid data
...
codec.queueInputBuffer(inputBufferIndex, 0, inputBuffers[inputBufferIndex].limit(), presentationTime,
isKeyFrame ? MediaCodec.BUFFER_FLAG_SYNC_FRAME : 0);
}

}

在 Galaxy Nexus 上编码视频时偶然发现需要插入随机关键帧。
在它上面,MediaCodec 没有在视频开始时自动生成关键帧。

关于encode - 安卓媒体编解码器 : how to request a key frame when encoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13698893/

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