gpt4 book ai didi

Android:获取视频的所有帧(任意视频文件)

转载 作者:行者123 更新时间:2023-11-29 21:21:58 29 4
gpt4 key购买 nike

friend 们好,

我正在开发一个连接视频编辑的简单应用程序。

我需要的是获取视频的所有帧(据我所知,帧可以被视为位图)

全部获取后,我需要编辑帧(位图)然后在 imageview 中显示它(尽管我要做的是循环播放所有图像,就像它们是视频一样。

我试着用

mediaMetadataRetriever.getFrameAtTime(0);

但问题是,在给定时间内捕获的帧不正确。

示例代码:

bm[1] = mediaMetadataRetriever.getFrameAtTime(0);
bm[2] = mediaMetadataRetriever.getFrameAtTime(50000);
bm[3] = mediaMetadataRetriever.getFrameAtTime(100000);
bm[4] = mediaMetadataRetriever.getFrameAtTime(150000);
bm[5] = mediaMetadataRetriever.getFrameAtTime(200000);

然后在 ImageView 中循环显示位图。

我听说过 ffmpeg 并尝试研究它。

问题是,我使用的是 windows 而不是 ubuntu 或 linux。

我现在真的很难过。

请帮助我或指导我走正确的道路。

非常感谢 :)

最佳答案

注意 MediaMetadataRetriever.getFrameAtTime方法使用的参数表示以微秒(秒的 1/1000000 部分)而不是毫秒(1/1000 部分)为单位的时间偏移值。

这至少可以解决您使用 MediaMetadataRetriever 捕获帧时遇到的问题。 .

无论如何,检查一些替代方案(例如 JavaCV)对您来说可能很有趣它代表 OpenCV、FFmpeg 和其他一些流行的图像和视频处理库的包装器。 JavaCV 支持 Windows、Linux、Mac OS 和 Android。

JavaCV 确实缺乏更好的文档,但在其主页上有一些示例可能是很好的起点。可以在 Cookbook Examples 找到更多高级示例用斯卡拉写的。如果对该语言有一些基本的了解,即使对于纯 Java 开发人员来说,它也可能是宝贵的资源。

关于Android:获取视频的所有帧(任意视频文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624996/

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