1

我有一个视频文件。我已经使用 Xuggler 将此视频转换为一组图像帧,现在我必须读取每一帧图像并需要进行一些处理。假设我们有 2000 张这样的图像(我正在使用 Xuggler - 这会将视频转换为图像,然后将图像转换为视频)。现在说在第一个图像中我必须在给定的坐标上绘制一个矩形。一旦图像的所有处理都结束了,所有图像都会被 Xuggler 工具转换为视频。

由于视频文件非常大,例如 5TB 甚至更多。我想在 Hadoop mapreduce 上完成所有图像处理工作。我找到了一个 API HIPI,它专门用于 Hadoop 中的图像处理。

但是 HIPI 不支持添加元数据信息。我需要一些与每个图像相关联的元数据信息,以便在 Mapper 中我可以找出图像 ID,然后根据给定的参考文件处理该图像 ID 注意:我有一个参考文件,其中包含图像编号、位置坐标等信息的图像。因此,在 MapTask 中,当我得到任何特定图像时说图像编号 10,然后我会进行一些图像处理,例如绘制给定坐标的形状等

如果我使用 HIPI,则地图任务包含 ImageHeader 作为 Key 和 FloatImage 作为值。并且在 ImageHeader 中我没有任何信息(甚至没有文件名)。所以我无法将 hdfs 分布式文件与我拥有的参考数据进行比较

我们还有其他更好的方法来做到这一点吗?

4

0 回答 0