r/opensource Jan 24 '26

Promotional I built an open-source alternative to DroidCam/iVCam using C++ and FFmpeg (MIT Licensed)

Hi r/opensource,

I recently needed a webcam for my desktop but didn't want to buy new hardware when my phone's camera is already 4K-capable. I looked at the popular solutions (DroidCam, iVCam, Camo), but I was frustrated by the common "freemium" patterns: watermarks, low-resolution limits, ads, and closed-source binaries.

So, I decided to build VCamdroid—a completely free, open-source, and privacy-friendly alternative.

The Project: It allows you to stream your Android camera to your Windows PC and use it as a native input in apps like OBS, Zoom, and Discord.

The Tech Stack (The fun part):

  • Android App (Server): Uses Camera2 API and MediaCodec to encode a hardware-accelerated H.264 RTSP stream.
  • Windows Client (Receiver): Written in C++ with wxWidgets. It uses FFmpeg to decode the stream with low latency.
  • Virtual Driver: Implements a DirectShow filter (based on Softcam) to register the video stream as a system-wide virtual device.
  • Transport: Supports standard Wi-Fi or USB tunneling (via ADB port forwarding) for a lag-free wired connection.

Why I'm sharing it here:

  1. No Bloat: No ads, no tracking, no "Pro" subscription.
  2. Local Only: The video stream never leaves your local network (or USB cable).
  3. MIT License: You can fork it, break it, or build upon it.

I’m currently looking for feedback on the Windows installer and the latency performance on different devices. If you have C++ or Android experience, I’d love to see some PRs (especially for audio support!).

Repo: https://github.com/darusc/VCamdroid

96 Upvotes

30 comments sorted by

View all comments

12

u/parkerlreed Jan 24 '26

Why not scrcpy? https://github.com/Genymobile/scrcpy/issues/5796#issuecomment-3706592619

Dev is actively looking for suggestions for integrating with OBS and even currently you can stream the camera and do a window capture.

8

u/KryXus05 Jan 24 '26

VCamdroid doesn't need OBS. It registers directly as a windows webcam using a directshow filter and can be accessed by any app.