Attenzione: l'articolo è stato scritto da oltre 1 anno, le informazioni in esso contenute potrebbero essere datate e non più attuali.

Catturare immagini

In questa pagina cercherò di presentarvi nel modo più semplice possibile gli strumenti per catturare le immagini, statiche e in movimento, dal vostro desktop, altrimenti come potete aiutarmi nella scrittura di questo sito? :-)

Immagini statiche

Per le immagini statiche esistono diversi programmi dalle funzioni pressocché uguali, essi consentono di salvare l'intero desktop o una singola finestra, con o senza decorazione, e di impostare un intervallo prima di "scattare" la foto. Ecco le schermate di alcuni strumenti, partendo da quello che ritengo il migliore la funzione di cattura integrata in GIMP: è quella col maggior numero di funzioni e grazie all'integrazione in GIMP consente una veloce modifica in caso di correzioni. La funzione è raggiungibile da File -> Acquisisci -> Schermata:

acquisizioone gimp

Poi abbiamo Ksnapshot, altro programma abbastanza ricco di funzioni:

knapshot

e infine la funzione di cattura integrata in Gnome (dal menu Azioni -> Schermata) che non permette di catturare singole finestre, ma ha altre utili funzioni:

gnome

Altre utility da provare sono import e xvidcap, il secondo lo analizzerò più approfonditamente nel proseguio del testo. Per quanto riguarda il primo esso è programma testuale compreso in ImageMagick, che consente anche di catturare zone ben specifiche del desktop, ad esempio:

import -window root -crop 300x300+200+200 -quality 90 ./schermo.jpg

Con questo comando fotografiamo un quadrato di 300 pixel di lato a partire da 200 pixel di distanza, sia in orizzontale che in verticale, dall'angolo in alto a sinistra del monitor.

Immagini in movimento

Una miniguida sulla cattura di immagini animate dal desktop può essere trovata Qui

Come abbiamo visto esistono numerosi metodi per la cattura di schermate dell'intero desktop o delle finestre ivi contenute; non si può dire lo stesso per quanto riguarda le immagini in movimento. Il programma migliore che ho trovato è xvidcap.
Questo programma permette di registrare ciò che avviene in una zona specifica del desktop, ma non facendo uso di driver connessi direttamente all'hardware, sarà necessario un computer abbastanza potente per star dietro alla gran mole di dati in gioco. Il programma registra tutti i fotogrammi della cattura, in una serie di fermi immagine a scelta tra i formati jpeg, png, xwd, ppm ed altri oppure in un filmato quicktime (.mov). Se optate per le singole immagini esse possono essere convertite in un filmato in vario modo, con Gimp, mencoder, Image Magick, etc...
Il programma può essere prelevato in forma di sorgenti da QUI sia nella versione 1.0.9, datata 1999 (quella che verrà usata nella successiva prova) sia nella versione 1.0.17, datata settembre 2003 , ma che non sono riuscito a compilare.
Una volta scaricato il pacchetto va compilato e installato (adattate i comandi alla vostra situazione):


tar xvfz ./xvidcap-1.0.9.tar.gz
cd ./xvidcap
./configure
make
(da root) make install



Se tutto procederà senza errori troverete il programma in /usr/local/bin/.
Avviamo quindi il programma:

/usr/local/bin/xvidcap

La linea di comando accetta molti parametri che potrete leggere, insieme ai formati supportati, con

xvidcap --help

in questo tutorial imposteremo le opzioni graficamente.
Dopo l'avvio il programma si presenterà così:

xvidcap

Il riquadro rosso indica la zona che verrà registrata. Prima di partire impostiamo le preferenze, cui potremo accedere con File -> Preferences o in caso di problemi con ALT+O:

xvidcap_prefs

