4. Applicazioni per la cattura di immagini

4.1. Programmi da linea di comando

Come si può intuire dal titolo, questi programmi non richiedono il sistema X Window per acquisire le immagini.

4.1.1. Streamer

Streamer è un programma molto versatile che consente di catturare le immagini da una webcam o da una periferica video usando soltanto la linea di comando. Può essere fornito con la propria distribuzione all'interno del pacchetto Xawtv, oppure, come per Debian, può trovarsi in un pacchetto a parte. Questo si può trovare, assieme ad altre informazioni utili, nella homepage di Xawtv di Gerd Knorr.

Per scaricare una fotografia in formato JPEG da linea di comando, ipotizzando di accedere al dispositivo tramite /dev/video0 si esegue:

   $  streamer -c /dev/video0 -b 16 -o outfile.jpeg

...dove -b è il numero di colori (che, espresso in bpp, può assumere valori pari a 15, 16, 24 o 32) e -o è il nome del file di output che verrà creato nella directory corrente (occorre specificare l'opzione -o /path/outfile.jpg per specificare una destinazione diversa). Se si ha intenzione di catturare più immagini, ci si assicuri di inserire alcuni zeri alla fine del nome del file che si passa al comando, perché streamer è in grado di generare i nomi dei file in sequenza. Ad esempio, -o outfile000.jpeg diventa outfile001.jpeg, outfile002.jpeg, e così via.

Per creare un file .avi:

   $  streamer -q -c /dev/video0 -f rgb24 -r 3 -t 00:30:00 -o /home/jhs/outfile.avi

...dove -q sta per esecuzione 'silenziosa' (nessun messaggio in output), -f è il 'formato' (rgb24 è un avi TrueColor), -r stabilisce il numero di fotogrammi al secondo e -t è la durata della registrazione (30 minuti). Streamer è in grado di acquisire video in formato raw e Quicktime™ (non-Sorensen) e può acquisire anche l'audio. Per ulteriori informazioni si può digitare streamer --help

4.1.2. camE

CamE è un programma da linea di comando che funziona in modalità demone per catturare fotogrammi dal proprio dispositivo v4l, con funzioni di archiviazione o caricamento (su un server web, ad esempio) via ftp o scp. E' possibile sovrapporre altri elementi grafici, sovra-imprimere la data o aggiungere del testo dinamico, semplicemente modificando opportunamente il file di configurazione. Si veda la homepage di camE per ulteriori dettagli.

4.1.3. Motion

Motion è un ottimo programma in grado di controllare il segnale video proveniente da una o più webcam. Può acquisire immagini periodicamente e, nel caso venga rilevato un movimento, registrare un file mpeg e/o eseguire un'altra azione come mandare un'email o lanciare un comando. Può tenere traccia e marcare graficamente il movimento rilevato, inviare i file ad un sito tramite server web, inviarli ad un'altra applicazione e molto altro ancora. Il numero di opzioni che è possibile passare da linea di comando può facilmente intimidire; è tuttavia disponibile una pagina Wiki che riassume le varie opzioni del comando e quelle disponibili nei file di configurazione. L'homepage di Motion è qui.

4.1.4. Webcam

Webcam è uno strumento da linea di comando scaricabile dalla homepage di Xawtv. E' eccellente per l'esecuzione di operazioni automatizzate, ad esempio tramite cron, dal momento che non necessita di opzioni da linea di comando, ma solo di un file di configurazione (in genere ~/.webcamrc). E' simile a camE dal momento che può catturare immagini e caricarle su un server web per mezzo di ftp o ssh.

4.1.5. SANE

SANE, o Scanner Access Now Easy, supporta l'accesso a dispositivi v4l, come le webcam, nelle ultime versioni. Se si ha familiarità con l'impiego di scanner sotto Linux, si può provare ad usare SANE per acquisire immagini, specialmente da quando sono disponibili dispositivi che funzionano sia da scanner che da fotocamere digitali. Si faccia riferimento allo Scanner-HOWTO disponibile qui.

4.2. Programmi basati su interfaccia grafica (GUI)

4.2.1. Xawtv

Xawtv è un programma basato su X-window per l'accesso ai dispositivi video, tra cui sintonizzatori TV e webcam, sotto Linux. La homepage è questa: http://bytesex.org/xawtv. Quando si prova la webcam per la prima volta, e si ritiene che tutto sia stato configurato a dovere, si può usare l'opzione -hwscan:

   $  xawtv -hwscan This is xawtv-3.72, running on Linux/i686 (2.4.21) looking for available devices
      
   /dev/v4l/video0: OK		[ -device /dev/v4l/video0 ] type : v4l name : BT878(Hauppauge (bt878)) flags: overlay capture tuner
   /dev/v4l/video1: OK		[ -device /dev/v4l/video1 ] type : v4l name : IBM USB Camera           flags: capture

...in modo da poter vedere l'hardware a disposizione (l'output può variare considerevolmente a seconda del sistema). Si provi ad aprire xterm e ad eseguire xawtv, catturando dalla webcam:

   $  xawtv -c /dev/video1 This is xawtv-3.72, running on Linux/i686 (2.4.21)

...e (si spera) la webcam inizierà ad acquisire e a mostrare le immagini in una finestra sul desktop. Nel caso qualcosa non funzioni, i messaggi d'errore generati in xterm potranno servire a rilevare eventuali problemi di configurazione. Se tutto questo non interessa, e tutto funziona correttamente, gli avvii successivi possono essere fatti direttamente dal menu del window manager. Si può trovare qualcosa in più sulle opzioni di xawtv usando man xawtv.

4.2.2. Gqcam

Gqcam è un'applicazione grafica basata su GTK+, originariamente dedicata alle webcam Quickcam della Connectix, che ora supporta quasi tutte le webcam Video4Linux-compatibili. Ha un'interfaccia grafica molto intuitiva che rende veramente facile visualizzare, acquisire immagini, e configurare la webcam. E' fortemente raccomandata per coloro che desiderano unicamente scattare qualche foto ogni tanto senza bisogno di dover modificare un file di configurazione o usare la linea di comando.

4.2.3. Camorama

Camorama è una applicazione grafica basata su GTK+2.0 molto simile a gqcam e scritta per il desktop Gnome2. La homepage è qui.

4.2.4. GnomeMeeting

GnomeMeeting è un programma per telefonia VOIP/IP scritto per il desktop Gnome2 e che supporta anche la videoconferenza tramite webcam. La home page è gnomemeeting.org.