## 2.1. Formati supportati

E' importante fare chiarezza su un errore comune. Quando la gente vede un file con estensione .AVI, dice subito che non è un file MPEG. Questo non è vero. Almeno non del tutto. Contrariamente alla credenza popolare quel file può contenere del video MPEG1.

Vedi, un codec non è la stessa cosa di un formato file.
Esempi di codec video sono: MPEG1, MPEG2, DivX, Indeo5, 3ivx.
Esempi di formati video sono: MPG, AVI, ASF.

In teoria, si può mettere un video OpenDivX con audio in MP3 in un file di formato MPG. Sebbene la maggior parte dei lettori non lo leggerà, perchè si aspettano video MPEG1 e audio MP2 (.MPG non ha i campi necessari per descrivere i suoi flussi video e audio, come invece fa .AVI). O si può mettere video MPEG1 in un .AVI. Per esempio ffmpeg e MEncoder possono creare questi file.

### 2.1.1. Formati video

#### 2.1.1.1. File MPEG

I file MPEG si presentano in diverse forme:

- MPG : questa è la forma base del formato file MPEG. Contiene video MPEG1, e audio MP2 (MPEG-1 layer 2), o raramente MP1.
- DAT : questo è assolutamente lo stesso formato dell' MPG, solo diversa estensione. Usato sui Video CD. A causa di come sono fatti i VCD e di come Linux è strutturato, i file DAT non possono essere letti o copiati dai VCD. Devi usare l'opzione `-vcd` per vedere i VideoCD.
- VOB : questo è il formato file MPEG dei DVD. Come MPG, più la possibilità di contenere sottotitoli, o audio non-MPEG (AC3). Contiene video MPEG2, e di solito audio AC3, ma è permesso anche l'MP2 e LPCM non compresso.
  Leggi la sezione DVD !

Serie di frame formano gruppi indipendenti nei file MPEG. Questo significa che si può tagliare/unire un file MPEG con normali strumenti per i file (come dd, cut), e il risultato sarà totalmente funzionante.

Una caratteristica importante degli MPG è che hanno un campo per descrivere le proporzioni del flusso video che contengono. Per esempio gli SVCD hanno una risoluzione video di 480x480, e nell'intestazione quel campo ha il valore 4:3, quindi è riprodotto in 640x480. I file AVI non hanno questo campo, quindi bisogna ridimensionarlo durante la codifica o usa l'opzione -aspect alla lettura.

#### 2.1.1.2. File AVI

Introdotti dalla Micro$oft, l'AVI (Audio Video Interleaved, Audio Video Intervallato ndt) è un formato diffuso e multipurpose, attualmente usato soprattutto per i video DivX e DivX4. Ha molti svantaggi conosciuti, e incapacità (per esempio nello streaming). Supporta un flusso video, e da 0 a 99 flussi audio. Può essere grande fino a 2Gb. C'è un'estensione per renderlo più grande, chiamata OpenDML. Microsoft attualmente scoraggia il suo uso e propaganda ASF/WMV. Non che a qualcuno importi.

Esiste un trucco per i file AVI che permette di usare un flusso audio Ogg Vorbis, ma li rende incompatibili con gli standard AVI. MPlayer supporta la lettura di questi file. Anche la ricerca è implementata ma è inutilizzabile in file mal codificati con header confusi. Sfortunatamente l'unico encoder attualmente capace di creare questi file, nandub, soffre di questo problema.

NOTA: le videocamere DV creano puri flussi DV che i programmi di cattura DV convertono in due diversi tipi di file AVI. L' AVI quindi conterrà o flussi audio e video separati che MPlayer può riprodurre o il puro flusso DV il supporto del quale è in sviluppo.

Ci sono due tipi di file AVI:

- Intervallato: i contenuti audio e video sono intervallati. Questo è l'utilizzo standard. Raccomandato e più usato. Alcune applicazioni creano AVI intervallati con sincronia difettosa. MPlayer li riconosce come interleaved, e questo provoca la perdita della sincronia A/V, probabilmente nella ricerca. Questi file dovrebbero essere letti come non-intervallati (con l'opzione `-ni`).
- Non-intervallato: prima viene l'intero flusso video, poi l'intero flusso audio, così richiede un sacco di ricerca. E' pessimo quando lo si legge da rete o CDROM.

MPlayer supporta 2 tipi di timing per i file AVI:

