I have a Logitech C920 and am looking to upgrade. Something suitable for streaming.

Some annoyances with the Logitech: sometimes autofocus fails and poor reproduction of blacks. Ex: Lack of detail when a black cat is on screen.

I already have a nice mic-- the webcam doesn’t need one.

  • markstos@lemmy.worldOP
    link
    fedilink
    arrow-up
    14
    ·
    5 months ago

    C920 is good enough for meetings. I solved the focus problem using the traditional Linux method of writing of udev rule which launches a timer when it’s plugged in, which periodically launches a systemd service, which runs a bash script to make sure it self-corrects at least every 5 minutes.

    cat /etc/udev/rules.d/90-video4linux-webcam-config.rules
    KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0892", TAG+="systemd", RUN{program}="/bin/systemctl start video4linux-webcam-config@$env{MINOR}.timer" ENV{SYSTEMD_WANTS}="video4linux-webcam-config@$env{MINOR}.timer"
    
    ❯ cat /etc/systemd/system/video4linux-webcam-config@.timer
    # This file is managed by ansible-video4linux-webcam-config
    [Unit]
    Description=Periodically restart webcam config service
    
    [Timer]
    # Unit= defaults to service matching .timer name
    OnActiveSec=30
    
    [Install]
    WantedBy=timers.target
    
    ❯ cat /etc/systemd/system/video4linux-webcam-config@.service
    [Unit]
    Description=Set webcam configs
    
    [Service]
    Type=oneshot
    ExecStart=/bin/bash -c "/usr/local/bin/video4linux-webcam-config.sh %I"
    
    [Install]
    WantedBy=multi-user.target
    
    ❯ cat /usr/local/bin/video4linux-webcam-config.sh
    #!/bin/bash
    
    if [[ $# -ne 1 ]]; then
      echo "Expected minor device number as sole argument" 1>&2
      exit 1
    fi
    
       v4l2-ctl -d $1 --set-ctrl focus_automatic_continuous=0
      v4l2-ctl -d $1 --set-ctrl focus_absolute=0