我从我的网络摄像头下载了一个 jpg 文件。
但文件似乎已损坏或与格式有关。
我无法使用 safari 或 preview.app(macOS) 打开它,
但它以 chrome 显示。
我真正想做的是以编程方式下载它并在 UIImageView 中显示,但图像数据始终为零。
我对图像格式了解不多,问题很奇怪,
所以如果你愿意帮助我看看那张照片是怎么回事,
图像:broken jpg
感谢您的宝贵时间!
2017/03/30 更新:
仍然没有找到如何解码运动 jpeg 帧的答案。
据我搜索,不同之处在于 DHT,但不知道如何将其添加到框架中。
据我所知,像libjpeg-turbo、ffmpeg这样的第三方库很少,但还没有找到例子。
如果你以前做过这个并且用 C 或 Objective-C 编写过,希望你能帮助我!
真的很想知道怎么做!
谢谢!
最佳答案
您的文件是 Motion JPEG文件,而不是 JPEG 图像...
这确实解释了为什么浏览器能够打开它,您可以通过查看编解码器信息在 vlc 中进行检查:
Motion JPEG Video (MJPG)
甚至通过 ffmpeg -i MeQ6p.jpg
:
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 25 tbr, 25 tbn, 25 tbc
所以你的问题只出在你的文件上,这可能可以通过将你的 ip-cam 设置为保存静态 JPEG 图像而不是 MJPEG 流来解决。
关于ios - jpg 文件在 chrome 中显示,但在 safari 中不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43037360/