- basato su bps : è basato sul bitrate/samplerate del flusso video/audio. Questo metodo è usato dalla maggior parte dei lettori, incluso avifile e windows media player. File con intestazione danneggiata, e file creati con codificatori audio VBR ma non aderenti agli standard VBR produrranno desincronia A/V con questo metodo (soprattutto nelle ricerche).
- basato sull'intervallo : non usa il valore di bitrate dell'intestazione, usa invece la posizione relativa dei segmenti audio e video. Rende leggibili alcuni file malamente codificati con audio VBR.

Qualsiasi codec audio e video è permesso, ma nota che l'audio VBR non è ben supportato da molti lettori. Il formato file rende possibile usare audio VBR, ma molti lettori si aspettano audio CBR, così falliscono col VBR. VBR è inusuale, e le specifiche AVI di Microsoft descrivono solo l'audio CBR. Ho anche notato, che la maggior parte degli encoder/multiplexer AVI creano file malformati se usano audio VBRo. Solo 2 eccezioni (da me conosciute): NaNDub e MEncoder.

#### 2.1.1.3. File ASF/WMV

ASF (active streaming format, formato di flusso attivo ndt) viene da Microsoft. Hanno sviluppato due varianti di ASF, v1.0 e v2.0. La v1.0 è usata dai loro programmi multimediali (windows media player e windows media encoder) ed è molto segreta. La v2.0 è pubblica e registrata :). Naturalmente sono differenti, non c'è nessuna compatibilità (è solo un altro gioco legale). MPlayer supporta solo la v1.0, in quanto nessuno ha mai visto file v2.0 :) . Nota che i file .ASF oggigiorno hanno l'estensione .WMA o .WMV.

#### 2.1.1.4. File QuickTime/MOV

Questi formati sono stati creati dalla Apple. Di solito hanno estensioni .QT o .MOV . Nota che da quando il Gruppo MPEG4 ha scelto QuickTime come formato file raccomandato per MPEG4, i loro file .MOV hanno estensione .MPG o .MP4 (interessante il fatto che in questi file il flusso video è un vero file MPG o ACC. Con le opzioni `-dumpvideo` e `-dumpaudio` puoi perfino estrarlo!).

Codec: qualsiasi codec è permesso, sia CBR che VBR. Nota: la maggior parte dei nuovi file mov usano video Sorenson e audio QDesign Music. Vedi la sezione dei codec Sorenson.

#### 2.1.1.5. File VIVO

MPlayer legge felicemente i formati file VIVO. Il più grande svantaggio di questo formato è che non c'è un'area per l'indice, ne una grandezza fissa di pacchetto o byte di sincronia, e a molti file mancano anche i frame chiave, quindi dimenticati la funzionalità di ricerca!

Il codec video dei file VIVO/1.0 è lo standard h.263 . Il codec video dei file VIVO/2.0 è un h.263 modificato, non standard. L'audio è lo stesso, può essere g.723 (standard), o Vivo Siren .

Vedi le sezioni codec video VIVO e codec audio VIVO per istruzioni sull'installazione.

#### 2.1.1.6. File FLI

