2017-03-27 1 views
1

내 ip cam에서 jpg 파일을 다운로드했습니다.jpg 파일이 크롬에서는 표시되지만 사파리에서는 표시되지 않습니다.

하지만 파일이 손상되었거나 형식이 잘못되었습니다. 내가 사파리 또는 preview.app (맥 OS)를 사용하여 열 수 없습니다

,

하지만 크롬에서 보여줍니다.

내가 실제로하려는 것은 프로그래밍 방식으로 다운로드하여 UIImageView에 표시하는 것입니다. 그러나 이미지 데이터는 항상 nil입니다.

그래서
나는 이미지 형식이며 이상한 질문에 대해 잘 모르는

,

당신이 나를 도와 볼 의향이 있다면 무슨

이미지, 그 사진과 함께 진행 : broken jpg

감사합니다.


업데이트 2017년 3월 30일 :

는 여전히 동작 JPEG 프레임을 디코딩하는 방법에 대한 해답을 발견하지 않았습니다.

내가봤을 때, 차이점은 DHT이지만 프레임에 추가하는 방법을 알지 못합니다.

내가 아는 한 libjpeg-turbo, ffmpeg와 같은 타사 라이브러리는 거의 없지만 예제를 찾지 못했습니다.

이전에 C 또는 Objective-C로 작성한 적이 있다면 도와주세요!

정말 원하는 방법을 알아야합니다!

감사합니다.

+0

PS에서 파일을 여는 경우이 오류가 발생합니다. * JPEG SOS 표식 전에 SOFn, DQT 또는 DHT JPEG 표식이 없기 때문에 요청을 완료 할 수 없습니다. * 어떻게 제거했는지 모르겠지만 이미지를 다시 저장해야합니다. – Kaiido

+0

안녕하세요 @ 카이도, 내 ​​ip cam에서 바로 이미지를 다운로드했습니다. 프로그래밍 방식으로 추가해야하는 것 같습니다. 번거롭고 낭비입니다. 당신의 도움을 주셔서 감사합니다! 답장을 보내 주셔서 감사합니다. – gabrielchn

답변

1

파일은

은 브라우저를 열 수있는 이유를 설명 않으며 당신이 코덱 정보를보고 VLC에서 확인 가능 ... Motion JPEG 파일이 아닌 JPEG 이미지입니다 :

모션 JPEG 비디오 (MJPG)

또는 ffmpeg -i MeQ6p.jpg 통해 :

,

스트림 # 0 : 0 : 비디오 : MJPEG, (PC, bt470bg/알/알 수 없음) yuvj422p, 640 × 480, 25 TBR, 25 TBN, 25

TBC 그래서 문제는 파일 만에있다 이것은 MJPEG 스트림 대신에 여전히 JPEG 이미지를 저장하도록 ip-cam을 설정하여 해결할 수 있습니다.

+0

다시 내 jpeg 파일로 내 '이미지'를 감싸는 방법을 찾았지만 괜찮 았지만 실제 해결책이되어야합니다. 다시 한 번 감사드립니다! – gabrielchn

+0

그런데 프레임 단위로 mjpeg 스트림을 ffmpeg로 디코딩 할 수 있습니까? 왜냐하면 tcp 연결을 통해 데이터를 가져 와서 HTTP가 아닌 데이터를 결합해야하기 때문에 웹보기에 표시 할 수 없기 때문입니다. 누군가가 저에게 말할 수 있기를 바랍니다. 그동안 나는 연구를하고있다. 이 문제를 즉시 해결하고 싶습니다. – gabrielchn

+0

@gabrielchn, 네, 그냥'ffmpeg -i MeQ6p.jpg outputframe % d.jpg'을 실행하면'outputframe [n] .jpg'라는 이름의 jpeg 파일에 mjpeg의 모든 프레임이 추출됩니다 (주어진 하나의 프레임 만있는 경우) – Kaiido

0

방금 ​​시도했는데 게시 된 URL에서 데이터가 가져오고 17750 바이트가 표시됩니다.

let imageURL = NSURL(string : "https://i.stack.imgur.com/MeQ6p.jpg") 
let imageData = NSData(contentsOfURL: imageURLFromParse! as NSURL) 
+0

하지만이 줄을 쓰는 경우 : let im = UIImage (data : imgData!); 'img'는 0이됩니다. – gabrielchn

+0

네, 이미지에 문제가있는 것처럼 보입니다. 다른 이미지로 시도했는데 예상대로 작동합니다. 새 이미지를 업로드 해보십시오. 코딩 문제는 아닙니다. – Joe

+0

모든 이미지에 동일한 문제가 있습니다. 웹 사이트가 jpg로 이미지를 숨길 수 있다는 것을 알았습니다. 다른 옵션없이 이미지를 업로드하고 변환하면 이미지가 복구됩니다. 아마도 형식 문제 일 수 있습니다. – gabrielchn

관련 문제