What does HackerNews think of showmewebcam?

Raspberry Pi + High Quality Camera = High-quality USB Webcam!

Language: Shell

#8 in Raspberry Pi
Also related: Take a Raspberry Pi Mini, a Raspberry Pi HQ camera, and install this firmware

https://github.com/showmewebcam/showmewebcam

and it turns your Pi into a UVC-compatible USB webcam with a C mount lens. This firmware also boots instantly, and is also safe to unplug and plug without logging in and issuing a shutdown command. There are even some 3D print housings for this combination on Thingiverse.

I really wish we had something similar with a larger e.g. APS-C or 35mm full frame sensor though. The Pi "HQ" camera is more like shit-Q compared to a modern consumer camera.

You want to take a look at buildroot-based approaches. They're not quite instant-on, but they're tolerable. https://github.com/showmewebcam/showmewebcam is a good example.
> So there is a market gap between so-so webcams for $100-200 and a full-blown setup with a mirrorless camera...

Don't know where you can buy a readymade one. However, if you don't mind DIY, try our free software project showmewebcam. It uses a Pi and its HQ sensor and some software glue to make a USB webcam [1]. You'll have a wide selection of affordable lenses [2] and cases [3] that people cook up for their personal use. It's so much fun experimenting with them for different use cases.

Last time I commented here, there have been criticisms about the quality of the lens that the Pi foundation offer. We have discovered many other decent alternative lenses that help remedy the quality and distortion issue of the stock lenses. An example of a good accumulation of knowledge as we have more users and people paying more attention is the commonlands lens guide [4].

The software is very actively developed and we have a pretty supportive developers community. We try our best to have good software engineering practices so we can maintain this project in the long run. The software is designed to be modularized. It is easy to understand, build, and improve upon. I have a lot of fun building it - in fact I just finished a 5 hours coding session to address comments on the Pull Requests that I started earlier. I hope eventually it's not just another pi project for fun, the firmware has the potential to make this solution more powerful than the best webcam that money can buy, just like how openwrt is for routers.

I still have yet to record a decent demo video to demonstrate the power of the Picam but there is just too many things and too little time to get it done. Oh well...

1. https://github.com/showmewebcam/showmewebcam

2. https://github.com/showmewebcam/showmewebcam/wiki/Lenses

3. https://github.com/showmewebcam/showmewebcam/wiki/Cases

4. https://commonlands.com/blogs/camera-engineering/raspi-video...

The main comparison here is that IMO, if you've never encountered UVC-gadget, OTG configuration, dtparams, etc., then seeing/auditing an Ansible playbook that can reproducibly set up a Pi over and over is a lot simpler than reading through about 20 different steps of instructions that are setting up serial interfaces and the like.

In the former case, you have something that many of us who are more intimate with code could follow along with and tweak. In the latter, it's something that still requires a little knowledge, but IMO a lot less to get started.

Something like https://github.com/showmewebcam/showmewebcam takes it a step further, but obfuscates some of the code more (IMO) by bundling it in an image that is generated with some build scripts (though that might be the direction I move my project eventually... people don't seem to care as much about trust and auditability nowadays).

I'm using https://github.com/showmewebcam/showmewebcam, which is a prebuilt image with a (more) finely tuned uvc-gadget implementation and lower CPU usage when idle (I've added a few tweaks to it myself). It also boots _very_ fast.

Works great, although you do have to fine-tune the settings for your environment (which you can do by editing a camera.txt file on the SD card or using a serial TTY via USB)

(edit: typos)

walrus01 pointed out the original DIY methods, but there’s a pre-built especially nice implementation over here:

https://github.com/showmewebcam/showmewebcam

It boots up much faster and mounts the filesystem read-only so you don’t have to worry about unplugging the pi and accidentally corrupting the file system or anything like that. I’m currently using this one.

This blog post is kind of a playful idea on the iSight. However, if you want to take it seriously, you should consider using the High Quality Camera with the Pi as a USB webcam. The sensor on that HQ camera is HUGE, thus the picture quality is really really good, especially when you take time to figure out the focus and such [1] [2]. It's better than most if not all the webcams you can buy on the market. It's definitely more compact, cheaper, and less hassle than using the whole Mirrorless + HDMI capture-card setup if you want to upgrade your Zoom appearance.

On the software side, I have worked on the exact Pi-as-a-webcam software project for a while [0]. It's quite customizable and you can play with parameters of the camera to further extract values out of the hardware. I also am hoping, in the future, to implement "smart" functions such as auto-panning the camera and such.

However, I still couldn't figure out a good case for it so the setup looks kinda crummy, not as slick as the iSight.

0: https://github.com/showmewebcam/showmewebcam

1: https://hackaday.io/project/174479/gallery#715fab460d86cbd11...

2: https://hackaday.io/project/174479/gallery#da539049c84e7fd64...

Nice work!

I have been researching and working on this webcam quality problem for a while. I have tried a couple of webcam-over-phone solutions and while they solved the image quality issue, they tend to introduced quite some lag. Especially when you use your dedicated microphone, then the lag becomes a huge issue (because the microphone has minimal lag and the webcam has a significant lag leading to the voice not matching the lips).

Have you thought of the issue and have you done an analysis on that?

Besides, with this setup, you have to rely on a driver that turns the video from whatever phone to a webcam. That in my experience is quite flaky, but perhaps not inherently problematic. So I wonder if you could comment on OS support for people who want to use your software with say, Linux?

Disclaimer: I use and package a software suite to turn a raspberry pi high quality camera to a webcam. The lag seems pretty good and it appears as just a good old usb webcam on linux and windows (although I haven’t managed to make it work on macOS) [1].

1: https://github.com/showmewebcam/showmewebcam