Usare lo smartphone come webcam non è più un espediente da smanettoni. Apple ha integrato Fotocamera Continuity a partire da macOS Ventura e iOS 16, mentre Microsoft consente di usare come fotocamera connessa un dispositivo Android 10 o successivo su Windows 11 tramite Collegamento a Windows. OmniCam (repository GitHub) affronta però lo stesso problema da un’angolazione diversa: sul telefono non si installa nulla, non serve un account e il flusso video non passa da un servizio cloud. Basta il browser dello smartphone e una connessione locale con il PC.
Il progetto open source, pubblicato su GitHub con licenza MIT, supporta Windows 10 dalla versione 1809 e Windows 11 a 64 bit. L’idea di fondo è semplice, ma dietro il QR code mostrato sul PC c’è una catena tecnica piuttosto interessante: HTTPS locale, acquisizione della fotocamera dal browser, WebRTC, H.264, Electron, codice nativo C++ e infine una videocamera virtuale DirectShow visibile dalle applicazioni Windows compatibili.
OmniCam trasforma il browser dello smartphone in una sorgente video
Dopo l’installazione sul PC, OmniCam mostra un QR code. Lo smartphone e il computer devono trovarsi sulla stessa rete Wi-Fi; in alternativa è possibile usare un hotspot o il tethering, purché i due dispositivi riescano a comunicare direttamente. Scansionando il codice si apre una pagina Web servita dal PC stesso.

Dal telefono si preme Start camera e il browser richiede il normale consenso per accedere alla fotocamera.
Il programma genera quindi un certificato locale autofirmato: alla prima connessione il browser dello smartphone mostra un avviso perché quel certificato non appartiene a una Certification Authority pubblicamente riconosciuta. L’utente deve accettarlo manualmente. È il prezzo da pagare, almeno nell’implementazione attuale, per usare HTTPS su un indirizzo privato come 192.168.x.x senza appoggiarsi a un’infrastruttura esterna.
OmniCam va usato su una LAN di cui ci si fida, non sul Wi-Fi aperto di un albergo o di un centro commerciale.