Le opzioni impostabili sono le seguenti:

  • Fotogrammi per secondo, 25 sono ideali per filmati fluidi. Se potete accettare qualche scatto riducete questo valore:occuperete meno spazio e sarà minore il lavoro per il computer, potrete quindi aumentare la finestra di cattura
  • File pattern, qui potrete indicare il nome, il percorso del file e il formato. Se state registrando una serie di immagini con %04d potrete indicare dove inserire il numero progressivo e da quante cifre sarà composto.
  • Massimo numero di fotogrammi, il significato è chiaro, appena registrati il numero di fotogrammi indicati in questa voce, la registrazione si fermerà. Con zero eliminerete qualsiasi limite
  • Massimo numero di secondi, come sopra solo che l'unità di misura è il tempo
  • Qualità, vale solo se state usando il formato Jpeg. Minore qualità vuol dire minore spazio occupato su disco
  • Compressione: vale solo per PNG. Aumentando la compressione sarà occupato meno spazio su disco ma ci vorrà più lavoro da parte del computer.

A questo punto possiamo passare alla pratica.

Scelta di una finestra e cattura

L'uso è molto semplice. Dopo aver impostato le preferenze, premiamo su questo pulsante . Il cursore diventerà una croce con la quale cliccheremo nella finestra che vorremo registrare. Il riquadro di cattura assumerà la grandezza di quella finestra (esclusi i bordi). A volte potrebbe essere necessario spostare xvidcap per far corrispondere il riquadro alla finestra desiderata.
Possiamo partire: clicchiamo sul pulsante Registra e per teminare clicchiamo sul pulsante Stop. Le immagini catturate si troveranno nella cartella specificata nelle opzioni oppure nella HOME se non si è inserito niente.

Cattura di fermi-immagine

Xvidcap permette anche di catturare animazioni fotogramma per fotogramma. Il procedimento è il seguente: dopo aver impostato le preferenze (anche se alcune perdono valore come i fotogrammi per secondo), cliccate sul pulsante Pausa, poi su Registra e infine su Cattura fotogramma. Potrete notare che il frame attuale si incrementa di un numero e potrete catturarne un'altro. Potete anche sovrascrivere frame precedenti attraverso i pulsanti di spostamento e visualizzare il risultato col pulsante Visualizza (l'ultimo sulla barra).

Trasformazione in filmato

Se nelle opzioni abbiamo scelto l'estensione mov, dopo la cattura ci ritroveremo nella cartella specificata un filmato mov che può essere tranquillamente riprodotto con mplayer. Se invece abbiamo optato per la cattura di una serie di immagini potremo vedere il filmato scegliendo dal menu "File" il comando "Make video". Questa funzione fa uso di programmi esterni che possono essere configurati attraverso le "X resources" ovvero modificando il file .Xdefaults (vedi man xvidcap per ulteriori info).
Esistono anche altri modi per l'ottenimento di un filmato, con Gimp apriamo il primo frame della serie (esempio frame_0000.xwd), poi scegliamo da menu <immagine> / Video / Frame a immagine. Nella finestra successiva possiamo anche lasciare invariate le opzioni e cliccare su Ok. Gimp ci segnalerà un errore sul fatto che non stiamo usando il formato xcf, clicchiamo su "Salva com'è". Dopo un po' di tempo per l'elaborazione otterremo una immagine costituita da tanti frame quante sono le istantanee scattete. Salviamo l'immagine nel formato gif o mng (per questi argomenti vi rimando ad altri tutorial). Sempre con Gimp dopo aver aperto il primo frame possiamo scegliere <imm> / Video / Encode / mpeg1 o mpeg2 per ottenere filmati mpeg (dovremmo aver installati i programmi per la codifica in mpeg e rispettare altre caratteristiche come la dimensione e il formato delle immagini, l'argomento purtroppo è troppo ampio per trattarlo qui).
Con mencoder possiamo salvare la sequenza in un qualsiasi formato video leggibile da mplayer, proviamo con il mpeg. Ne capisco poco di mencoder quindi ricopio il comando usato in questo documento

mencoder \*.png -mf on:fps=10 -ovc lavc -lavcopts vcodec=mpeg1video:vhq:vbitrate=1800 -o video.mpg

e come volevasi dimostrare, non conoscendo mencoder, il comando mi ha prodotto un video deformato, provate voi non si sa mai... Altra nota: mencoder purtroppo non supporta il formato xwd quindi se volete usarlo create i frame in jpg o png.
Sempre per creare un'animazione potete usare ImageMagick ad esempio con questo comando:

convert -delay 4 frame*.xwd filmato.gif

