Screencasting su linux

Lo Screencasting è la procedura utilizzata su un PC, o altro dispositivo, per registrare video e audio dal desktop. Attraverso l’uso di opportuni software è possibile ottenere uno screencast, un video, corredato di traccia audio che descrive, di solito meglio di 1.000 parole, una procedura da seguire su PC. Di esempi di screencast è pieno il mondo, a titolo di esempio qui sotto se ne può vedere uno tratto dal sito Pragmatic Programming (che tralaltro screencast li produce e li vende).

Realizzare screencast è facile. Esistono vari software per farlo, alcuni gratuiti, altri a pagamento. Qui descriverò un metodo per macchine linux. Il programma da utilizzare è recordmydesktop.

Per installarlo su macchine Debian/Ubuntu è possibile utilizzare il seguente comando, (anche se l’equivalente esiste sicuramente per le altre distribuzioni):

sudo apt-get install recordmydesktop

Una volta ottenuto il software, per registrare l’intero desktop basta lanciare il comando:

recordmydesktop

una volta terminata la registrazione interrompere il programma con Ctrl-C e lasciare terminare l’encoding del file multimediale. Il file generato dal programma è in formato OGV. Non entro nel merito dei formati multimediali perché l’argomento è vasto e complesso e attualmente fuori dalla mia portata. L’unica cosa che vale la pena menzionare è che il formato OGV non è ben supportato da macchine non linux e anche YouTube per esempio sembra non gestirlo (a dire il vero oggi non ho provato).

Il file ottenuto va quindi convertito in un formato video più “tradizionale” (qualunque cosa questo significhi) e per farlo si possono utilizzare vari programmi. Qui menziono quelli che ho provato io:

  • mencoder: per esempio con il seguente comando:

mencoder -idx <file_input.ogv> -ocv lavc -oac mp3lame -o <file_output.avi>

si ottiene un file AVI. Nella prova fatta stanotte, nel file risultante dalla conversione, ho però ottenuto un disallineamento tra la traccia audio e quella video che di fatto rendeva il prodotto inutilizzabile.

  • avconv: questo programma è l’evoluzione del famoso ffmpeg (quest’ultimo ad oggi dichiarato obsoleto) e a tutti gli effetti lo sostituisce. Trattasi di un programma molto complesso e potente con molte opzioni che permettono di determinare il formato e la qualità della traccia audio e video risultante sul file di output. Con il seguente comando sono riuscito a convertire un OGV in modo corretto e a farlo riprodurre senza problemi da YouTube:

avconv -i <file_input.ogv> -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a mp2 <file_output.avi>

Al momento non sono molto soddisfatto della qualità del video, e non sono riuscito a codificare la traccia audio in MP3, ma almeno il file risultate ha una dimensione gestibile e funziona.

Per oggi solo un’ultima nota. Spesso per uno screencast risulta utile registrare il contenuto di un’unica finestra. Per fare questo con recordmydesktop basta utilizzare l’opzione --windowid. Per esempio:

recordmydesktop --windowid 0x2a00006

Per scoprire il window id della finestra da registrare, lanciare per esempio il comando:

xwininfo | awk '/xwininfo: Window id/{print $4}'

e  cliccare con il mouse sulla finestra di interesse.

Per oggi è tutto.

 

Daniel Hope: Spheres – “Musica Universalis” (by Alex Baranowski)

Scoperta del giorno, riascoltato per mettersi dell’umore giusto prima di andare a letto.