FLI è un formato file molto vecchio usato da Autodesk Animator, ma è un formato comune per brevi animazioni sulla rete. MPlayer legge i filmati FLI ed è anche in grado di ricercare in questi (utile quando usato con l'opzione -loop). I file FLI non hanno frame chiave, quindi la visualizzazione sarà confusa per breve tempo dopo una ricerca.

#### 2.1.1.7. File RealMedia (RM)

Si, MPlayer può leggere (demux) file RealMedia (.rm). La ricerca funziona, ma devi specificare esplicitamente l'opzione `-forceidx` (il formato supporta i frame chiave). Qui c'è la lista dei codec supportati: RealVideo e RealAudio.

#### 2.1.1.8. File NuppelVideo

NuppelVideo è uno strumento per catturare da TV (AFAIK:). MPlayer può leggere i suoi file .NUV (solo di NuppelVideo 5.0). Questi file possono contenere frame YV12 non compressi, YV12+RTJpeg compressi, YV12 RTJpeg+lzo compressi, e YV12+lzo compressi, MPlayer li decodifica (e anche li codifica con MEncoder a DivX/etc!) tutti quanti. La ricerca all'interno del filmato funziona.

#### 2.1.1.9. File yuv4mpeg

yuv4mpeg / yuv4mpeg2 è un formato file usato dai programmi mjpegtools. Si può catturare, produrre, filtrare o codificare video in questo formato usandoli. Questi file sono in realtà una sequenza di immagini YUV 4:2:0 non compresse.

#### 2.1.1.10. File FILM

Questo formato è usato nei CD-ROM dei giochi del vecchio Sega Saturn.

#### 2.1.1.11. File RoQ

I file RoQ sono file multimediali in alcuni giochi della ID come Quake III e Return to Castle Wolfenstein.

#### 2.1.1.12. File OGG/OGM

Questo è un nuovo formato di Xiphophorus. Può contenere qualsiasi codec video o audio, CBR o VBR. Devi avere `libogg` e `libvorbis` installati prima di compilare MPlayer per essere in grado di leggerlo.

#### 2.1.1.13 File SDP

SDP è un formato standard della IETF per descrivere flussi RTP video e/o audio. (Sono necessarie le librerie "LIVE.COM Streaming Media".)

#### 2.1.1.14 File PVA

PVA è in formato simile all' MPEG usato dai software delle schede TV DVB (es.: MultiDec, WinTV) sotto Windows.

Le specifiche PVA possono essere scaricate dal seguente indirizzo: http://www.technotrend.de/download/av_format_v1.pdf

#### 2.1.1.15 File GIF

Il formato GIF è comunemente usato per la grafica su web. Ci sono due versioni delle specifiche GIF, GIF87a e GIF89a.La differenza principale è che GIF89a consente le animazioni. MPlayer supporta entrambi i formati tramite la libreria libungif o altre librerie compatibili. I GIF non animati sono visualizzati come un sigolo frame video (usa `-loop` e `-fixed-vo` per mostrarli più a lungo).

Al momento MPlayer non supporta la ricerca nei file GIF. I file GIF non hanno necessariamente una dimensione del frame fissa, né un framerate costante. Piuttosto, ogni frame ha una sua dimensione e deve essere posto in una posizione definita in un'area di dimensione fissa. Il framerate è controllato da un blocco opzionale prima di ogni frame, che specifica il ritardo di visualizzazione in centesimi di secondo.

I file GIF standard contengono frame di tipo RGB 24-bit, codificati con una palette indicizzata a 8 bit. I frame sono compressi con un algoritmo LZW, anche se alcuni programmi generano file non compressi per problemi di brevetto sulla compressione LZW.

Se la tua distribuzione non contiene libungif, scaricala dalla homepage di libungif. Pre informazioni tecniche dettagliate, leggi le specifiche GIF89a.

### 2.1.2. Formati audio

Attualmente MPlayer è ancora un "Movie Player" e non un "Media Player". Questo sta lentamente cambiando e attualmente sono supportati MP3, OGG VORBIS, WMA, MP4 e WAV. Ciò nonostante l'obbiettivo principale è ancora il video, quindi potresti preferire usare alternative come xmms, mpg123.

#### 2.1.2.1. File MP3

Potresti avere dei problemi con certi file MP3 che MPlayer riconosce come mpegs e non legge correttamente o non legge del tutto. Questo comportamento non può essere corretto senza abbandonare il supporto per certi file mpeg corrotti, quindi rimmarrà così per il prossimo futuro. L'opzione `-demuxer` descritta nella pagina di man può esserti d'aiuto in questi casi.

#### 2.1.2.2. File WAV

#### 2.1.2.3. File OGG/OGM (Vorbis)

Richiede `libogg` e `libvorbis` corretamente installati.

#### 2.1.2.4. File WMA/ASF

#### 2.1.2.5. File MP4

#### 2.1.2.6 CD audio

MPlayer può usare cdparanoia (librerie) per leggere i CDDA (CD audio). Non è nello scopo di questa sezione elencare le caratteristiche di cdparanoia.

Guarda nella pagina di man l'opzione `-cdda` che può essere usata per passare opzioni a cdparanoia.

#### 2.1.2.7 XMMS

MPlayer può utilizzare i plugin di input di XMMS per leggere vari formati. Ci sono plugin per i suoni dei giochi di tipo SNSE, per quelli di tipo SID (del Commodore 64), molti formati usati su Amiga, .xm, .it, VQF, musepack, Bonk, shorten e molti altri. Li puoi trovare sulla homepage di XMMS.

Per usare questa funzione devi avere XMMS e compilare MPlayer con `./configure --enable-xmms`. Se non funziona, potresti aver bisogno di settare esplicitamente il percorso deli plugin e delle librerie XMMS con le opzioni `--with-xmmsplugindir` e `--withxmmslibdir`.