当 jpeg 源是 mjpeg 流时,AWS Rekognition InvalidImageFormatException

Wil*_*ill 5 jpeg mjpeg amazon-web-services amazon-rekognition

我正在从 mjpg 流中提取 jpg 帧。这些是有效的 jpg 文件,可以在我尝试过的任何图像工具中使用;但是,当以字节形式发送它们时,或者当我将它们移至 S3 并尝试该路线时,Rekognition 都不会接受它们。

我制作了几个版本(附在此处),全部来自相同的源 jpg(我会将它们内联包含,但我不希望图像优化代码来更改它们)

test.jpg- 原始框架

test-photoshop.jpg- 在 Photoshop 中打开,“另存为网页”d

test-imageoptim.jpg- 运行 ImageOptim(我相信它是用 jpegtran 压缩的)

在十六进制编辑器中查看这些,我看不到的唯一区别是更多的 exif 数据(使用 exiftool)。当我在原始版本上运行 exiftool 时,它仍然报告框架的所有基本详细信息。

我假设这是 Rekognition 的一个错误,或者它正在寻找一些特定的 exif 位,而我的 mjpeg 流提取被忽略了。也许有人知道为什么仅通过附加正确的开始和结束帧字节就不可能从 mjpeg 中提取 jpeg 帧。

Chr*_*s O 3

来自评论:

只是猜测,尝试砍掉最后 FF D9 标记之后的最后 6 个字节,也许这些字节让亚马逊感到困惑。

这是十六进制查看器的快照:

在此输入图像描述