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)