Utilizzare webcam V4L2 con Flash su Linux

Posted on Tue 25 November 2008 in HowTo, Linux • Tagged with flash, V4L1, V4L2, webcam

flash

Introduzione

Il supporto per le webcam su Linux non è mai stata una cosa molto semplice. I motivi principali per cui le webcam non sono ben supportate sono principalmente due: la scarsa collaborazione dei produttori di hardware, che dovrebbero fornire almeno le specifiche a chi sviluppa i driver per Linux e il quasi completo disinteresse di chi scrive le applicazioni per l'utente finale (in particolare Microsoft con MSN e Skype che utilizzano entrambi un protocollo proprietario e non documentato).

Da diverso tempo si stanno diffondendo applicazioni scritte in Flash che permettono di utilizzare la webcam: dalle videochat, all'applicazione di Youtube che permette di pubblicare un video registrandolo direttamente, fino ai recenti servizi di streaming video come ad esempio JustinTV e UStream.

Il plugin Flash della Adobe, purtroppo ha iniziato a supportare le webcam su Linux utilizzando il protocollo V4L1 quando ormai la maggior parte di esse funzionava solo con il nuovo protocollo V4L2.

A partire dalla versione 10 di Flash, finalmente la Adobe ha iniziato a supportare il protocollo V4L2, anche se il supporto non è ancora completo. Modelli differenti di webcam infatti utilizzano svariati formati di trasmissione video. Fortunatamente lo sviluppatore che lavora per Adobe si è reso disponibile per ricevere il feedback da parte degli utenti e per implementare questi formati in modo da supportare il maggior numero possibile di webcam. Per chi volesse contribuire è possibile seguire le istruzioni su questa pagina: http://blogs.adobe.com/penguin.swf/2008/07/paparazzi_v2_1.html

gstfakevideo: un workaround per emulare V4L1

Visto che il supporto per le webcam che utilizzano V4L1 è molto piu' stabile, l'ingegno della community Linux non è stato ad aspettare con le mani in mano. Il metodo utilizzato è basato su quello che veniva usato su Skype per supportare un maggior numero di webcam: in pratica viene creato un device virtuale V4L1 sul quale viene redirezionato l'output della webcam V4L2.

Il codice originale purtroppo aveva bisogno di alcuni aggiustamenti, mi sono permesso quindi di modificarlo e di applicarli.

La compilazione non dovrebbe comportare particolari problemi: è sufficiente eseguire make all'interno della cartella dei sorgenti.

Per testare il funzionamento della webcam è sufficiente esegurie lo script che si trova all'interno della cartella. Verrà avviato Firefox con il supporto per le webcam V4L1. Visitando uno dei siti web che hanno un'applicazione Flash che utilizza la webcam citati all'inizio, sara' possibile verificarne il corretto funzionamento.

Riferimenti: le istruzioni in questo post sono state in parte prese da questo sito web (in inglese): http://www.jtolds.com/newsletter/2008/7/27/how-to-get-v4l2-devices-to-work-with-flash


Creative Live Cam Notebook su Ubuntu Linux

Posted on Thu 05 June 2008 in Linux, Ubuntu (IT) • Tagged with cam, creative, Linux, live, Ubuntu (EN), webcam

Creative

Finalmente sono riuscito a trovare una webcam che funzioni (dopo qualche ricerca su Google) abbastanza bene su Linux. Dopo aver provato una Logitech Quickcam for Notebook mi ero quasi perso d'animo, poi ho deciso di fare un ultimo tentativo con la Creative Live! Cam Notebook.

Prima di proseguire nella lettura di questa guida, vi consiglio di verificare che il modello di "Creative Live Cam" che state cercando di installare, sia lo stesso che ho testato io. Potete verificarlo scrivendo in un terminale il comando lsusb:

lsusb 
Bus 003 Device 001: ID 0000:0000 
Bus 002 Device 001: ID 0000:0000 
Bus 001 Device 018: ID 041e:4068 Creative Technology, Ltd 
Bus 001 Device 001: ID 0000:0000`

Ovvero dovrete verificare che l'identificativo del vostro modello sia esattamente 041e:4068

Devo dire che al primo tentativo (ovvero inserendo il cavo USB nel mio notebook e sperando che funzionasse) non ci sono riuscito, quindi mi sono deciso a fare una piccola ricerca su Google. Ho notato che molte persone hanno tentato (senza alcun successo) di far funzionare questa webcam con i driver spca5xx che solitamente supportano un gran numero di webcam. Proseguendo nella mia ricerca ho trovato i driver ov51x-JPEG che invece supportano il mio modello di webcam.

L'installazione non è difficile, dobbiamo però assicurarci di aver installato sulla nostra macchina tutto il necessario per poter ricompilare il modulo, quindi dovrete eseguire (da utente root oppure utilizzando sudo) questo comando:

apt-get install build-essential linux-headers-$(uname -r)

A questo punto dovrete scaricare i sorgenti del driver, da questo indirizzo: http://www.rastageeks.org/downloads/ov51x-jpeg/ov51x-jpeg-1.5.7.tar.gz

wget http://www.rastageeks.org/downloads/ov51x-jpeg/ov51x-jpeg-1.5.7.tar.gz

Dobbiamo poi scompattarli con il seguente comando:

tar xfvz ov51x-jpeg-1.5.7.tar.gz

Infine dobbiamo compilare il modulo ed installarlo:

cd ov51x-jpeg-1.5.7 
make
make install

Se la compilazione e l'installazione del modulo sono andati a buon fine, possiamo finalmente caricare il modulo:

modprobe ov51x-jpeg

Prima di poter utilizzare la webcam con Skype, c'è ancora una piccola cosa da aggiustare, per evitare problemi di incompatibilità. Dobbiamo modificare il file /etc/modprobe.d/options ed aggiungere la seguente riga:

options ov51x-jpeg forceblock=1

ovviamente prima di caricare il modulo. A questo punto l'installazione dovrebbe essere completa. Se ci fossero problemi o difficoltà potete scrivere lasciando un commento a questo post, in modo che anche altri possano poi leggere la domanda/risposta.