Con questo intervento farò una rapida carrellata dei programmi dedicati a diversi utilizzi multimediali di Linux che conosco. Il vasto numero di software esistenti non mi permette di elencarli tutti, quindi quelli presentati sono solo quelli che mi sembrano di più facile utilizzo in base alla mia esperienza personale. Naturalmente la scelta è molto più vasta e ne esistono per tutti i gusti.
Tutti i programmi nominati in questa conferenza sono rigorosamente Open-Source.
Purtroppo GNU/Linux arranca a diffondersi nell'utilizzo casalingo principalmente per due motivi: l'errata credenza che sia difficile da utilizzare e l'errata credenza che non esistano programmi validi. Queste due cose sono assolutamente errate. Alcune distribuzioni sono molto User-Friendly, di facile utilizzo per l'utente medio (esempio Mandriva). Il numero di programmi Open-Source e Free-Software è tutt'altro che basso.
Cercare di diffondere GNU/Linux nell'utenza privata, a mio parere, ha una notevole importanza. Bisogna far capire alla società che i sistemi operativi proprietari non sono l'unica realtà e soprattutto non sono un tutt'uno col PC: molti utenti acquistano i PC pensando che il Windows pre-installato sia parte integrante del computer. Non è vero. Esistono delle validissime alternative.
È importante quindi formare la mente delle persone all'utilizzo di software meno diffuso. Linux, grazie all'X-Windows e ai gestori di finestre non è di difficile utilizzo, ma rimane alla portata di tutti.
Facendo uscire le persone dal falso standard che gli viene presentato, otterremo una diffusione di software libero anche nell'ambiente lavorativo. Molte ditte, infatti, preferiscono l'utilizzo costoso di sistemi Windows poiché gran parte del personale è già abituato ad utilizzarlo in casa e quindi non si troverà completamente spaesato nel posto di lavoro. L'utilizzo di Linux comporterebbe, invece, l'organizzazione di corsi, spesso anche costosi. Ecco quindi l'utilità di una diffusione di Linux negli ambienti casalinghi.
Inoltre il monopolio privato è sempre un brutto affare: mi sembra di ricordare, infatti, che il Windows 98 fu venduto a prezzi molto più alti rispetto a quelli che risultarono dalle ricerche di mercato fatte prima della sua uscita. Questo fu possibile perché le persone non sapevano di avere alternative. Anche a prezzi alti, il Windows avrebbe avuto un ottimo target di mercato; un semplice caso di totale mancanza di concorrenza.
Con l'avvento dei nuovi hardware, con il notevole aumento della potenza di calcolo dei processori e con l'avvento delle moderne schede video e schede audio, negli ultimi anni è stato possibile usare il PC per la visualizzazione veloce di immagini e per la riproduzione di suoni. Segue quindi che un normale PC oggi può essere utilizzato senza problemi per riprodurre musica, per visualizzare immagini e visto che non si hanno particolari problemi alla visualizzazione veloce (25 frame al secondo per il nostro sistema PAL), si possono riprodurre tranquillamente anche filmati.
Per affrontare in maniera ordinata il campo della multimedialità mi affido alla divisione nelle tre aree con cui è diviso il menù del KDE in dotazione sulla mia Mandriva 2006: Grafica e Foto, Suono e Musica ed infine i Video.
Iniziamo con la visualizzazione ed il ritocco di foto. Questa parte ha notevola importanza dato il veloce diffondersi di macchine fotografiche digitali.
Kuickshow e Kview, come indica chiaramente il nome che inizia per “K”, vengono forniti insieme al gestore di finestre KDE, per l'esattezza nel pacchetto “KDE-Graphics”.
Il Kuickshow è quello che di gran lunga preferisco io. È un programma molto leggero. Naturalmente, data la semplicità della sua funzione, cioè visualizzare immagini sul monitor, di programmi per lo stesso scopo ce n'è una vasta scelta. Kuickshow è notevole per la sua semplicità di utilizzo. Da la possibilità di visualizzare una foto in full-screen, senza il disturbo della grafica del gestore di finestre; lo schermo è riempito interamente dalla foto visualizzata. Si scorrono le foto di una directory (cartella) semplicemente coi i tasti PAG-SU e PAG-GIÙ ed in più ha un'utile funzione di scorrimento automatico a tempo regolabile. Posso configurare Kuickshow, ad esempio, a cambiarmi foto ogni 6 o 7 secondi, stile vecchi proietori di diapositive. È possibile così organizzare, con l'ausilio di un proiettore LCD portatile, che oggi hanno costi sempre più contenuti, una serata tra amici con proiezione di foto, un ritrovo aziendale con proiezioni varie o qualsiasi altro allegro utilizzo.
The Gimp è il programma open-source per eccellenza riguardo al fotoritocco. È ricchissimo di filtri e plug-in per tantissime funzioni diverse. Si presenta con un'interfaccia grafica diversa rispetto a programmi commerciali più conosciuti. La finestra principale del programma è piccola e presenta solo le funzioni principali (scelta dei pennelli, scelta del colore, ecc.)
Altre funzioni le si troveranno poi su altre finestre, ognuna per ogni categoria di strumenti. Ogni immagine che viene aperta per essere elaborata sarà visualizzata su una finestra dedicata e le varie funzioni potranno essere richiamate dal menù a cascata che si aprirà clickando col tasto destro del mouse sulla foto in esame. Nonostante l'apertura di molteplici finestre, l'utilizzo è molto semplice e comodo.
Anche utilizzare gli scanner con Linux non è più un problema come 2 o 3 anni fa. Il programma per eccellenza per gestire le scansioni è Sane, ma qui segnalo due front-end grafici di facilissimo utilizzo.
Il primo, X-Sane, è un programmino leggero e comodissimo. L'utilizzo è molto semplice: si scansiona un'anteprima a bassa definizione, si regolano i vari livelli di luminosità, colore, ecc. ed, infine, si procede alla scansione vera e propria alla risoluzione desiderata.
Il secondo, Kooka, è di altrettanto facile utilizzo ed è compreso nel pacchetto KDE-Graphics del gestore di finestre KDE.
Una funzione molto comoda e sempre più utilizzata è quella degli OCR, dei riconoscitori di testo da immagini digitali. Se io scansiono un documento scritto, poi me lo ritroverò come immagine, cioè come un insieme di pixel colorati. Visivamente so cosa è scritto in quel documento, ma a livello pratico non ne ho il testo disponibile per eventuali correzioni o modifiche. Con un OCR posso far analizzare il documento grafico dal PC e farlo convertire in un file di testo adattabile poi a tutti gli utilizzi necessari.
L'OCR che utilizzo è GOCR. Si utilizza da shell, da ambiente testuale, ma non per questo è complicato. Prende in input delle immagini in formato PNM o PNG. Naturalmente la definizione dell'immagine più è alta e più sarà migliore e con meno errori la conversione. La sintassi è:
gocr nome_immagine.pnm > file_testo.txt
Se non si aggiunge la parte dell'output “> file_testo.txt”, avrei il risultato visualizzato sullo standard output, cioè sullo schermo. Invece, così, mi ritrovo il testo rilevato su un file di testo che poi potrò adattare a qualsiasi esigenza. Naturalmente bisognerà effettuare una revisione, dato che gli errori sono ancora molti. Gli OCR, infatti, tendono ancora a fare errori di confusione tra “Q” ed “O” o tra “1” (uno come cifra) ed “I” e altri casi simili. Come dicevo sopra, maggiore è la risoluzione del file di partenza, maggiore sarà la qualità del risultato.
Con Ksnapshot si può prelevare come immagine il contenuto dello schermo o anche una singola finestra aperta. Questo programmino fa sempre parte del pacchetto KDE-Graphics. Dato che è dedicato esclusivamente a questa funzione è molto leggero e di utilizzo facilissimo e molto intuitivo.
Ed ora passiamo alla seconda area: suoni e musica. Quest'area la suddividerò in due sotto-aree: la prima per i programmi di riproduzione, la seconda per i programmi di codifica.
ARTSPlay ed ESDPlay sono dei programmini eseguibili da shell. Eseguono dei file audio non compressi ed in formato WAV. Sono dati in dotazione coi rispettivi driver audio dei gestori di finestre KDE (ARTs) e Gnome (Esound). Poiché possono riprodurre solo file audio non compressi, il loro utilizzo è molto limitato. Diciamo che possono essere utili per testare il funzionamento della scheda audio.
Altri programmi avviabili da shell, ma più evoluti, sono MPG123, MPG321 e OGG123. Questi tre programmini riproducono dei file compressi in Mpeg Layer-3 (i primi due) ed in OGG-Vorbis (il terzo). Per il loro utilizzo si possono usare per i file di input i caratteri jolly “*” e “?” per riprodurre più file e con l'opzione “-z” riproducono in modalità casuale la lista dei file.
E passiamo ad XMMS. Questo programma è graficamente molto accattivante. Compare sul monitor un frontalino da lettore CD da tavolo con i tasti dei comandi standard e riproduce diversi tipi di file audio, sia compressi, sia non. È di utilizzo facilissimo.
KsCD è un lettore per CD-Audio che viene dato nel pacchetto KDE-Multimedia di KDE. Per utilizzarlo c'è bisogno di collegare il lettore CD-ROM direttamente alla scheda audio, utilizzando l'apposito cavetto. Questo perché il flusso di dati che non è compresso, va direttamente alla scheda che riproduce il suono. Questo flusso, non passando per la CPU e non occupando risorse di calcolo in quanto non deve essere decompresso, rende KsCD un programmino che ha un'occupazione di risorse del calcolatore praticamente nulla.
Passiamo alla codifica. Lame e OGGenc permettono di codificare un file non compresso .WAV in un file compresso Mpeg Layer-3 (LAME) e in un file OGG-Vorbis (OGGenc). La sintassi è molto semplice:
oggenc file_wav -b 128 -o file_ogg
L'opzione “-b” permette di specificare il bitrate (e quindi la qualità); naturalmente, maggiore sarà la qualità richiesta, più grande sarà il file risultante.
Poi c'è il Grip. È un front-end grafico dei due programmini sopra citati che, inoltre, appoggiandosi a CD-Paranoia, un programma per l'estrazione di tracce audio da CD, permette di prelevare il flusso audio da codificare direttamente da un CD-audio. È utile per convertire CD musicali in file Mpeg Layer-3 o OGG-Vorbis.
Piccola osservazione su Lame: il formato Mpeg Layer-3, meglio conosciuto come MP3, è coperto da alcuni brevetti che permettono di produrre un lettore, ma non un codificatore (se non richiedendo i relativi diritti). Nonostante il programma sia open-source, molte distribuzioni preferiscono non introdurlo. Il Grip, infatti, di default utilizza l'OGGenc.
Infine, per concludere con i programmi per l'audio, Audacity. Un programma completo che permette gli editing dei file audio avendo a disposizione tantissime funzioni. Alla fine del lavoro di editing sarà possibile codificare il file musicale con diversi algoritmi di compressione (mp3, ogg, ecc.).
Passiamo all'ultima delle tre aree: il video.
La riproduzione di suoni e musica, combinata con la riproduzione veloce di immagini (tipo 25 immagini al secondo come richiede il sistema PAL) ci permette la riproduzione sul PC di filmati digitali.
Il primo programma di cui parliamo è lo Xine. Il progetto è partito in Germania ed oggi è un lettore multimediale che legge tantissimi formati video. Legge correttamente i DVD-Video con tanto di menù di selezione (cosa che non fa il successivo Mplayer) ed è proprio per questo utilizzo per cui lo preferisco. Con Xine riproduco i DVD, con Mplayer tutto il resto.
L'Mplayer è un progetto partito in Ungheria, dal programmatore Arpad Gereöffy che a quel tempo non riusciva a trovare un lettore multimediale per Unix che lo soddisfacesse. Ha iniziato quindi a scrivere il codice per l'Mplayer e successivamente, con l'aiuto di molta gente che si è inserita nel progetto, il prodotto è diventato uno dei più conosciuti del campo. Per lo stesso streaming del LinuxDay 2005 abbiamo consigliato l'MPlayer per la sua fluidità di riproduzione.
Lo si usa nativamente da shell, ma esiste anche il Gmplayer e tante skin a scelta per utilizzarlo in maniera grafica. Quella inserita nella slide è la skin “Phony” che preferisco utilizzare io; somiglia molto ad un frontale di un lettore DVD da tavolo.
L'utilizzo da shell è semplice:
mplayer dvd://2 per riprodurre il secondo titolo di un DVD
mplayer vcd://2 per riprodurre la seconda traccia di un VideoCD
mplayer nome_file_video per riprodurre un file video digitale
mplayer http://streaming.telug.it/ld2005_high.avi per la riproduzione in streaming (l'esempio è lo streaming dell'LD 2005).
Alcune opzioni utili:
mplayer dvd://2 -cache 8192 -framedrop -fs
-cache 8192 mi da 8 megabyte di cache, utile per fonti lente del flusso audio/video, ad esempio una rete LAN
-framedrop dice all'MPlayer di saltare alcuni frame nel caso che il video rimanga indietro rispetto all'audio. Questo è utile per vecchi hardware
-fs dice all'MPlayer di visualizzare in full-screen, a tutto schermo. Basta la pressione del tasto “f” per saltare da una modalità full-screen ad una modalità a video in finestra.
Questo programma si affida per molti formati alla famiglia di codec di FFMpeg, di cui parlerò nelle prossime slide. Particolare nota di merito ha il codec Mpeg4 di questa famiglia a cui l'MPlayer si affida per riprodurre i DivX; grazie a questo codec molto fluido, con questo lettore multimediale posso vedere i DivX anche con il mio portatile vecchiotto che monta un AMD K6 450 Mhz.
Una piccola autocitazione: all'URL http://www.maury.it/informatica/atitvout.html trovate come si riesca ad utizzare con l'MPlayer l'uscita TV delle schede ATI. Le schede TV ATI sono, infatti, caratterizzate da una tecnologia di proprietà Macrovision. Si riescono ad utilizzare soltanto con driver proprietari. Con l'aiuto del programmino open-source Atitvout si riesce ad attivare l'uscita TV per la modalità testuale. A questo punto, sfruttando l'MPlayer in framebuffer (senza ambiente grafico) si possono vedere tranquillamente i propri filmati digitali sulla televisione.
Per concludere con i riproduttori video, una breve citazione a Videolan. Altro riproduttore multimediale che legge quasi tutti i formati audio e video. Se Mplayer vi sembra un po' complicato, con quest'ultimo non avrete problemi.
E ora la codifica. Può essere utile cambiare formato video per diversi motivi; in primis, ad esempio, per avere dei file più compressi e che quindi occupano meno spazio nel supporto (Hard-Disk, CD-R, ecc.).
Iniziamo con FFMpeg. Non è un codificatore, ma una famiglia di tantissimi codec open-source, a cui poi si possono appoggiare i programmi di codifica e/o decodifica (riproduzione). Codifica l'audio in Mpeg Layer-2 e OGG-Vorbis (ma anche in altri formati meno conosciuti) e codifica i video in tantissimi formati diversi; una piccola nota di merito ha il formato Mpeg4 di FFMpeg, in quanto è codificato/decodificato da un codec molto più fluido dei più conosciuti DivX e XviD; è possibile di conseguenza codificare ad una notevole velocità e soprattutto visualizzare i filmati anche con hardware relativamente obsoleto (io personalmente riesco a vedere i DivX tranquillamente con il mio portatile con processore AMD K6 450 Mhz).
L'Mencoder è il codificatore che viene dato in dotazione con l'MPlayer. Può avere in input qualsiasi file supportato dal lettore multimediale di cui fa parte e per l'output può utilizzare molti codec installati: FFMpeg, DivX, XviD, Lame, ecc. ecc.
Si utilizza da shell. Come esempio di utilizzo immaginiamo di voler creare un Mpeg4 (compatibile con DivX e XviD) tramite i codec di FFMpeg da un film che abbiamo in un DVD-Video. Inoltre vogliamo che il risultato entri in un CD-R da 700 megabyte.
Come prima cosa dobbiamo cancellare dalla directory di lavoro il file “frameno.avi” che può essere stato creato da una precedente codifica. Questo, infatti, può dar fastidio al lavoro che stiamo andando ad effettuare.
rm frameno.avi
Poi si parte con la prima fase:
mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3
che codificherà l'audio con Lame, producendo un Mpeg Layer-3 a bitrate variabile e di buona qualità. Lo salverà in un nuovo file “frameno.avi”. Alla fine di questo passaggio verranno dati i bitrate video consigliati per creare dei file di 650, 700 e 800 megabyte.
Partiamo poi con il primo passaggio di codifica video:
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<bitrate> -oac copy -o movie.avi
dove al posto della stringa “<bitrate>” inseriremo il valore che ci è stato consigliato nel passaggio precedente. Durante questa fase il film viene codificato una prima volta, ma lo scopo è solo quello di analizzare il video, creando un file di log “divx2pass.log” dove vengono segnati i punti dove serve un bitrate più alto (ad esempio scene più veloci, più luminose, ecc.).
Infine il secondo passaggio:
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<bitrate> -oac copy -o movie.avi
dove avviene la codifica finale. Il bitrate dovrà essere uguale a quello immesso nel passaggio precedente. Il risultato “movie.avi” sarà il nostro filmato codificato e compresso. La qualità è molto buona, nonostante la compressione.
Due front-end grafici per Mencoder sono Gmencoder e File2divx3pass. Sono molto comodi da usare, ma non sfruttano tutte le funzionalità del programma.
Passiamo ora ad un programmino per video-editing: l'Avidemux. È un programma molto semplice ed intuitivo da usare.
Mi limito ad elencarne le funzioni principali:
tagliare filmati (ad esempio se si vuole togliere gli intervalli pubblicitari)
unire filmati
ruotare filmati (ad esempio di 90°)
schiarire o scurire filmati
ridurre o aumentare la definizione
codificare (appoggiandosi anche ai codec FFMpeg) e quindi anche creare dei DVD o dei Video-CD finali.
Per finire l'acquisizione da schede TV.
Il primo programma è lo XawTV, uno dei primi ad essere inseriti nelle distribuzioni. Il secondo, più evoluto, KDETV. Sono programmi molto semplici da utilizzare; oltre a visualizzare i programmi televisivi sul monitor, danno la possibilità anche di registrarli in formati digitali (Mpeg2, Mpeg4, ecc.). Naturalmente la scheda TV deve essere pienamente supportata dal kernel Linux.
Riguardo alle ATI, che come detto in precedenza sono protette da una tecnologia proprietaria, segnalo il progetto GATOS. È fermo da qualche anno e precisamente ad oggi (novembre 2005) è fermo all'X.org 6.7.0. Il funzionamento era discretamente buono.
Il mio intervento finisce qui. A questo punto non posso che augurare a tutti buon divertimento con l'amico Pinguino.