soyersoyer / cameractrls

Camera controls for Linux
Other
574 stars 24 forks source link

Insta 360 Link Support #55

Open jorgecastro05 opened 4 months ago

jorgecastro05 commented 4 months ago

The Insta 360 Link webcam, works as expected with gimbal, brightness, contrast, saturation and sharpness controls, but is missing the controls related to exposure, the official application for windows systems support manual and automatic exposure, so I would like to add these controls with cameractrls.

Is there any developer guide, or starting point to find the exposure controls, not available using the v4l2-ctl, or some way to search these parameters, and adding manually to cameractrls?

lsusb output

Bus 001 Device 010: ID 2e1a:4c01 Insta360 Insta360 Link

v4l2-ctl output

v4l2-ctl --device=/dev/v4l/by-id/usb-Insta360_Insta360_Link-video-index0 -L

User Controls

                     brightness 0x00980900 (int)    : min=0 max=100 step=1 default=50 value=50
                       contrast 0x00980901 (int)    : min=0 max=100 step=1 default=50 value=50
                     saturation 0x00980902 (int)    : min=0 max=100 step=1 default=50 value=50
                            hue 0x00980903 (int)    : min=-15 max=15 step=1 default=0 value=0
        white_balance_automatic 0x0098090c (bool)   : default=1 value=1
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=3 value=2 (60 Hz)
                0: Disabled
                1: 50 Hz
                2: 60 Hz
      white_balance_temperature 0x0098091a (int)    : min=2000 max=10000 step=1 default=6400 value=5500 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=100 step=1 default=50 value=50

Camera Controls

                   pan_absolute 0x009a0908 (int)    : min=-522000 max=522000 step=3600 default=0 value=-4320
                  tilt_absolute 0x009a0909 (int)    : min=-324000 max=360000 step=3600 default=0 value=-277920
                 focus_absolute 0x009a090a (int)    : min=0 max=100 step=1 default=50 value=0 flags=inactive
     focus_automatic_continuous 0x009a090c (bool)   : default=0 value=1
                  zoom_absolute 0x009a090d (int)    : min=100 max=400 step=1 default=100 value=100
soyersoyer commented 4 months ago

Try to capture the USB communication with Wireshark/USBPcap. If you are lucky, it uses an UVC Extension unit to set exposure controls. Then you can add a new extension like the KiyoProCtrls class. Feel free to ask if you get stuck, I can help.

dan9thsense commented 1 month ago

Did you have success with this? I am trying something similar for the Insta 360 X3 camera. Specifically, that camera comes up in webcam mode with a split screen. A button press on the camera toggles that to forward camera, rear camera, split screen. Is there any way to know if that toggle can be controlled via webcam controls?