gpt4 book ai didi

java - 将视频分成帧java的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:21 24 4
gpt4 key购买 nike

我见过很多类似的问题,但我有一个不同之处,我需要在 java 中而不是在 c/c++ 中执行此操作,我需要它在 android 设备上工作。

我找到了一种使用“MediaMetadataRetriever”的方法。

但是我需要很长时间来分离帧(~1 秒到帧),我需要读取大约 600 帧,所以我只需要 10 分钟就可以读取图像而不进行图像处理。

我想知道是否有另一种方法可以从视频中拆分帧,或者操纵 MediaMetadataRetriever 并使其快速运行。

非常感谢!

最佳答案

听起来您想使用 MediaCodec 解码器。有一些例子here .

特别是,如果您查看 DecodeEditEncodeTest 代码,checkVideoFile() 函数会将先前创建的流解码为外部纹理,然后使用 OpenGL ES 对其进行操作。 (要从 .mp4 文件执行此操作,您需要通过 MediaExtractor 访问它。)

MediaMetadataRetriever#getFrameAtTime() 真正用于提取缩略图,并不特别适合提取大量帧。

更新:现在有sample code用于使用 MediaExtractorMediaCodec 和 GLES (API 16+) 提取视频帧。

关于java - 将视频分成帧java的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19542385/

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