[successivo] [precedente] [inizio] [fine] [indice generale] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]
La gestione di filmati avviene generalmente utilizzando il formato MPEG. Per la riproduzione di questi file, sono disponibili due librerie: MPEG Library (1) e SMPEG, (2) nota anche con il nome esteso SDL MPEG.
MPEG sta per Moving picture experts group e rappresenta uno standard per la rappresentazione di immagini, filmati e audio. Gli standard per i filmati sono fondamentalmente due: MPEG-1 e MPEG-2. Il primo è quello più comune, mentre il secondo riguarda prevalentemente i dischi DVD (Digital versatile disk). L'informazione audio utilizza i formati MP2 e MP3 (MPEG audio layer 2 e 3). Normalmente, l'estensione di un file contenente un filmato MPEG è .mpg.
In generale, il software disponibile consente di visualizzare il formato MPEG-1 con audio MP2 o MP3.
GTV (3) è un programma molto semplice, per il sistema grafico X, che si avvale della libreria SDL MPEG. Si compone dell'eseguibile gtv e si utilizza senza opzioni nella riga di comando, con la possibilità di indicare un solo file MPEG. All'avvio si presenta come si vede nella figura 406.1.
|
Figura 406.1. Pannello di controllo di GTV, dopo aver aperto e avviato il file
|
Si può osservare la disponibilità di una visualizzazione al doppio della dimensione normale, attraverso il bottone <Double>, così come la possibilità di eseguire il file in modo continuo con il bottone <Loop>. Dalla figura si può vedere che il bottone <Audio> non è disponibile, perché il file in questione non incorpora audio; lo scopo del bottone è proprio quello di abilitare, quando disponibile, l'ascolto dell'audio.
PlayMPEG (4) è un altro programma per l'esecuzione di file MPEG, per il sistema grafico X, che utilizza la libreria SDL MPEG. Si compone dell'eseguibile plaympeg e si utilizza soltanto attraverso la riga di comando. Al momento, PlayMPEG non offre alcuna possibilità di controllo durante l'esecuzione dei brani; tuttavia è almeno possibile indicare una sequenza di file che poi viene visualizzato in modo continuo.
|
|
Tabella 406.1. Alcune opzioni.
Segue la descrizione di alcuni esempi:
$ plaympeg *.mpg[Invio]
Esegue in sequenza tutti i file che terminano con l'estensione .mpg.
$ plaympeg *.mp3[Invio]
Esegue in sequenza tutti i file che terminano con l'estensione .mp3. Presumibilmente si tratta di file audio in formato MP3.
$ plaympeg --double *.mpg[Invio]
Esegue in sequenza tutti i file che terminano con l'estensione .mpg, ingrandendo le immagini al doppio della dimensione originale.
Mpgtx (5) è un programma che consente di rielaborare i file in formato in formato MPEG; in particolare consente di estrarne una porzione e di riunire assieme più file in un filmato unico. La sintassi generale è la seguente:
|
|
In pratica, è obbligatorio specificare un comando, attraverso un'opzione iniziale appropriata, quindi si possono indicare altre opzioni, infine il file, o i file su cui si interviene, dove i nomi di questi file possono essere seguiti dall'indicazione della porzione o delle porzioni da utilizzare.
Il programma mpgtx prevede una serie di nomi alternativi, con i quali si dichiara implicitamente il comando iniziale.
Tabella 406.2. Alcuni comandi.
Tabella 406.3. Alcune opzioni.
| Opzione | Descrizione |
|
| Forza la sovrascrittura dei file che dovessero già essere presenti. |
|
| Fa in modo che i file creati inizino con il nome indicato. |
|
| Questa opzione si usa solo con il comando -j e consente di specificare il nome del file da creare. |
Il risultato dell'elaborazione di Mpgtx può essere costituito da uno o più file. Nel caso del comando -j, ci può essere un file solo, pertanto si può usare l'opzione -o per specificarlo, mentre negli altri casi può essere conveniente l'uso dell'opzione -b per specificare almeno la radice del nome da usare. In mancanza di tali indicazioni, la radice è chunk; nel caso specifico del comando -j, si ottiene il file chunk.mpg.
La cosa importante che rimane da definire è il modo in cui si specificano gli intervalli nei file da prendere in considerazione. Nei casi più semplici si possono usare riferimenti al tempo o alla dimensione:
|
|
|
|
Nel primo caso si fa riferimento a un tempo: le prime due cifre (facoltative) indicano le ore; le due cifre successive i minuti; le due cifre successive i secondi; le due cifre finali (facoltative) si riferiscono a decimi di secondo.
|
L'indicazione di un intervallo che esprime il tempo di durata dell'esecuzione non consente di avere sempre una corrispondenza esatta; pertanto, si tratta di un'indicazione di massima, da verificare successivamente. |
Nel secondo caso, si fa riferimento a una dimensione in byte; dove nM è un valore in mebibyte (simbolo Mibyte), mentre nk è un valore in kibibyte (simbolo Kibyte).
Per specificare un intervallo, si indicano due valori espressi nello stesso modo (tempo o dimensione), separati da un trattino orizzontale (-). Se manca il valore iniziale, si intende l'inizio; se manca quello finale si intende la fine del file.
L'intervallo viene indicato tra parentesi quadre. Negli esempi successivi vengono mostrati diversi casi di utilizzo degli intervalli.
$ mpgtx -i mio_file.mpg[Invio]
mio_file.mpg Mpeg 1 System File [Video/Audio] Muxrate : 0.67 Mbps Estimated Duration: 19.61s Size [352 x 240] 29.97 fps 0.60 Mbps Audio : Mpeg 1 layer 2 64 kbps 44100 Hz Stereo, No emphasis |
In questo caso si richiedono e si ottengono le informazioni disponibili sul file mio_file.mpg, il quale risulta avere una durata di poco più di 19 s ed essere provvisto di traccia audio stereofonica.
$ mpgtx -s mio_file.mpg [0:2-0:4][Invio]
Now processing mio_file.mpg [1/1] ... 100.00% |
Legge il file mio_file.mpg e genera il file chunk.mpg, utilizzando (teoricamente) tre secondi soltanto, dal terzo al quinto.
|
Gli intervalli includono sia il valore iniziale, sia quello finale; pertanto, considerato che il primo secondo di durata del filmato parte da 0:0, si intende che 0:2 rappresenta (sempre teoricamente) l'inizio del terzo secondo di tempo. Così, il valore conclusivo rappresentato con 0:4 rappresenta la fine del quinto secondo di tempo. |
$ mpgtx -s mio_file.mpg [00:02.00-00:04.00][Invio]
Esattamente come nell'esempio precedente, dove nell'intervallo appare in modo esplicito anche il valore dei centesimi di secondo.
$ mpgtx -j mio_file.mpg [00:02.00-00:04.00][Invio]
Si ottiene lo stesso risultato dei due esempi precedenti, anche se in questo caso si usa il comando -j.
$ mpgtx -s mio_file.mpg [0:2-0:3] [0:5-0:6][Invio]
Now processing mio_file.mpg [1/2] ... 100.00% Now processing mio_file.mpg [2/2] ... 100.00% |
Legge il file mio_file.mpg e genera i file chunk-1.mpg e chunk-2.mpg, utilizzando (teoricamente) per il primo file due secondi di filmato, costituiti precisamente dal terzo al quarto secondo del filmato stesso, mentre per il secondo file, altri due secondi di filmato che vanno dal sesto al settimo secondo.
$ mpgtx -j mio_file.mpg [0:2-0:3] [0:5-0:6][Invio]
Now processing mio_file.mpg [1/2] ... 100.00% Now processing mio_file.mpg [2/2] ... 100.00% |
Legge il file mio_file.mpg estrapolando le stesse porzioni di filmato dell'esempio precedente, con la differenza che genera un file solo (chunk.mpg), contenente la sequenza dei due pezzi, uniti assieme.
$ mpgtx -j -o mio_file_corto.mpg mio_file.mpg [0:2-0:3] [0:5-0:6][Invio]
Come nell'esempio precedente, generando però il file mio_file_corto.mpg.
$ mpgtx -s -b pezzo mio_file.mpg [0:2-0:3] [0:5-0:6][Invio]
Questo esempio si comporta come un altro esempio simile già visto in precedenza, con la differenza che genera i file pezzo-1.mpg e pezzo-2.mpg.
$ mpgtx -s -b pezzo mio_file.mpg [1M-2M] [3M-4M][Invio]
Questo esempio si comporta in modo simile a quello precedente, ma gli intervalli sono espressi in base alla dimensione del file: si prende circa 1 Mibyte, a partire da circa 1 Mibyte dall'inizio del filmato; quindi si prende ancora circa 1 Mibyte, a partire da circa 3 Mibyte dall'inizio.
$ mpgtx -j -o tutto.mpg primo.mpg secondo.mpg terzo.mpg[Invio]
Genera il file tutto.mpg unendo assieme i file primo.mpg, secondo.mpg e terzo.mpg.
$ mpgtx -j -o tutto.mpg primo.mpg [0:10-0:30] secondo.mpg terzo.mpg[Invio]
Genera il file tutto.mpg unendo assieme una porzione del file primo.mpg e tutto il contenuto dei file secondo.mpg e terzo.mpg.
$ mpgtx -d prova.mpg[Invio]
No base name specified, defaulting to basename: chunk Demultiplexing : [audio 01 video 01] [100.00%] |
Genera i file chunk-0.m1v e chunk-0.mp2, il primo contenente il video puro e semplice, il secondo con la sola traccia audio.
Avifile (6) è un progetto nato con l'intento di utilizzare una serie di librerie binarie, gratuite, per l'esecuzione di file contenenti filmati digitali ed eventualmente anche per la registrazione di tali filmati. In generale, Avifile è utile per la visualizzazione di file in formato AVI.
I sistemi basati su distribuzioni GNU che dispongono di un pacchetto relativo a questo applicativo, dovrebbero avere già organizzato la cosa in modo da selezionare quelle librerie che consentono il funzionamento essenziale di Avifile, senza imporre restrizioni legali, a parte il fatto che vanno usate così come sono, senza la disponibilità di un sorgente.
Avifile si compone di diversi programmi eseguibili, ognuno con uno scopo differente, ma in pratica, ciò che si trova nelle distribuzioni GNU potrebbe essere limitato a aviplay, con lo scopo esclusivo di visualizzare i filmati:
|
|
Come si vede, il funzionamento di questo programma è molto semplice e intuitivo. Eventualmente può essere utile l'opzione -m, per visualizzare il filmato a schermo intero. L'esempio seguente avvia la visualizzazione di tutti file con estensione .avi che sono presenti nella directory corrente, in una sequenza unica:
$ aviplay *.avi[Invio]
Durante il funzionamento, a meno di avere selezionato l'opzione -m, appare un pannellino di controllo, come si vede nella figura 406.2.
|
Figura 406.2. Pannello di controllo di aviplay durante la visualizzazione di un filmato.
|
Durante il funzionamento sono utili alcuni comandi impartiti da tastiera, come descritto nella tabella successiva.
Tabella 406.4. Alcune comandi da tastiera.
| Comando | Descrizione |
| [Ins] [Del] | Passa al file successivo o a quello precedente. |
| [m] | Passa alla modalità di funzionamento a schermo intero e viceversa. |
| [x] | Stop: blocca l'esecuzione; per riprendere è necessario usare il tasto [v]. |
| [v] | Riprende l'esecuzione di un filmato fermato con il tasto [x]. |
| [c] [p] | Pausa. |
| [1] [2] [3] | Regola il fattore di ingrandimento: dal 50 % al 200 %. |
MPEG pointers and resources
Appunti di informatica libera 2004.10.10 --- Copyright © 2000-2004 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>
1) MPEG Library software libero con licenza speciale
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome filmato_digitale.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione licenza] [translators] [docinfo] [indice analitico]