MediaCodec 低延时解码

Posted 咸鱼Jay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MediaCodec 低延时解码相关的知识,希望对你有一定的参考价值。

介绍

我们在使用Android的硬解进行解码时,如果是Android11以上则可以使用其特性低延迟,谷歌官方文档
以下是Android 11支持的低时延特性:

  1. ANGLE支持:Android 11引入了ANGLE(Almost Native Graphics Layer Engine)支持,它是一个开源的跨平台图形引擎,可以将OpenGL ES和Vulkan API转换为DirectX API。使用ANGLE可以提高图形渲染的性能和稳定性。

  2. 延迟减少API:Android 11中新增了延迟减少API,可以帮助应用在系统层面优化处理延迟,从而提升应用的实时性。其中包括了一个新的API,可以帮助应用在音频处理上实现更低的延迟。

  3. 零拷贝视频编解码:Android 11支持零拷贝视频编解码,可以将数据直接从内存中传输到硬件解码器中,从而降低处理延迟和功耗。

  4. 低延迟视频播放:Android 11中新增了低延迟视频播放特性,可以在硬件加速器中使用低延迟模式进行视频解码,从而降低视频播放的延迟和卡顿。

总的来说,Android 11支持的低时延特性主要涵盖了图形渲染、音频处理、视频编解码等方面,可以帮助应用在提升实时性和性能表现方面更上一层楼。

使用

Java层的使用

format.setInteger(MediaFormat.KEY_LOW_LATENCY, 1);

native层的使用

AMediaFormat_setInt32(ndkFormat, "low-latency", 1);

以上是关于MediaCodec 低延时解码的主要内容,如果未能解决你的问题,请参考以下文章

Android媒体解码MediaCodec MediaExtractor学习

Android MediaCodec硬件解码视频播放

Android 用MediaCodec实现视频硬解码

Android 音视频 - MediaCodec 编解码音视频

android硬编解码MediaCodec

Android 视频播放延时抖动那些事