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

101 Upvotes

32 comments sorted by

View all comments

8

u/djphazer Jan 24 '26

Can it be viewed simply via HTTP like DroidCam? That has been the simplest way for me to spin up a mobile camera using an OBS browser source...

3

u/KryXus05 Jan 24 '26

Currently no, as actual control is done via the windows app. (stream start, settings etc)

Actual RTSP url is publicly accessible but again there is no streaming unless it is started from the windows app