在 Android 中使用 GPU 进行视频录制和播放

Posted

技术标签:

【中文标题】在 Android 中使用 GPU 进行视频录制和播放【英文标题】:Use GPU in Android for video recording and playback 【发布时间】:2021-10-25 05:13:28 【问题描述】:

我有一个用 android 编写的视频录制应用程序。我想知道是否有任何方法可以使用设备的 GPU 来加快速度或提高录制(例如编码部分)的效率?视频播放如何(例如解码部分、处理等)?

任何示例或指导都会有所帮助。

【问题讨论】:

【参考方案1】:

最简单的答案是确保您的应用使用最常见的编解码器之一,然后设备可能会在硬件中支持此功能 - h.264 可能是最常见的,但现在许多设备可能支持 h.264。 265 也在硬件中。

更复杂的答案是,您的应用实际上可以检查设备上支持的编解码器列表,使用 MediaCodec API 获取 coec 列表,然后查询哪些是硬件加速的(必须是 API 29 或更高版本) :https://developer.android.com/reference/android/media/MediaCodecInfo.html#isHardwareAccelerated()

【讨论】:

如果 API 还提到哪些是硬件加速的,那就太好了。

以上是关于在 Android 中使用 GPU 进行视频录制和播放的主要内容,如果未能解决你的问题,请参考以下文章

如何从android中录制的视频中获取视频名称?

Android使用camera2复制内置视频录制质量和帧率

尽管以纵向视图录制,但使用 mediaRecorder 和表面视图录制的 Android 视频无法在横向视图中播放

在 Android 中录制、保存和播放视频

Android多媒体功能开发(13)——使用MediaRecorder类录制视频

在android中使用OpenCV录制视频