ImageMagick si è dimostrato il più lento quindi non ve lo consiglio.
Alcune note: tutti i procedimenti elencati richiedono, a seconda del numero di frame (200 già sono tanti), molto tempo e molta memoria per l'elaborazione. Preparatevi quindi a lunghe attese (qualche minuto per 200 frame di 350 x 350 su un Pentium III 450 Mhz), con ImageMagick si è verificato un "quasi" blocco del pc quindi se possibile chiudete tutti gli altri programmi aperti, o quantomeno salvate il lavoro ;-)

Fermo-immagine da filmati

Catturare fermo-immagini da filmati è una faccenda molto diversa e usare gli stessi strumenti visti sopra porterebbe di solito a risultati pessimi.
Il metodo migliore è rappresentato dalla specifica funzione di cattura presente praticamente in tutti i programmi di una certa qualità. Spulciate i menù e/o le opzioni per i programmi testuali e la troverete sicuramente. Ad esempio in Totem si trova nel menu Modifica.

Link correlati sul sito...

... e sul web.

Nessun voto finora

Commenti

stella

ciao a tutti, io ho un problema:
ho fatto un video con la macchinetta digitale, è una canon digital ixus 9501s
Ora il problema è che non so perchè, ma il video è venuto velocissimo, io dovevo estrapolare delle immagini, di solito uso il vlc rallento e prendo le immagini.Con questo video le immagini sono tutte distorte, perchè anche rallentando il video rimane troppo veloce--che mi consigli?Posso estrapolare le immagini dai frame del video?Ho provato virtual dub opzione frame, anche rallentando il problema rimane...Mi date qualche consiglio?Ho perso tutto?
Grazie

Ps se puoi mi rispondi (anche) in privato?la mia email è stella [dot] mia1atvirgilio [dot] it

a presto

Aiuto

Ciao, ho letto con molto interesse il tuo articolo, ma sinceramente le mie conoscenze in merito, sono limitate! ho scaricato il programma, ma non capisco assolutamente come si compila e configura. Le mie intenzioni, sono di registrare a monitor dei filmati tipo quiktime per fare piccole lezioni riguardo l'utilizzo di un software... se mi puoi aiutare te ne sarei grato
Cordialità Maurizio

stella

ciao a tutti, io ho un problema:
ho fatto un video con la macchinetta digitale, è una canon digital ixus 9501s
Ora il problema è che non so perchè, ma il video è venuto velocissimo, io dovevo estrapolare delle immagini, di solito uso il vlc rallento e prendo le immagini.Con questo video le immagini sono tutte distorte, perchè anche rallentando il video rimane troppo veloce--che mi consigli?Posso estrapolare le immagini dai frame del video?Ho provato virtual dub opzione frame, anche rallentando il problema rimane...Mi date qualche consiglio?Ho perso tutto?
Grazie

Ps se puoi mi rispondi (anche) in privato?la mia email è stella [dot] mia1atvirgilio [dot] it

a presto

Che sistema operativo usi?

Che sistema operativo usi? Per quanto riguarda linux (su windows ci sono maggiori alternative in questo campo) ho fatto un riassunto delle opportunità qui:

http://www.volalibero.it/vncrec_registriamo_animazioni

Molto valido è il sistema cheutilizza un server vnc, anche se le animazioni create sono in flash. Per quanto riguarda l'installazione dei programmi su linux non è necessario compilarli (gli articoli sono purtroppo un po' vecchiotti), se cerchi tra i pacchetti della tua distribuzioni troverai sicuramente tutti i programmi che cito.
Ciao, Mike :)

Sistema op

Il mio sistema operativo è windows xp, linux lo sto scaricando ora... quindi come posso procedere?
Cordialità Maurizio

Ma il programma ce devi

Ma il programma ce devi "filmare" su che sistema operativo gira? Se va su windows devi cercare un programma che catturi in tempo reale l'attività del monitor per windows. Ecco alcuni link:
http://www.dirfile.com/free_screen_capture.htm
http://www.techsmith.com/snagit.asp
http://www.etrusoft.com/
http://www.hyperionics.com/
Alcuni sono disponibli in versione di prova, altri a pagamento eil primo è gratis (non ne ho provato nessuno).
Mike