Skip to content

curses v4l2 python - still multiple issues during setup Ubuntu 20.04 #11

@ZalgoSoft

Description

@ZalgoSoft

such an amasing idea and such silly bugs.
I advice temporary solution for people, who cares, until you make it work out of the box.
Have 2 instances Focal Fossa with stock environment


Bug - unable to install and use this tool. Multile issues on stock box, dump traces, cannot run tool due to odd requirenments for terminal protocol. And not fully control list (see bottom screens and compare to v4l2-ctrl output)


Steps to reproduce: follow recommended install procedure
get pip install git+https://github.com/antmicro/pyvidctrl
get git clone and install https://github.com/antmicro/python3-v4l2.git


Expecred behavior: product installed and works on lastest updated environment

Actial behaviour: unintended fatal errors and python script exceptions, possible not full support of V4L2 controls format and ranges, ( See dumps )


Proposed workaround:
1 Apply proposed workaround during install
2. Get use LINUX term supported SSH client, set some of these settings

изображение
изображение
изображение

  1. run like TERM=linux pyvidctrl

As far I insestigated bug -

  • this software requires 2 features: "transparent cursor" support and 256 and more colors ANSI changeble customizable terminal
  • python3 bytes -to-string decode/encode issue - possible regression, did not dig deep enough.
  • did not investigated colors issue - I do not care.

Proposed workaround (not final solution)

pip install git+https://github.com/antmicro/pyvidctrl
pip install v4l2 
sed "s/range(1\, 9)/list(range(1\, 9))/"  -i /usr/local/lib/python3.8/dist-packages/v4l2.py
sed "s/range(0\, 4)/list(range(0\, 4))/"  -i /usr/local/lib/python3.8/dist-packages/v4l2.py

git clone https://github.com/antmicro/python3-v4l2.git
cd python3-v4l2/
python3 ./setup.py build

--- ./ctrl_widgets.py   2022-05-02 05:21:00.994031552 +0800
+++ /usr/local/lib/python3.8/dist-packages/pyvidctrl/ctrl_widgets.py    2022-05-02 05:26:31.035203163 +0800
@@ -232,7 +232,14 @@
             try:
                 ioctl(device, VIDIOC_QUERYMENU, querymenu)
                 options[i] = querymenu.name.decode("ascii")
-            except OSError:
+            except:
+                try:
+                    ioctl(device, VIDIOC_QUERYMENU, querymenu)
+                    options[i] = querymenu.name.decode("utf8")
+                except:
+                # querymenu can fail for given index, but there can
+                # still be more valid indexes
+                    pass
                 # querymenu can fail for given index, but there can
                 # still be more valid indexes
                 pass
root@rpilan:~#

--- ./__main__.py       2022-05-02 05:28:57.016294678 +0800
+++ /usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py        2022-05-02 05:31:46.112421752 +0800
@@ -153,8 +153,11 @@
         curses.init_pair(1, curses.COLOR_BLUE, curses.COLOR_BLACK)
         curses.init_pair(2, curses.COLOR_RED, curses.COLOR_BLACK)
         curses.init_pair(3, curses.COLOR_YELLOW, curses.COLOR_BLACK)
-        curses.init_pair(7, curses.COLOR_WHITE, 236)
-        curses.init_pair(8, curses.COLOR_YELLOW, 236)
+        try:
+            curses.init_pair(7, curses.COLOR_WHITE, 236)
+            curses.init_pair(8, curses.COLOR_YELLOW, 236)
+        except:
+            pass

     def getch(self):
         return self.win.getch()

TERM=linux pyvidctrl

dumps and system info reports

root@rpilan:~# python3 -V
Python 3.8.10
root@rpilan:~# pip3 -V
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

root@rpilan:~# pip install git+https://github.com/antmicro/pyvidctrl
Collecting git+https://github.com/antmicro/pyvidctrl
  Cloning https://github.com/antmicro/pyvidctrl to /tmp/pip-req-build-d4el1_od
  Running command git clone -q https://github.com/antmicro/pyvidctrl /tmp/pip-req-build-d4el1_od
