DEV Community

OneLime Studio
OneLime Studio

Posted on

An open-source Virtual WebCam (alternative to DroidCam/Irium )

If you've ever tried using your Android phone as a webcam on Windows, you've probably met DroidCam. And you've probably met its paywalled 1080p, the mid-stream ads, and the laggy experience that makes you look like you're broadcasting from 2009.

I got tired of it. So I built BestCam — a fully open-source Android-to-Windows webcam that works natively with Zoom, OBS, Discord, and Teams over USB with ~20–100ms latency. No paywalls, no ads, no nonsense.


How It Works (Quick Version)

Android: CameraX captures raw YUV_420_888 frames and streams them as MJPEG over a local HTTP server on the device.

Windows Receiver (Python): Connects via ADB USB port forwarding (that's where the low latency comes from). Uses libjpeg-turbo to decode frames 2–3× faster than OpenCV, converts to NV12, and writes into a cross-session Named Shared Memory buffer (Global\).

Virtual Camera Driver (C++17): Uses the modern Windows 11 Media Foundation Virtual Camera API (MFCreateVirtualCamera) — not legacy DirectShow. Reads NV12 frames directly from RAM via Win32 Mutex. Because it's fully user-mode, no kernel driver signing required.


Why Not Just Use DroidCam?

DroidCam Free BestCam
Max Resolution 480p 1080p
Ads Yes No
USB Low Latency Limited Native ADB
Kernel Driver Yes No (user-mode)
Open Source No Yes

Come Build With Us

👉 github.com/OneLimeStudio/BestCam

Looking for help with Wi-Fi support, C++ Media Foundation optimizations, Android app improvements, and cross-device testing. Drop a PR or open an issue!

Top comments (0)