I'm using OpenCV with Python3 to capture images from a 720p WebCam on USB. It's operating on a headless processor, so I can't use the Cam application to check the device.

ubuntu@arm:~$ pkg-config --modversion opencv

ubuntu@arm:~$ readlink -f $(which python3) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python3.6: Python 3.6.7

ubuntu@arm:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

The device is controlled by a python script, and runs perfectly for an hour. Some complaints about:

 Corrupt JPEG data: 2 extraneous bytes before marker 0xd5

The images captured are perfectly serviceable and it repeats quite happily, so I'm assuming this is harmless.

Then after about an hour it stops working. No user interaction, nothing I'm aware of interfering. It suddenly starts reporting:

VIDEOIO ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV

After that point, nothing works. I can shutdown the script and reopen it. Nope. I currently open the camera on each loop of my sampler, a fresh cv2.VideoCapture(0) and a release() too. There is a battery on the unit, but it's under mains power. The USB hub is not powered, but that is due to hardware issues that would prevent use of the hub if it was powered... I'm assuming by the fact it's worked fine for over an hour, there is no link to the USB power arrangement.

A power cycle, shutdown -r, clears it and we are quite happy again.

v4l2-ctl -d /dev/video0 --all

Driver Info (not using libv4l2):
        Driver name   : uvcvideo
        Card type     : UVC Camera (046d:0825)
        Bus info      : usb-musb-hdrc.1-1.3
        Driver version: 4.14.108
        Capabilities  : 0x84200001
                Video Capture
                Extended Pix Format
                Device Capabilities
        Device Caps   : 0x04200001
                Video Capture
                Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'MJPG'
        Field             : None
        Bytes per Line    : 0
        Size Image        : 341333
        Colorspace        : sRGB
        Transfer Function : Default (maps to sRGB)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)
        Flags             :
Crop Capability Video Capture:
        Bounds      : Left 0, Top 0, Width 640, Height 480
        Default     : Left 0, Top 0, Width 640, Height 480
        Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 640, Height 480
Selection: crop_bounds, Left 0, Top 0, Width 640, Height 480
Streaming Parameters Video Capture:
        Capabilities     : timeperframe
        Frames per second: 30.000 (30/1)
        Read buffers     : 0
                     brightness 0x00980900 (int)    : min=0 max=255 step=1 defau                                                                         lt=128 value=128
                       contrast 0x00980901 (int)    : min=0 max=255 step=1 defau                                                                         lt=32 value=32
                     saturation 0x00980902 (int)    : min=0 max=255 step=1 defau                                                                         lt=32 value=32
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                           gain 0x00980913 (int)    : min=0 max=255 step=1 defau                                                                         lt=64 value=131
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 valu                                                                         e=2
      white_balance_temperature 0x0098091a (int)    : min=0 max=10000 step=10 de                                                                         fault=4000 value=2610 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=255 step=1 defau                                                                         lt=24 value=24
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default                                                                         =0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 valu                                                                         e=3
              exposure_absolute 0x009a0902 (int)    : min=1 max=10000 step=1 def                                                                         ault=166 value=667 flags=inactive
         exposure_auto_priority 0x009a0903 (bool)   : default=0 value=1


You must log in to answer this question.

Browse other questions tagged .