我从我的ip cam下载了一个jpg文件。
但该文件似乎已损坏或其格式有所不同。
我无法使用safari或preview.app(macOS)打开它,
但它以chrome显示。
我真正想做的是以编程方式下载并在UIImageView中显示,但图像数据总是为零。
我对图像格式知之甚少,问题很奇怪,
所以,如果你愿意帮助我,看看那张照片是什么,
图片:broken jpg
感谢您的时间!
更新2017/03/30:
还没有找到解决运动jpeg帧的答案。
从我用Google搜索,差异是DHT,但不知道如何将其添加到框架中。
据我所知,很少有像libjpeg-turbo,ffmpeg这样的第三方库,但还没有找到一个例子。
如果你之前已经用C或Objective-C写过,希望你能帮助我!
真的想要并且需要知道如何!
谢谢!
答案 0 :(得分:1)
您的文件是Motion JPEG文件,而不是JPEG图像......
这解释了为什么浏览器能够打开它,你可以通过查看编解码器信息在vlc中检查:
动态JPEG视频(MJPG)
或甚至通过ffmpeg -i MeQ6p.jpg
:
Stream#0:0:视频:mjpeg,yuvj422p(pc,bt470bg / unknown / unknown),640x480,25 tbr,25 tbn,25 tbc
所以你的问题只在于你的文件,这可以通过设置你的ip-cam来保存静止的JPEG图像而不是MJPEG流来修复。
答案 1 :(得分:0)
我刚试过,可以看到数据从你发布的URL中获取并获得了大约17750字节。
let imageURL = NSURL(string : "https://i.stack.imgur.com/MeQ6p.jpg")
let imageData = NSData(contentsOfURL: imageURLFromParse! as NSURL)