RealSenseID icon indicating copy to clipboard operation
RealSenseID copied to clipboard

Corrupt JPEG data: 115936 extraneous bytes before marker

Open zeynepkoyun opened this issue 3 years ago • 15 comments

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:

  • Corrupt JPEG data: 177652 extraneous bytes before marker 0xd1
  • Corrupt JPEG data: 3361 extraneous bytes before marker 0xd2
  • Corrupt JPEG data: 529 extraneous bytes before marker 0xd0
  • Corrupt JPEG data: 173675 extraneous bytes before marker 0xd1
  • Corrupt JPEG data: premature end of data segment

zeynepkoyun avatar Aug 05 '21 05:08 zeynepkoyun

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

gabime avatar Aug 08 '21 11:08 gabime

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

zeynepkoyun avatar Aug 08 '21 12:08 zeynepkoyun

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.

gabime avatar Aug 08 '21 16:08 gabime

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.

zeynepkoyun avatar Aug 09 '21 09:08 zeynepkoyun

@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.

mdisg avatar Aug 26 '21 07:08 mdisg

@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.

zeynepkoyun avatar Aug 26 '21 07:08 zeynepkoyun

@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

mdisg avatar Aug 26 '21 07:08 mdisg

@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.

zeynepkoyun avatar Aug 26 '21 07:08 zeynepkoyun

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

mdisg avatar Aug 26 '21 10:08 mdisg

@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.

mdisg avatar Aug 27 '21 09:08 mdisg

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.

zeynepkoyun avatar Sep 14 '21 05:09 zeynepkoyun

@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.

mdisg avatar Sep 14 '21 06:09 mdisg

@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.

zeynepkoyun avatar Sep 14 '21 07:09 zeynepkoyun

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 avatar Oct 18 '21 09:10 RealSenseSupport

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.

zeynepkoyun avatar Oct 18 '21 11:10 zeynepkoyun