Requirement already satisfied (use --upgrade to upgrade): pyvidctrl==1.0 from git+https://github.com/antmicro/pyvidctrl in /usr/local/lib/python3.8/dist-packages/pyvidctrl-1.0-py3.8.egg
Requirement already satisfied: v4l2@ git+https://github.com/antmicro/python3-v4l2 from git+https://github.com/antmicro/python3-v4l2 in /usr/local/lib/python3.8/dist-packages (from pyvidctrl==1.0) (0.2)
Building wheels for collected packages: pyvidctrl
  Building wheel for pyvidctrl (setup.py) ... done
  Created wheel for pyvidctrl: filename=pyvidctrl-1.0-py3-none-any.whl size=17747 sha256=1759ee8186cb4fae9b9f2ce14d13836e5bc7ae79e711831537fcf2caa785337b
  Stored in directory: /tmp/pip-ephem-wheel-cache-tuil0r9p/wheels/08/a6/7e/53e46f5203ee2cfb1d4f80769fb998fd71e4c41924abfc3325
Successfully built pyvidctrl
root@rpilan:~# pip install git+https://github.com/antmicro/pyvidctrl --upgrade
Collecting git+https://github.com/antmicro/pyvidctrl
  Cloning https://github.com/antmicro/pyvidctrl to /tmp/pip-req-build-34519u3u
  Running command git clone -q https://github.com/antmicro/pyvidctrl /tmp/pip-req-build-34519u3u
Requirement already satisfied, skipping upgrade: v4l2@ git+https://github.com/antmicro/python3-v4l2 from git+https://github.com/antmicro/python3-v4l2 in /usr/local/lib/python3.8/dist-packages (from pyvidctrl==1.0) (0.2)
Building wheels for collected packages: pyvidctrl
  Building wheel for pyvidctrl (setup.py) ... done
  Created wheel for pyvidctrl: filename=pyvidctrl-1.0-py3-none-any.whl size=17747 sha256=3ae3f88cf9276a90757e98ad14e8ed03f9e9e8ff28c9caa4098efd1d7160e1ba
  Stored in directory: /tmp/pip-ephem-wheel-cache-wwlm0v8z/wheels/08/a6/7e/53e46f5203ee2cfb1d4f80769fb998fd71e4c41924abfc3325
Successfully built pyvidctrl
Installing collected packages: pyvidctrl
  Attempting uninstall: pyvidctrl
    Found existing installation: pyvidctrl 1.0
    Uninstalling pyvidctrl-1.0:
      Successfully uninstalled pyvidctrl-1.0
Successfully installed pyvidctrl-1.0
root@rpilan:~# TERM=linux pyvidctrl
Traceback (most recent call last):
  File "/usr/local/bin/pyvidctrl", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 564, in main
    app = App(device)
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 134, in __init__
    ctrl_widgets.append(CtrlWidget.create(device, ctrl))
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/ctrl_widgets.py", line 42, in create
    return {
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/ctrl_widgets.py", line 656, in __init__
    super().__init__(device, ctrl)
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/ctrl_widgets.py", line 234, in __init__
    options[i] = querymenu.name.decode("ascii")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 1: ordinal not in range(128)
root@rpilan:~#


root@rpilan:/usr/local/lib/python3.8/dist-packages# pip install v4l2 --force-reinstall -I
Processing /root/.cache/pip/wheels/ba/0f/80/8680e821f2b4c3ce81c281e00d0d8e5b1922318b6d57090928/v4l2-0.2-py3-none-any.whl
Installing collected packages: v4l2
Successfully installed v4l2-0.2
root@rpilan:/usr/local/lib/python3.8/dist-packages# cd  /usr/local/lib/python3.8/dist-packages/
root@rpilan:~# TERM=linux pyvidctrl
Traceback (most recent call last):
  File "/usr/local/bin/pyvidctrl", line 5, in <module>
    from pyvidctrl.__main__ import main
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 3, in <module>
    from v4l2 import *
  File "/usr/local/lib/python3.8/dist-packages/v4l2.py", line 197, in <module>
    ) = range(1, 9) + [0x80]