Dal telefono al PC con WebRTC, senza server video intermedi
Dopo la procedura iniziale di “accoppiamento” (pairing), il video viaggia attraverso WebRTC direttamente dallo smartphone al computer. Non c’è un server remoto che riceve, ritrasmette o conserva le immagini.
La pagina del telefono e il ricevitore sul PC stabiliscono infatti una connessione peer-to-peer sulla rete locale: il QR code contiene un token casuale generato per la sessione.
La pagina Web resta comunque raggiungibile dagli altri dispositivi della LAN e l’endpoint di health check può rivelare nome e versione dell’applicazione. Non significa che un dispositivo qualsiasi possa iniziare a trasmettere video: per il pairing serve il token.
OmniCam punta a evitare elaborazioni inutili. Lo smartphone acquisisce la fotocamera alla risoluzione selezionata e usa H.264; il progetto dichiara l’uso dell’encoder hardware del telefono. Sono previste modalità 720p, 1080p, 1080p60 e 4K, anche se la risoluzione catturata dal telefono non coincide necessariamente con quella esposta alle applicazioni Windows.
La parte desktop utilizza Electron per ricevere la sessione WebRTC: da lì i fotogrammi raggiungono un addon nativo tramite N-API: il codice C++ si occupa di temporizzazione, ridimensionamento, rotazione e conversione dei pixel mediante libyuv. Il risultato finisce poi nella videocamera virtuale.
La webcam OmniCam appare in Zoom, Discord, browser e OBS
Per il programma che deve usare la fotocamera, l’origine del video diventa quasi irrilevante. Discord, Zoom, Google Meet nel browser, Chrome, Firefox, OBS e Slack possono vedere una periferica chiamata “OmniCam” e trattarla come una normale webcam.
L’output virtuale supporta 720p o 1080p a 30 o 60 fps. La ragione della separazione tra qualità del telefono e formato della webcam sta nella negoziazione dei dispositivi video: molte applicazioni consumer scelgono formato e frame rate quando aprono la telecamera e non li rinegoziano continuamente. OmniCam mantiene quindi fisso il formato offerto al programma e adatta internamente l’immagine ricevuta dal telefono.
Se, per esempio, lo smartphone trasmette in 4K ma Zoom apre la videocamera virtuale a 1080p30, la componente nativa effettua il downscaling. Se il telefono è in verticale, le funzioni Fill e Fit permettono rispettivamente di riempire il 16:9 tagliando parte dell’immagine oppure di conservarla integralmente aggiungendo le bande. Sono disponibili anche mirroring e rotazione.
Il limite più importante oggi si chiama DirectShow
OmniCam usa ancora DirectShow per esporre la videocamera virtuale: la scelta consente di mantenere la compatibilità con Windows 10 1809, ma introduce un limite da conoscere prima dell’installazione.
Microsoft considera DirectShow una tecnologia legacy e raccomanda Media Foundation per il nuovo software. Alcune applicazioni moderne interrogano esclusivamente il nuovo stack video di Windows e, di conseguenza, non vedono la videocamera OmniCam. La documentazione del progetto cita esplicitamente l’app Fotocamera di Windows e le versioni recenti di Microsoft Teams tra i programmi che possono non elencarla.
OmniCam non è quindi una webcam virtuale universale per qualsiasi software Windows: funziona con molte delle applicazioni più diffuse, ma la compatibilità dipende da come il singolo programma enumera le sorgenti video.
L’autore ha già indicato che in futuro aggiungerà un backend Media Foundation Virtual Camera per Windows 11. Sarebbe un passo importante: eliminerebbe uno dei principali limiti architetturali del progetto e lo renderebbe visibile anche alle applicazioni che ignorano DirectShow.
Quando nessuna app usa la webcam, OmniCam rallenta lo smartphone
Il consumo energetico sul telefono resta uno dei compromessi più evidenti: fotocamera, encoder H.264, Wi-Fi e schermo lavorano contemporaneamente; per una chiamata lunga conviene quindi collegare lo smartphone all’alimentazione.
La natura Web dell’applicazione impone anche di mantenere la pagina attiva e, nella maggior parte dei casi, lo schermo acceso.
OmniCam prova a ridurre lo spreco quando nessun programma sul PC sta usando la webcam: se anche la finestra dell’applicazione risulta nascosta, dopo 5 secondi ordina al telefono di scendere a 5 fps.
Un’alternativa interessante alle funzioni integrate di Apple e Microsoft
Apple offre già da anni Fotocamera Continuity, con integrazione profonda tra iPhone e Mac. Microsoft permette oggi di usare come webcam un telefono Android collegato a Windows 11, richiedendo Android 10 o successivo e l’app Collegamento a Windows dalla versione 1.24022.0. OmniCam non cerca di replicare esattamente quei sistemi: evita proprio il vincolo dell’app mobile e dell’account associato.
Il vantaggio è che un iPhone può collegarsi a un PC Windows senza software mobile dedicato; allo stesso modo un telefono Android non deve passare attraverso l’integrazione Microsoft. Il browser diventa il livello comune tra piattaforme.
Il rovescio della medaglia è altrettanto chiaro: niente microfono virtuale, niente USB diretto, certificato locale da accettare, supporto limitato alle applicazioni compatibili con DirectShow e necessità di lasciare attivo il browser sul telefono.
Il progetto non prova a sostituire una webcam con una scorciatoia fragile: costruisce una catena completa che parte da getUserMedia, comprime il video sul telefono, lo trasporta via WebRTC, lo elabora in C++ e lo presenta a Windows come dispositivo di acquisizione. Per un software ancora giovane, è una base piuttosto solida.
Come abbiamo detto, non è ancora una soluzione universale in sostituzione delle webcam tradizionali, ma l’architettura merita attenzione: sotto un’interfaccia molto semplice c’è parecchia ingegneria.