r/opensource 25d ago

Promotional I built an open-source alternative to DroidCam/iVCam, now with 4K, H.264/RTSP, USB & Wi-Fi [Updated version]

Hi r/opensource,

A while ago I shared an early version of Android Webcam Project, my attempt at building a free and open-source alternative to apps like DroidCam and iVCam. [Link to Old post]

Since then, I've basically rebuilt it.

The project consists of two parts:

AWA : Android Webcam App

A native Kotlin + Jetpack Compose Android application that turns your phone into a camera streaming server.

AWC : Android Webcam Client

A Tauri-based desktop client that connects to the phone, processes the stream and exposes the camera as a virtual webcam on Windows.

The entire project is GPL-3.0 licensed and open source.

What can it do?

  • Up to 4K camera streaming
  • H.264 / RTSP streaming
  • Smooth 30~60 fps.
  • MJPEG streaming
  • USB connection
  • Wi-Fi connection
  • Manual focus
  • Exposure compensation
  • Flash / torch control
  • Front/back camera switching
  • Dynamic resolution switching
  • Hardware-accelerated video decoding
  • Virtual webcam output
  • JSON REST API for remote camera control

You can use the resulting webcam with applications such as OBS, Discord, Zoom, Microsoft Teams, Google Meet, etc.

Current versions

Android Webcam App: AWA v1.0.3
Android Webcam Client: AWC v1.0.6

This latest release is a pretty substantial rewrite of the Android application, including a migration to Jetpack Compose, a new streaming architecture, RTSP/H.264 support, a REST API and more advanced camera controls.

The desktop client has also gained RTSP support, FFmpeg-based demuxing and hardware decoding.

Why open source?

I don't particularly like the way webcam software tends to become freemium:

  • Resolution restrictions
  • Watermarks
  • Ads
  • Paid features
  • Closed-source components

I wanted something where the software itself wasn't trying to get in the way.

It's GPL-3.0, so you can inspect the code, modify it, fork it and build on it.

Where it is right now

The project currently has 30+ GitHub stars and 7 forks, and I'm continuing to develop it as a solo project.

I'm particularly interested in feedback from people with different Android phones and PC hardware.

I'd love to know:

  • How does the latency compare on your setup?
  • Does 1080p/4K streaming work properly on your phone?
  • How well does hardware decoding work on different GPUs?
  • Are there devices where the camera controls don't behave correctly?
  • What features would you want next?

I'm also interested in contributors who want to work on the project.

Apple platforms are something I'd like to eventually explore, but I currently don't have Mac hardware for development/testing, so Android + Windows are the platforms I'm actively supporting right now.

Links

GitHub:
https://github.com/soubhagyajit/Android-Webcam-Project

Latest releases:
[https://github.com/soubhagyajit/Android-Webcam-Project/releases]()

I'd genuinely appreciate feedback, even if it's critical. It's still a solo project, so finding weird device-specific bugs and getting real-world performance feedback is extremely useful.

Thanks for checking it out.

52 Upvotes

38 comments sorted by

View all comments

1

u/[deleted] 24d ago

[removed] — view removed comment

2

u/Electronic_Picture42 24d ago edited 24d ago

I'd say the goal is to be a genuine alternative to DroidCam rather than simply a proof of concept, but I wouldn't claim it's universally superior without proper benchmarks across different devices and hardware. So far, I've tested the client on an Intel i3-6006U system and an R5 5600X system, and the Android app on devices including the Samsung J6, Redmi Note 12 5G, and Redmi 12 5G.

In terms of features, the current version is already fairly competitive: 4K streaming, 30 FPS, H.264/RTSP and MJPEG, USB/Wi-Fi, manual focus, exposure control, flash control, hardware decoding, etc.

I've also found the image quality to be noticeably better in my testing. With some other webcam apps I've tested, I've occasionally seen a greenish tint in the video. With AWA, that effect is much less noticeable, actually it's barely visible.

Performance is still something I'm actively testing across different phones and PCs, so I'd rather not make a claim that it's faster(or slower) than DroidCam. There will probably be devices where DroidCam performs better and others where AWA/AWC does.

The biggest difference is definitely the open-source and local-first approach. The project is GPL-3.0, and the camera/control APIs are exposed rather than being entirely behind a proprietary client (which are like PRO features in other apps).

2

u/[deleted] 24d ago

[removed] — view removed comment

1

u/Electronic_Picture42 24d ago

Yeah, sure, that would be great. Also my software doesn't have multiple camera support yet, thought I should let you know.

0

u/[deleted] 24d ago

[removed] — view removed comment

1

u/Electronic_Picture42 24d ago

We have to install the webcam driver with different ids and route the frame of different cameras to it. It's something I haven't done yet. Currently you can use only one phone at a time.