Recommendation for a high-quality webcam for Linux

markstos@lemmy.world to Linux@lemmy.ml – 89 points –

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.

37

You will get leagues better picture quality using a camlink/capture card and a camera with clean HDMI out. A gopro is a good budget option but a used DLSR or mirrorless camera is going to be the best. Some DSLR and mirrorless cameras support video out over usb so you don't even need a capture card. Here's a guide on getting it to work on Linux with a camera capability list inside the guide. If you do want to go the capture card route I hear elgato's camlink works in Linux.

Wow, I've used a C920 and now a C930 and never had any issue, although I just do meetings.

I'm interested on seeing opinions too.

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

I'm using a C920 on Debian and I don't have focus issues. I remember that once it was permanently stuck out of focus but unplugging and plugging again fixed the issue. Never had any other issues in years.

My c920 now glitches out and refuses to stream video after about 10 minutes of use (mic still works tho). After some unknown long period of time, it resets and works for another 10 minutes

Yeah mine's doing that too, and my dmesg is flooded with USB disconnect and reconnects.

The thing probably is overheating and shutting off. I believe I've seen videos of them catching fire too, not sure if it's that one or another webcam that looks similar.

Mine's on a USB hub with buttons for each port so I just leave its port off until I need the camera and only turn it on when needed.

I have a c920 and it's complete poop. Random hiccups and stutter and the auto focus fails.

I recently purchased the Anker PowerConf C200 2K webcam and it has been great on Linux. Crisp image and no issues with focusing. It's currently on sale at Amazon

I recently found out about Anker and I bought a wired ergonomic vertical mouse as I had been experiencing wrist pain recently. High quality for a very low price point, and from the looks of it most of their products are like that. Also helped with the wrist pain!

Dunno why you got a down vote,vote what you're saying aligns with my experience with Anker products as well

I as well use a Anker powerconf camera and it's fantastic... But you will need a windows machine if you want to modify firmware settings on it as their control app runs in windows. It does seem that once you modify those settings they are persistent within the hardware itself though and once you move it back to the Linux machine it should all be preserved.

Of course it's possible someone has already closed that gap out already or maybe the app runs in wine.

I've been able to use cameractrls from flat hub to control it

Nice thanks for that. I've been pretty happy with it right out of the box and haven't really needed to do much to it, but nice to know there are options.

Not a camera suggestion, but cameractrls, is a great piece of software to tweak all camera related things on Linux.

https://github.com/soyersoyer/cameractrls

I've been searching for a way to control my Kiyo X on Fedora. This is great. Thank you.

Are you happy with the Kiyo X?

Very. Pretty affordable and it just works. Granted, I don't do much streaming or recording off of it, but have been complimented several times in meetings over Zoom, Zoho Meetings and Teams. The highest setting is 1080p@30 and I've had no issues at all.

It has a mic, but I don't recall ever using it as Webcam microphones are known to be horrible.

A google Pixel phone works well for a webcam, in case someone comes across this post and has one.

How?

I haven't tried it myself, but I believe the OC is referring to the webcam USB mode that Pixels (idk if this is an Android feature or a "Pixel" feature) have. To enable it, connect over USB then you'll have a notification along the lines of "Charging this device over USB".

If you click that notification it'll let you enable Webcam over USB mode, which I assume just causes the phone to act as any other webcam device would.

I believe that is an Android 14 feature, not something exclusive to Pixel phones

Exactly, it works flawlessly and without any further setup on EndeavourOS for me. It's a Pixel feature afaik.

I've been using droidcamx to utilise any android phone as a webcam for a couple of years and it's working great. Phones tend to have way better cameras compared to webcams so the video quality will be top notch in must most cases.

It's cool they included this into android 14, though.

I've used droidcam in the past and I didn't find it to be the most reliable thing ever which is why I appreciate the Pixel feature

Damn I actually have one, oldie but still has a better camera then my current phone. Just needs a new screen.

Tbf I am not sure all versions of the Pixel support this, my 7a does though.

If there's a will there's a way. I'm sure there's a way for the pixel 3a

You'll have to forgive me, as I haven't tested this personally on Linux yet, but this webcam is a USB 3 device and doesn't have any special drivers. It should work plug-n-play.

The reason I bring it to your attention is that it has a nice physical lens for focusing, aperture, and zoom; all separate. It's 4k 30 fps and I can confirm that the picture is really nice.

i’ve had a lot of luck with the logitech brio which is a 4K WebCam, the only issue that I’ve run into is the fact that you have to make sure that it is plugged in to a USB 3.0 and not 3.1 port.

I’m using a Sony ZV-1 in a SmallRig camera cage, attached to an HDMI capture device. It’s a step below a DSLR, also in price, but it makes a huge difference to the quality and I get frequent comments about the “AWMAHGAWD amazing set up you’ve got, look at how crisp it is!” when I join meetings. The lens is really open and it captures a lot of detail. By far the best compact/quality setup I’ve found.

https://imgur.com/a/RXVuqit

You can probably use an Elgato Facecam (Mk.2), configure it in a Windows VM and then save the settings directly on the device to use it under Linux.