gpt4 book ai didi

android - 顺序显示位图, "like a video"

转载 作者:行者123 更新时间:2023-12-04 22:56:26 26 4
gpt4 key购买 nike

我试图在我的应用程序中重现不支持 android 的视频(如 .wmv 视频),实际上我能够抓取每一帧并创建它的位图。

所以,现在,我试图在 VideoView(或任何其他 View )中依次显示这些位图,就像视频一样。

一些代码:

while (true) {
frame = frameGrabber.grab();
if (frame == null)
break;
frame2 =
IplImage.create(frame.width(), frame.height(),
opencv_core.IPL_DEPTH_8U, 4);
opencv_imgproc.cvCvtColor(frame, frame2,
opencv_imgproc.CV_BGR2RGBA);

bm =
Bitmap.createBitmap(frame2.width(),
frame2.height(), Bitmap.Config.ARGB_8888);
bm.copyPixelsFromBuffer(frame2.getByteBuffer());
canvas = new Canvas(bm);
mVideoView.draw(canvas);
canvas.save();

看起来我可以抓取视频的每一帧(使用 ffmpeg),但我只是不知道如何显示它们。

顺便说一句,我已经尝试将此视频编码为 .mp4 文件并在 VideoView 上播放,但处理整个视频需要很长时间(1 小时),所以,现在,我正在尝试显示它立即,无需对其进行编码 .mp4 (或任何其他 android 支持的视频)

有什么建议吗?

最佳答案

您可以使用 FFplay 实时回放您的图像序列。您无需先将其编码为视频文件。

假设您的文件被命名为 image1.bmp、image2.bmp、image3.bmp ... 等,并且您想以每秒 30 帧的速度播放它们,请尝试:
ffplay -framerate 30 -i image%d.bmp

关于android - 顺序显示位图, "like a video",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13883308/

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