5

如何将IPLImageOpenCV 保存为 Flash 文件?也许有一个图书馆可以做到这一点?

4

4 回答 4

4

如果您的意思是将输出存储为 Flash 视频 (.flv),只需使用 ffmpeg (libavcodec/libavformat)。它是跨平台的并且支持 .flv 格式(除了大量其他格式)并且应该很容易做到。您也可以嵌入音频。

注意:ffmpeg作为视频编码器/解码器部分包含在opencv中(取决于您的构建),但我不知道您是否可以从opencv中强制它写为.flv(通过选择正确的编解码器字符串) . 无论如何,将 IplImage 转换为 ffmpeg 缓冲区并从那里存储并不难。

您可能遇到的一个问题是,最新的 opencv (2.1) 在构建 ffmpeg 支持时遇到了麻烦,或者是针对您不想要的某些 ffmpeg 版本构建的。但是如上所述,您不需要通过 opencv 2.1 api 使用 ffmpeg,因为您可以通过使用 ffmpeg api 直接使用它。

在 libavcodec 中查找有关如何编写视频的示例,并查看有关如何从 IplImage 转换为 AVPacket/AVFrame 的 opencv 源代码。我以前做过,而且很容易做到。

于 2011-03-03T17:33:33.340 回答
1

我不太了解 Flash,但您可以操作 IplImage 的数据指针(名为 char *imageData)。数据可作为 1 到 4 位计划以您肯定知道的格式访问。尝试从此数据指针写入 Flash 文件。

于 2011-02-28T16:13:09.487 回答
0

lital ,据我所知 openCV 不支持创建 flash 。我对此类问题的解决方案是Red5 Server

正如他们的页面所说

Red5 是一个用 Java 编写的开源 Flash 服务器,它支持:

  • 流媒体视频(FLV、F4V、MP4)

    • ……
于 2011-03-01T09:43:50.470 回答
0

您可以将图像转储到一系列文件中,例如 img00000.ppm、img00001.ppm、...,然后将视频编码委托给 MEncoder,根据docs,MEncoder 支持 flv。

这就是我们通常为了准备这样的视频而做的事情

于 2011-03-06T23:27:37.283 回答