TypeError: unsupported operand type(s) for +: 'range' and 'list'




root@rpilan:~# pip3 install v4l2
Requirement already satisfied: v4l2 in /usr/local/lib/python3.8/dist-packages (0.2)
root@rpilan:~# TERM=linux pyvidctrl
Traceback (most recent call last):
  File "/usr/local/bin/pyvidctrl", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 564, in main
    app = App(device)
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 123, in __init__
    self.ctrls = query_ctrls(device)
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 102, in query_ctrls
    ctrls_v4l2 = query_v4l2_ctrls(dev)
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 52, in query_v4l2_ctrls
    ctrl = v4l2_query_ext_ctrl()
NameError: name 'v4l2_query_ext_ctrl' is not defined

root@rpilan:~/222# git clone https://github.com/antmicro/python3-v4l2.git
Cloning into 'python3-v4l2'...
remote: Enumerating objects: 29, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 29 (delta 2), reused 3 (delta 1), pack-reused 22
Unpacking objects: 100% (29/29), 40.26 KiB | 388.00 KiB/s, done.
root@rpilan:~/222# cd python3-v4l2/
root@rpilan:~/222/python3-v4l2# python3 ./setup.py build
Warning: 'classifiers' should be a list, got type 'tuple'
running build
running build_py
creating build
creating build/lib
copying v4l2.py -> build/lib
root@rpilan:~/222/python3-v4l2# python3 ./setup.py install
Warning: 'classifiers' should be a list, got type 'tuple'
running install
running build
running build_py
running install_lib
copying build/lib/v4l2.py -> /usr/local/lib/python3.8/dist-packages
byte-compiling /usr/local/lib/python3.8/dist-packages/v4l2.py to v4l2.cpython-38.pyc
running install_egg_info
Removing /usr/local/lib/python3.8/dist-packages/v4l2-0.2.egg-info
Writing /usr/local/lib/python3.8/dist-packages/v4l2-0.2.egg-info
root@rpilan:~/222/python3-v4l2#
root@rpilan:~/222/python3-v4l2#
root@rpilan:~/222/python3-v4l2# pyvidctrl
Traceback (most recent call last):
  File "/usr/local/bin/pyvidctrl", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 564, in main
    app = App(device)
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 134, in __init__
    ctrl_widgets.append(CtrlWidget.create(device, ctrl))
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/ctrl_widgets.py", line 42, in create
    return {
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/ctrl_widgets.py", line 656, in __init__
    super().__init__(device, ctrl)
  File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/ctrl_widgets.py", line 234, in __init__
    options[i] = querymenu.name.decode("ascii")
Traceback (most recent call last):can't decode byte 0xf0 in position 1: ordinal not in range(128)


root@rpilan:~/222/python3-v4l2# py  File "/usr/local/bin/pyvidctrl", line 8, in <module>
(failed reverse-i-search)`TER': expor ^CRM=linux  sys.exit(main())
File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 577, in mainn3.8/dist-packages#
root@rpilan:/usr/local/lib/pytho    app.start_tui() cd
File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 156, in start_tui
Traceback (most recent call last):  curses.init_pair(7, curses.COLOR_WHITE, 236)ctrl", line 8, in <module>
    sys.exit(main())        _curses.error: init_pair() returned ERR
--------------
Traceback (most recent call last):
File "/usr/local/bin/pyvidctrl", line 8, in <module>   sys.exit(main())
File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 577, in main       app.start_tui()
File "/usr/local/lib/python3.8/dist-packages/pyvidctrl/__main__.py", line 156, in start_tui curses.init_pair(7, curses.COLOR_WHITE, 236)
_curses.error: init_pair() returned ERR







-------------
Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-104-generic armv7l)
root@michelangelo:~# uname -a ; cat /etc/*rele* ;cat /proc/cpuinfo  |egrep "ode|war"
Linux michelangelo.lan 5.4.0-104-generic #118-Ubuntu SMP Wed Mar 2 19:04:47 UTC 2022 armv7l armv7l armv7l GNU/Linux
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
model name      : ARMv7 Processor rev 0 (v7l)
model name      : ARMv7 Processor rev 0 (v7l)
Hardware        : NVIDIA Tegra SoC (Flattened Device Tree)
root@michelangelo:~# v4l2-ctl --verbose --all
VIDIOC_QUERYCAP: ok
Driver Info:
        Driver name      : uvcvideo
        Card type        : Video Capture 3
        Bus info         : usb-c5008000.usb-1.2
        Driver version   : 5.4.166
        Capabilities     : 0x84a00001
                Video Capture
                Metadata Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : uvcvideo
        Model            : USB Camera: USB Camera
        Serial           : 200901010001
        Bus info         : usb-c5008000.usb-1.2
        Media version    : 5.4.166
        Hardware revision: 0x00000925 (2341)
        Driver version   : 5.4.166
Interface Info:
        ID               : 0x03000002
        Type             : V4L Video
Entity Info:
        ID               : 0x00000001 (1)
        Name             : Video Capture 3
        Function         : V4L2 I/O
        Flags         : default
        Pad 0x01000007   : 0: Sink
          Link 0x02000010: from remote pad 0x100000a of entity 'Processing 2': Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'YUYV' (YUYV 4:2:2)
        Field             : None
        Bytes per Line    : 1280
        Size Image        : 614400
        Colorspace        : sRGB
        Transfer Function : Default (maps to sRGB)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Limited 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 Video Capture: crop_default, Left 0, Top 0, Width 640, Height 480, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 640, Height 480, Flags:
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 default=128 value=128
                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128
                     saturation 0x00980902 (int)    : min=0 max=255 step=1 default=128 value=128
                            hue 0x00980903 (int)    : min=0 max=255 step=1 default=128 value=128
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                          gamma 0x00980910 (int)    : min=100 max=500 step=1 default=220 value=220
                           gain 0x00980913 (int)    : min=0 max=100 step=1 default=0 value=0
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=1 value=1
                                0: Disabled
                                1: 50 Hz
                                2: 60 Hz
      white_balance_temperature 0x0098091a (int)    : min=2800 max=6500 step=10 default=4650 value=4650 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=4 step=1 default=1 value=1
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
                                1: Manual Mode
                                3: Aperture Priority Mode
              exposure_absolute 0x009a0902 (int)    : min=50 max=10000 step=1 default=166 value=10000 flags=inactive
         exposure_auto_priority 0x009a0903 (bool)   : default=0 value=0
root@michelangelo:~#

root@michelangelo:~# uvcdynctrl -c
Listing available controls for device video0:
  Brightness
  Contrast
  Saturation
  Hue
  White Balance Temperature, Auto
  Gamma
  Gain
  Power Line Frequency
  White Balance Temperature
  Sharpness
  Backlight Compensation
  Exposure, Auto
  Exposure (Absolute)
  Exposure, Auto Priority
root@michelangelo:~#
root@michelangelo:~# locale
LANG=ru_RU.UTF-8
LANGUAGE=ru_RU:ru
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=


------------
Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-1059-raspi aarch64)
root@rpilan:~# uname -a ; cat /etc/*rele* ;cat /proc/cpuinfo  |egrep "ode|war"
Linux rpilan 5.4.0-1059-raspi #67-Ubuntu SMP PREEMPT Mon Apr 11 14:16:01 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
Hardware        : BCM2835
Model           : Raspberry Pi 4 Model B Rev 1.1
root@rpilan:~# v4l2-ctl --verbose --all
VIDIOC_QUERYCAP: ok
Driver Info:
        Driver name      : bm2835 mmal
        Card type        : mmal service 16.1
        Bus info         : platform:bcm2835-v4l2
        Driver version   : 5.4.178
        Capabilities     : 0x85200005
                Video Capture
                Video Overlay
                Read/Write
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x05200005
                Video Capture
                Video Overlay
                Read/Write
                Streaming
                Extended Pix Format
Priority: 2
Video input : 0 (Camera 0: ok)
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'YU12' (Planar YUV 4:2:0)
        Field             : None
        Bytes per Line    : 640
        Size Image        : 460800
        Colorspace        : SMPTE 170M
        Transfer Function : Default (maps to Rec. 709)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Limited Range)
        Flags             :
Format Video Overlay:
        Left/Top    : 150/50
        Width/Height: 1024/768
        Field       : None
        Chroma Key  : 0x00000000
        Global Alpha: 0xff
        Clip Count  : 0
        Clip Bitmap : No
Framebuffer Format:
        Capability    : Extern Overlay
                        Global Alpha
        Flags         : Overlay Matches Capture/Output Size
        Width         : 640
        Height        : 480
        Pixel Format  : 'YU12'
Streaming Parameters Video Capture:
        Capabilities     : timeperframe
        Frames per second: 30.000 (30000/1000)
        Read buffers     : 1

User Controls

                     brightness 0x00980900 (int)    : min=0 max=100 step=1 default=50 value=50 flags=slider
                       contrast 0x00980901 (int)    : min=-100 max=100 step=1 default=0 value=0 flags=slider
                     saturation 0x00980902 (int)    : min=-100 max=100 step=1 default=0 value=0 flags=slider
                    red_balance 0x0098090e (int)    : min=1 max=7999 step=1 default=1000 value=1000 flags=slider
                   blue_balance 0x0098090f (int)    : min=1 max=7999 step=1 default=1000 value=1000 flags=slider
                horizontal_flip 0x00980914 (bool)   : default=0 value=0
                  vertical_flip 0x00980915 (bool)   : default=0 value=0
           power_line_frequency 0x00980918 (menu)   : min=0 max=3 default=1 value=1
                                0: Disabled
                                1: 50 Hz
                                2: 60 Hz
                                3: Auto
                      sharpness 0x0098091b (int)    : min=-100 max=100 step=1 default=0 value=0 flags=slider
                  color_effects 0x0098091f (menu)   : min=0 max=15 default=0 value=0
                                0: None
                                1: Black & White
                                2: Sepia
                                3: Negative
                                4: Emboss
                                5: Sketch
                                6: Sky Blue
                                7: Grass Green
                                8: Skin Whiten
                                9: Vivid
                                10: Aqua
                                11: Art Freeze
                                12: Silhouette
                                13: Solarization
                                14: Antique
                                15: Set Cb/Cr
                         rotate 0x00980922 (int)    : min=0 max=360 step=90 default=0 value=0 flags=modify-layout
             color_effects_cbcr 0x0098092a (int)    : min=0 max=65535 step=1 default=32896 value=32896

Codec Controls

             video_bitrate_mode 0x009909ce (menu)   : min=0 max=1 default=0 value=1 flags=update
                                0: Variable Bitrate
                                1: Constant Bitrate
                  video_bitrate 0x009909cf (int)    : min=25000 max=25000000 step=25000 default=10000000 value=20000000
         repeat_sequence_header 0x009909e2 (bool)   : default=0 value=0
            h264_i_frame_period 0x00990a66 (int)    : min=0 max=2147483647 step=1 default=60 value=5
                     h264_level 0x00990a67 (menu)   : min=0 max=11 default=11 value=11
                                0: 1
                                1: 1b
                                2: 1.1
                                3: 1.2
                                4: 1.3
                                5: 2
                                6: 2.1
                                7: 2.2
                                8: 3
                                9: 3.1
                                10: 3.2
                                11: 4
                   h264_profile 0x00990a6b (menu)   : min=0 max=4 default=4 value=0
                                0: Baseline
                                1: Constrained Baseline
                                2: Main
                                4: High

Camera Controls

                  auto_exposure 0x009a0901 (menu)   : min=0 max=3 default=0 value=0
                                0: Auto Mode
                                1: Manual Mode
         exposure_time_absolute 0x009a0902 (int)    : min=1 max=10000 step=1 default=1000 value=1000
     exposure_dynamic_framerate 0x009a0903 (bool)   : default=0 value=1
             auto_exposure_bias 0x009a0913 (intmenu): min=0 max=24 default=12 value=12
                                0: -4000 (0xfffffffffffff060)
                                1: -3667 (0xfffffffffffff1ad)
                                2: -3333 (0xfffffffffffff2fb)
                                3: -3000 (0xfffffffffffff448)
                                4: -2667 (0xfffffffffffff595)
                                5: -2333 (0xfffffffffffff6e3)
                                6: -2000 (0xfffffffffffff830)
                                7: -1667 (0xfffffffffffff97d)
                                8: -1333 (0xfffffffffffffacb)
                                9: -1000 (0xfffffffffffffc18)
                                10: -667 (0xfffffffffffffd65)
                                11: -333 (0xfffffffffffffeb3)
                                12: 0 (0x0)
                                13: 333 (0x14d)
                                14: 667 (0x29b)
                                15: 1000 (0x3e8)
                                16: 1333 (0x535)
                                17: 1667 (0x683)
                                18: 2000 (0x7d0)
                                19: 2333 (0x91d)
                                20: 2667 (0xa6b)
                                21: 3000 (0xbb8)
                                22: 3333 (0xd05)
                                23: 3667 (0xe53)
                                24: 4000 (0xfa0)
      white_balance_auto_preset 0x009a0914 (menu)   : min=0 max=10 default=1 value=1
                                0: Manual
                                1: Auto
                                2: Incandescent
                                3: Fluorescent
                                4: Fluorescent H
                                5: Horizon
                                6: Daylight
                                7: Flash
                                8: Cloudy
                                9: Shade
                                10: Greyworld
            image_stabilization 0x009a0916 (bool)   : default=0 value=0
                iso_sensitivity 0x009a0917 (intmenu): min=0 max=4 default=0 value=0
                                0: 0 (0x0)
                                1: 100000 (0x186a0)
                                2: 200000 (0x30d40)
                                3: 400000 (0x61a80)
                                4: 800000 (0xc3500)
           iso_sensitivity_auto 0x009a0918 (menu)   : min=0 max=1 default=1 value=1
                                0: Manual
                                1: Auto
         exposure_metering_mode 0x009a0919 (menu)   : min=0 max=2 default=0 value=0
                                0: Average
                                1: Center Weighted
                                2: Spot
                     scene_mode 0x009a091a (menu)   : min=0 max=13 default=0 value=8
                                0: None
                                8: Night
                                11: Sports

JPEG Compression Controls

            compression_quality 0x009d0903 (int)    : min=1 max=100 step=1 default=30 value=95
root@rpilan:~#

root@rpilan:~# uvcdynctrl -c
Listing available controls for device video0:
  Brightness
  Contrast
  Saturation
  Red Balance
  Blue Balance
  Horizontal Flip
  Vertical Flip
  Power Line Frequency
  Sharpness
  Color Effects
  Rotate
  Color Effects, CbCr
  Video Bitrate Mode
  Video Bitrate
  Repeat Sequence Header
  H264 I-Frame Period
  H264 Level
  H264 Profile
  Auto Exposure
  Exposure Time, Absolute
  Exposure, Dynamic Framerate
  White Balance, Auto & Preset
  Image Stabilization
  ISO Sensitivity, Auto
  Exposure, Metering Mode
  Scene Mode
root@rpilan:~#
root@rpilan:~# locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
root@rpilan:~#

изображение
изображение

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions