Prodotto Interno

Refraction

Estensione Browser · Sviluppo2026
Rilevamento flussiSelezione qualitàDownload in corsoRilevamento flussi1 / 3

Estensione Chrome che rileva e scarica i flussi video (HLS) riprodotti in una pagina web, convertendoli in MP4 senza ricodifica interamente nel browser. Nessun server, nessun upload: tutta l'elaborazione - dal rilevamento al remux - avviene sul dispositivo dell'utente.

Soluzioni

  • Estensioni Browser
  • WebAssembly
  • Sviluppo Software
  • Architettura Client-Side

Il Progetto

Refraction nasce come prodotto interno di inLumine, non su commissione di un cliente: un banco di prova per spingere le competenze del team su un terreno diverso dal sito vetrina o dall'eCommerce - l'elaborazione video complessa, interamente nel browser.

La Sfida

I flussi video moderni non sono quasi mai un singolo file: sono spezzati in centinaia di segmenti, spesso protetti, con audio e video su tracce separate. Replicare questo lavoro senza un server dietro le quinte poneva sfide reali:

Nessuna infrastruttura server
Ogni download, ricodifica e riassemblaggio doveva avvenire sul dispositivo dell'utente, senza costi di banda o storage lato studio.
Memoria limitata
File anche di diversi gigabyte da processare nel browser, senza saturare la RAM della scheda.
Accesso a risorse protette
Molte CDN verificano l'origine della richiesta: serviva un modo per accedere ai segmenti mantenendo il contesto della pagina originale.
Integrità del file
Il remux doveva produrre un MP4 valido, con audio e video sincronizzati, senza mai ricodificare (e quindi degradare) il materiale originale.

La Soluzione

Abbiamo costruito una pipeline di acquisizione ed elaborazione video interamente client-side, dal rilevamento del flusso al file scaricato.

Gli interventi chiave

Rilevamento su due canali
Un service worker riconosce le playlist HLS dall'URL e, in parallelo, qualsiasi flusso video dal Content-Type della risposta: funziona anche su URL dinamici senza estensione.
Accesso al contesto originale
Se la CDN rifiuta la richiesta diretta, il fetch viene rieseguito nel contesto della scheda di origine (stessi cookie, Referer, IP), con gli header di rete gestiti via declarativeNetRequest.
Remux adattivo, mai ricodifica
I segmenti già in fMP4 vengono scritti in streaming su disco così come sono; i segmenti TS passano da un remux con ffmpeg compilato in WebAssembly ("-c copy") - zero perdita di qualità in entrambi i casi.
Decifratura standard
Supporto nativo alla cifratura AES-128 via WebCrypto, per i flussi che la richiedono.

Lo Stack Tecnologico

Estensione
Chrome Manifest V3, service worker per l'intercettazione delle richieste di rete.
Elaborazione video
ffmpeg.wasm per il remux HLS→MP4 senza ricodifica, interamente nel browser.
Storage
File System Access API per la scrittura in streaming su disco, con fallback su chrome.downloads.
Sicurezza & accesso
WebCrypto per la decifratura AES-128; chrome.scripting e declarativeNetRequest per accedere alle risorse protette nel contesto della pagina originale.

Il Risultato

Refraction resta un progetto interno, ma la pipeline che lo alimenta - acquisizione, elaborazione ed esportazione di video pesanti interamente nel browser, senza infrastruttura server - è un pezzo di ingegneria riutilizzabile: lo stesso approccio si presta a editor video web, strumenti di controllo qualità per piattaforme di streaming o sistemi di digital asset management, dove processare file video lato client abbatte i costi e i tempi di un'infrastruttura server dedicata. L'estensione stessa è disponibile su richiesta, per team che vogliono integrarla o adattarla ai propri flussi di lavoro.