IntelRealSense / RealSenseID

Intel® RealSense™ ID SDK
https://intelrealsense.com/facial-authentication/
Apache License 2.0
98 stars 56 forks source link

Corrupt JPEG data: 115936 extraneous bytes before marker #116

Open zeynepkoyun opened 3 years ago

zeynepkoyun commented 3 years ago

Hi @gabime, @benlev

I get the error "Corrupt JPEG data: 115936 extraneous bytes before marker" when running the viewer.py code in python and the image looks corrupted. While the camera continues to work, I get the following output:

gabime commented 3 years ago

Please provide more info about os, compiler and python versions.

zeynepkoyun commented 3 years ago

Lütfen işletim sistemi, derleyici ve python sürümleri hakkında daha fazla bilgi verin.

Hi @gabime , Ubuntu 16.04, python3.6 and the project version I am using is v0.23.0

gabime commented 3 years ago

Please try the rsid-cli tool to see if the problem is python specific or os related (press ‘c’ to get some preview frames).

Also, please use ubuntu 18 or later.

zeynepkoyun commented 3 years ago

Hi @gabime I get the error I mentioned, especially when the device starts to heat up, but when I get an error, when I look at the realsenseID application in windows, the images look normal. As you said, let me check with "rsid-cli" in ubuntu and share the results with you.

mdisg commented 3 years ago

@gabime I have the same error running the preview-c-sample on my Linux ARM device and the latest firmware

# LD_LIBRARY_PATH=. ./preview-c-sample
run preview for 30 sec
frame #0: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 9582 extraneous bytes before marker 0xd0
frame #1: 1056X1920 (6082560 bytes)

Compiler info:

-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0

I checked the log files and found the following:

Aug 26 07:11:32 (none) kern info kernel:  uvcvideo: Unknown video format 41414270-0000-0010-8000-00aa00389b71
Aug 26 07:11:32 (none) kern info kernel:  uvcvideo: Found UVC 1.10 device Intel F450 (2aad:6373)

The first line did not appear with older firmware from Release 0.17.0.

zeynepkoyun commented 3 years ago

@mdisg , @gabime I keep getting the error. However, I found a temporary solution: instead of processing all frames, I get every 5 frames. When you work in this way, distortions occur in the frames after much longer periods of time.

mdisg commented 3 years ago

@zeynepkoyun The issue occurs for every frame in my case directly after starting the preview. So it might be differnt to yours.

# ./preview-c-sample
run preview for 30 sec
frame #0: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 10871 extraneous bytes before marker 0xd0
frame #1: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 458 extraneous bytes before marker 0xd0
frame #2: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 1878 extraneous bytes before marker 0xd0
frame #3: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 1072 extraneous bytes before marker 0xd0
frame #4: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 982 extraneous bytes before marker 0xd0
frame #5: 1056X1920 (6082560 bytes)
Premature end of JPEG file
frame #6: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 958 extraneous bytes before marker 0xd0
frame #7: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 596 extraneous bytes before marker 0xd0
frame #8: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #9: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 394 extraneous bytes before marker 0xd0
frame #10: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #11: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #12: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 130 extraneous bytes before marker 0xd0
frame #13: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 207 extraneous bytes before marker 0xd0
frame #14: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #15: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 536 extraneous bytes before marker 0xd0
frame #16: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 427 extraneous bytes before marker 0xd0
frame #17: 1056X1920 (6082560 bytes)
Premature end of JPEG file
frame #18: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #19: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #20: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
zeynepkoyun commented 3 years ago

@zeynepkoyun Sorun, önizlemeyi başlattıktan hemen sonra benim durumumdaki her kare için ortaya çıkıyor. Yani sizinkinden farklı olabilir.

# ./preview-c-sample
run preview for 30 sec
frame #0: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 10871 extraneous bytes before marker 0xd0
frame #1: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 458 extraneous bytes before marker 0xd0
frame #2: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 1878 extraneous bytes before marker 0xd0
frame #3: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 1072 extraneous bytes before marker 0xd0
frame #4: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 982 extraneous bytes before marker 0xd0
frame #5: 1056X1920 (6082560 bytes)
Premature end of JPEG file
frame #6: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 958 extraneous bytes before marker 0xd0
frame #7: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 596 extraneous bytes before marker 0xd0
frame #8: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #9: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 394 extraneous bytes before marker 0xd0
frame #10: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #11: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #12: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 130 extraneous bytes before marker 0xd0
frame #13: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 207 extraneous bytes before marker 0xd0
frame #14: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #15: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 536 extraneous bytes before marker 0xd0
frame #16: 1056X1920 (6082560 bytes)
Corrupt JPEG data: 427 extraneous bytes before marker 0xd0
frame #17: 1056X1920 (6082560 bytes)
Premature end of JPEG file
frame #18: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #19: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment
frame #20: 1056X1920 (6082560 bytes)
Corrupt JPEG data: premature end of data segment

@mdisg
No, that's how it happens to me too. When I unplugged the camera and tried again, it was fixed. Sometimes I don't get this error even though the camera works for hours, sometimes I get it as soon as I start the camera.

mdisg commented 3 years ago

@zeynepkoyun Unplugging the camera and starting fresh has no effect on my device. The error occurs at the first frame and continues.

mdisg commented 3 years ago

@zeynepkoyun For my test environment I did some change to the realsense library I added to issue #121 (direct link to post)

Now as the JPEG is no longer processed and only passed I have a working MJPEG stream on my HTTP server. The pictures are all good. Sometimes there are lags so I think the corrupted data is still there but ignored by the browser/client.

zeynepkoyun commented 2 years ago

Hi @mdisg Did this piece of code exactly solve your problem? When I made this change and tested it, I noticed that the recorded images were wrong, but the display does not show the wrong image, but the camera is still broken.

mdisg commented 2 years ago

@zeynepkoyun yes the wrong images are ignored/dropped e.g. by the client in my case Firefox or Chromium so the data is still corrupted as I mentioned in my last post.

zeynepkoyun commented 2 years ago

@mdisg @gabime I am working with ubuntu 16.04. When I get a distorted image from the camera, the image looks fine when I look at it with the windows application.

RealSenseSupport commented 2 years ago

Hi @zeynepkoyun In my environment, I can find a few line like "[StreamConverter] jpeg error: Not a JPEG file: starts with 0xff 0xd0" in my log file, after many time viewer.py/preview-cpp-sample

Is there anther camera in your PC?

zeynepkoyun commented 2 years ago

Hi @zeynepkoyun In my environment, I can find a few line like "[StreamConverter] jpeg error: Not a JPEG file: starts with 0xff 0xd0" in my log file, after many time viewer.py/preview-cpp-sample

Is there anther camera in your PC?

@RealSenseSupport Hi I am getting this error when working with F455 camera. I get it when running on Ubuntu machine. When I work with windows right after, the images are fine.