L'interfaccia audio di MPlayer è chiamata libao2. Attualmente contiene questi driver :
/dev/audio
) per utenti BSD e Solaris8I driver per le schede sonore di Linux hanno problemi di compatibilità. Questo perchè MPlayer fa affidamento su una caratteristica dei driver audio scritti in modo corretto per mantenere la sincronia audio/video. Purtroppo, alcuni autori di driver non si preoccupano di questa funzione, poiché non è necessaria per leggere MP3 e per effetti sonori.
Può essere che altri lettori come aviplay o xine funzionino anche con questi driver perchè usano dei metodi "semplici" con un timer interno. Test hanno dimostrato che i loro metodi non sono efficienti come quello di MPlayer.
Usare MPlayer con un driver audio scritto correttamente non ti darà mai una desincronizzazione A/V relativa all'audio, tranne che con file fatti davvero male (controlla la documentazione per aggirare questi problemi).
Se per caso hai un cattivo driver audio, prova l'opzione -autosync
,
dovrebbe risolvere i tuoi problemi. Vedi la pagina di man per informazioni più
dettagliate.
Alcune note:
-ao oss
(questo è il
default). Se riscontri interruzioni, o qualunque cosa fuori dall'ordinario,
prova -ao sdl
(NOTA: naturalmente devi avere le librerie SDL ed i
file di sviluppo installati). Il driver SDL aiuta in molti casi e supporta
anche ESD (GNOME) e ARTS (KDE).-ao alsa5
, dato che la 0.5 ha un codice di emulazione OSS con dei
bug, e manderà in crash MPlayer con un messaggio come questo:DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
-ao sun
, altrimenti non avrai né riproduzione video, né audio.hdparm -u1 /dev/cdrom
(man hdparm
). Questo è solitamente utile, ed è descritto in
dettaglio nella sezione CD-ROM.Su Linux, usa il kernel 2.4.x se possibile, il 2.2 non è stato testato
I driver audio di Linux sono per la maggior parte provenienti dalla versione free di OSS. Questi driver sono stati sostituiti da ALSA (Advanced Linux Sound Architecture, architettura sonora avanzata per Linux, ndt) nella versione 2.5 in sviluppo. Se la tua distribuzione non utilizza già ALSA, puoi provare questi se hai problemi con l'audio. I driver ALSA sono generalmente superiori a quelli OSS per compatibilità, performance e funzioni. Ma alcune schede audio sono supportate solo dalla versione commerciale dei driver OSS di 4Front Technologies. Questi supportano anche parecchi sistemi non-Liunx.
SCHEDA SONORA | DRIVER | Max kHz | Max Canali | Max Aperture[1] | |||
---|---|---|---|---|---|---|---|
OSS/Free | ALSA | OSS/Pro | Altro | ||||
VIA integrato (686/A/B, 8233, 8235) | via82cxxx_audio | snd-via82xx | 4-48 kHz o solo 48 kHz, dipende dal chipset | ||||
Aureal Vortex 2 | Nessuno | Nessuno | OK | Driver Linux Aureal Dimensione buffer aumentata a 32k |
48 | 4.1 | 5+ |
SB Live! | Analogico OK, SP/DIF non funzionante | Entrambi OK | Entrambi OK | Driver OSS di Creative (con supporto SP/DIF) | 192 | 4.0/5.1 | 32 |
SB 128 PCI (es1371) | OK | ? | 48 | Stereo | 2 | ||
SB AWE 64 | Max 44kHz | A 48kHz suona male | 48 | ||||
GUS PnP | Nessuno | OK | OK | 48 | |||
Gravis UltraSound ACE | Non OK | OK | 44 | ||||
Gravis UltraSound MAX | OK | OK (?) | 48 | ||||
ESS 688 | OK | OK (?) | 48 | ||||
Schede C-Media (quali?) | Non OK (sibila) (?) | OK | ? | ||||
Schede Yamaha (*ymf*) | Non OK (?) (forse -ao sdl ) |
OK solo con ALSA 0.5 con emulazione OSS E
-ao sdl (!) (?) |
? | ||||
Schede con chip envy24 (come Terratec EWS88MT) | ? | ? | OK | ? | |||
PC Speaker o DAC | OK | Nessuno | Driver OSS Linux per PC speaker | Il driver emula 44.1, forse più. | Mono | 1 |
[1]: numero di applicazioni che sono in grado di usare contemporaneamente il dispositivo.
Per favore dicci come MPlayer e la tua scheda sonora hanno lavorato insieme!
I vecchi plugin audio sono stati sostituiti dai nuovi filtri audio. I filtri
audio sono usati per cambiare le proprietà dei dati audio prima che
raggiungano la scheda sonora. L'attivazione e disattivazione dei filtri è
normalmente automatica, ma può essere forzata. I filtri sono abilitati quando
le caratteristiche dei dati audio differiscono da quelle richieste
dalla scheda sonora e disattivati se non necessari. L'opzione
-af filtro1,filtro2,...
è usata per scavalcare l'attivazione
automatica dei filtri o per aggiungere filtri che non sono inseriti
automaticamente. I filtri saranno eseguiti nell'ordine con cui appaiono nella
lista.
Esempio:
mplayer -af resample,pan movie.avi
farà passare il suono attraverso il filtro di ricampionamento, seguito da quello pan. Nota che la lista non deve contrnere spazi, altrimenti non funzionerà.
I filtri possono anche avere opzioni che ne modificano il comportamento. Queste sono spiegate in dettaglio nelle sezioni sotto. Un plugin sarà eseguito con la configurazione di default se non vengono date opzioni. Esempi di come usare plugin in combinazione con loro opzioni specifiche:
mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1
-srate 11025 media.avi
imposterà la frequenza d'uscita del filtro di ricampionamento a 11025Hz e ridurrà l'audio ad 1 canale usando il filtro pan.
Il funzionamento complessivo del sistema di filtri è controllato dall'opzione
-af-adv
. Questa opzione ha due sotto-opzioni:
force
0
1
2
3
4
5
6
7
list
Il sistema di filtri è influenzato anche dalle seguenti opzioni generali:
-v
-channels
-srate
-format
MPlayer supporta pienamente il sopra/sotto campionamento del suono tramite il
filtro resample
. Può essere usato se hai una scheda sonora a
frequenza fissa o se devi usare una vecchia scheda sonora in grado di usare al
massimo 44.1kHz. Questo filtro è abilitato automaticamente se è necessario,
ma può anche essere selezionato esplicitamente sulla riga di comando.
Ha tre opzioni:
freq.campionamento <8000-192000>
approssimazione
srate
. Questa opzione può essere usata se l'avvio
della riproduzione è molto lento. E' normalmente abilitata.tipo <0-2>
0
e 2
che
sceglie quale metodo di ricampionamento usare. 0
indica
interpolazione lineare, 1
indica l'uso di un banco di filtri
polyphase con calcoli interi e 2
indica l'uso di un banco di
filtri polyphase con calcoli floating point. L'interpolazione lineare è
molto veloce, ma ha scarsa qualità soprattutto in sovracampionamento. La
migliore qualità è data da 2
ma questo metodo è il più pesante
come carico sulla CPU.Esempio:
mplayer -af resample=44100:0:0
imposta la frequenza d'uscita a 44100Hz esatti con algoritmo lineare.
Il filtro channels
puo essere usato per aggiungere e togliere i
canali, inoltre può anche copiare o instradare i canali. E' attivato
automaticamente quando l'uscita del sistema di filtri audio differisce da
quella della sorgente o quando è richiesto da un altro filtro. Questo filtro
si disattiva quando non è necessario.
Il numero delle opzioni può variare:
nch <1-6>
1
e 6
usato per
impostare il numero dei canali in uscita. Questa opzione è necessaria, se
omessa si ha un errore in esecuzione.nr <1-6>
1
e 6
usato per
impostare il numero di destinazioni. Questo parametro è opzionale. Se è
omesso, viene utilizzato l'instradamento predefinito.da1:a1:da2:a2:da3:a3...
0
e 5
che definiscono
dove ogni canale deve essere instradato.se è usato solo nch
viene usato l'instradamento predefinito, che
funziona così: se il numero di canali in uscita è maggiore di quelli in
ingresso, vengono inseriti canali vuoti (tranne nel passaggio da mono a
stereo, in cui il canale mono è ripetuto in entrambe le uscite). Se il numero
dei canali in uscita è minore di quelli in ingresso, i canali in eccesso
vengono eliminati.
Esempio 1:
mplayer -af channels=4:4:0:1:1:0:2:2:3:3 media.avi
genera 4 canali in uscita da 4 in ingresso, scambia il canale 0 con il canale 4 lasciando invariata la posizione dei canali 2 e 3. Nota che, se la sorgente contiene solo 2 canali, le uscite 2 e 3 conterranno silenzio, mentre la 0 e la 1 verranno comunque scambiate.
Esempio 2:
mplayer -af channels=6:4:0:0:0:1:0:2:0:3 media.avi
genera 6 canali in uscita da 4 in ingresso, copiando l'ingresso 0 sulle uscite da 0 a 3. I canali 4 e 5 conterranno silenzio.
Il filtro format
converte tra diversi formati di campionamento.
E' attivato automaticalmente se necessario per la scheda sonora o per un altro
filtro.
bps <numero>
1
, 2
o 4
ed indica il
numero di byte per campione. Quensa opzione è necessaria, ometterla genera
un errore in esecuzione.f <formato>
alaw
, mulaw
o imaadpcm
,
float
o int
(virgola mobile o interi, ndt),
signed
o unsigned
(con o senza segno, ndt),
le
o be
(little o big endian).
Quenta opzione è necessaria, ometterla genera un errore in esecuzione.Esempio:
mplayer -af format=4:float media.avi
imposta l'uscita in floating point con 4 byte per campione.
Il filtro delay
ritarda il segnale diretto agli altoparlanti in
modo che il suono dei diversi canali arrivi contemporaneamente alla
postazione dell'ascoltatore.
Utile solo se hai più di 2 altoparlanti. Questo filtro ha un numero
variabile di parameteri:
d1:d2:d3...
Per calcolare il ritardo richiesto per i diversi canali fai così:
Esempio:
mplayer -af delay=10.5:10.5:0:0:7:0 media.avi
ritarda i canali frontali sinistro e destro di 10.5ms, i due canali posteriori ed il sub di 0ms ed il canale centrale di 7ms.
il controllo del volume via software è implementato dal filtro
volume
. Usa questo filtro con attenzione, poiché può ridurre il
rapporto segnale/rumore del suono. Nella maggior parte dei casi è meglio
impostare il livello del suono PCM al massimo, non usare questo filtro e
regolare il livello d'uscita degli altoparlanti con il controllo di volume
master del mixer. Se la tua scheda sonora ha un mixer PCM digitale anziché
uno analogico, e noti distorsioni, usa il controllo MASTER del mixer.
Se c'è un amplificatore esterno connesso al computer (quasi sempre è così),
il livello del rumore può essere minimizzato regolando il livello master e
la manopola del volume sull'amplificatore finchè il rumore sibilante in
sottofondo sparisce. Questo filtro ha due opzioni:
v <-200 - +60>
-200
a +60
che rappresenta il livello del volume in dB. Il livello predefinito è 0dB.
c
Esempio:
mplayer -af volume=10.1:0 media.avi
amplifica il suono di 10.1dB ed utilizza l'hard-clip se il livello sonoro è troppo alto.
questo filtro ha una seconda funzione: misura il livello massimo del suono e lo stampa quando MPlayer termina. Questa stima del volume può essere usata per impostare il livello del suono in MEncoder in modo da utilizzare la massima dinamica.
Il filtro equalizer
rappresenta un equalizztore grafico a 10
bande, implementato con 10 filtri IIR passa banda. Ciò significa che funziona
per qualunque tipo di suono. Le frequenza centrali delle 10 bande sono:
Banda Nr. | Frequenza centrale |
0 | 31.25 Hz |
1 | 62.50 Hz |
2 | 125.0 Hz |
3 | 250.0 Hz |
4 | 500.0 Hz |
5 | 1.000 kHz |
6 | 2.000 kHz |
7 | 4.000 kHz |
8 | 8.000 kHz |
9 | 16.00 kHz |
Se la frequenza di campionamento del suono è minore della frequenza centrale di una banda, allora quella banda verrà disattivata. Un problema noto di questo filtro è che la caratteristica della banda più alta non è complatamente simmetrica se la frequenza di campionamento è vicina alla frequenza centrale della banda. questo problema può essere aggirato sovracampionando il suono con il filtro ricampionatore prima di usare questo filtro.
Questo filtro ha 10 parameteri:
g1:g2:g3...g10
-12
e +12
che rappresentano i guadagni in dB per ogni banda di frequenza.Esempio:
mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi
amplifica il suono nelle regioni di frequenza più alte e più basse, mentre lo elimina quasi completamente intorno ad 1kHz.
Usa il filtro pan
per mixare i canali. E' in pratica una
combinazione del controllo di volume e del filtro channels. Ci sono due
principali utilizzi per questo filtro:
Questo filtro è difficile da usare, e richiede alcuni tentativi prima di dare i risultati desiderati. Il numero di opzioni di questo filtro dipende dal numero dei canali in uscita:
nch <1-6>
1
e 6
ed è usato per
impostare il numero dei canali in uscita. Questa opzione è necessaria,
ometterla genera un errore in esecuzione.l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...
0
e 1
.
l[i][j]
determinano la parte del canale in ingresso j che viene
mixata nel canale d'uscita i.Esempio 1:
mplayer -af pan=1:0.5:0.5 -channels 1 media.avi
trasforma da stereo a mono.
Esempio 2:
mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 media.avi
fornisce 3 canali in uscita lasciando i canali 0 e 1 inalterati, e mixando i canali 0 e 1 nel canale in uscita 2 (che per esempio potrebbe essere inviato ad un sub-woofer).
il filtro sub
aggiunge un canale sub woofer ai canali audio.
Il canale sub-woofer è creato tramite una media dei canali 0 e 1. Il segnale
risultante è quindi filtrato con un passa-basso Butterworth di quarto ordine
con una frequenza di taglio predefinita di 60Hz, ed inviato ad un nuovo canale
in uscita. Attenzione: disattiva questo filtro quando riproduci DVD con audio
Dolby Digital 5.1, altrimenti il filtro rovinerà il canale sub-woofer
originale. Questo filtro ha due parametri:
fc <20-300>
ch <0-5>
0
e 5
che
determina il numero del canale in cui inserire il suono del sub-woofer.
Il canale predefinito è il 5
. Nota che il numero dei canali
sarà automaticamente aumentato a ch
se necessario.Esempio:
mplayer -af sub=100:4 -channels 5 media.avi
aggiunge un canale sub-woofer con frequenza di taglio di 100Hz al canale d'uscita 4.
L'audio surround codificato a matrice può essere decodificato dal filtro
surround
. Dolby Surround è un esempio di formato codificato a
matrice. Molti file con audio a 2 canali contengono in realtà audio surround
a matrice. Per usare questa funzione hai bisogno di una scheda sonora con
almeno 4 canali. Questo filtro ha un parametro:
d <0-1000>
0
e
1000
usato per impostare il ritardo in ms per gli altoparlanti
posteriori. questo ritardo deve essere impostato così: se d1 è la distanza
dalla posizione d'ascolto agli altoparlanti frontali e d2 è la distanza
dalla posizione d'ascolto agli altoparlanti posteriori, il ritardo
d
deve essere impostato a 15ms se d1 <= d2 ed a 15 +
5*(d1-d2) se d1 > d2.
Il valore predefinito per d
è 20ms.Esempio:
mplayer -af surround=15 -channels 4 media.avi
aggiunge la decodifica surround con un ritardo di 15ms per il suono diretto agli altoparlanti posteriori.
MPlayer supporta plugin audio. Possono essere usati per
cambiare le proprietà dei dati audio prima che raggiungano la scheda
sonora. Sono abilitati con l'opzione -aop
seguita da
list=plugin1,plugin2,...
. L'opzione list
è
necessaria e determina quali plugin devono essere usate e in quale ordine
devono essere eseguite, esempio:
mplayer media.avi -aop list=resample,format
farà passare il suono attraverso il plugin di ricampionamento seguito da quello di formattazione.
I plugin possono anche avere opzioni che ne modificano il comportamento. Queste sono spiegate in dettaglio nelle sezioni sotto. Un plugin sarà eseguito con la configurazione di default se non vengono date opzioni. Esempi di come usare plugin in combinazione con loro opzioni specifiche:
mplayer media.avi -aop
list=resample,format:fout=44100:format=0x8
cambierà la frequenza di uscita del plugin di ricampionamento a 44100Hz e il formato output del plugin di formattazione a AFMT_U8.
Attualmente i plugin audio non possono essere usati in MEncoder.
MPlayer supporta pienamente il sopra/sotto campionamento del suono. Questo plugin può
per esempio essere usato se hai una scheda sonora a frequenza fissa o se sei
bloccato con una vecchia scheda sonora in grado di dare al massimo 44.1kHz.
Viene riconosciuto automaticamente se questo plugin è necessario o meno.
Ha una sola opzione:
fout
che è usata per specificare la frequenza di output desiderata,
di default 48kHz, ed è data in
<Hz>.
Utilizzo :
mplayer media.avi -aop list=resample:fout=<necessaria
frequenza in Hz, come 44100>
MPlayer ha un plugin audio che può decodificare una matrice di suono surround. Dolby Surround è un esempio di un formato di matrice.
Molti file con 2 canali in realtà contengono una matrice di suono surround.
Per usare questa caratteristica, devi avere una scheda sonora che supporta almeno 4 canali.
Utilizzo :
mplayer media.avi -aop list=surround
Se il driver della tua scheda sonora non supporta gli int
signed a 16bit, questo plugin può
essere usato per cambiare il formato ad uno compreso dalla tua scheda sonora. Ha
una opzione format
che può avere come valori uno dei numeri
che si trovano in libao2/afmt.h. Questo plugin è difficilmente necessario ed è da intendersi per
utenti avanzati. Nota che questo plugin cambia solo il formato di campionamento e
non la frequenza o il numero di canali.
Utilizzo :
mplayer media.avi -aop
list=format:format=<necessario formato di output>
Questo plugin ritarda il suono ed è da intendersi come un esempio di come sviluppare nuovi plugin. Non può essere usato per niente di utile dalla prospettiva degli utenti ed è menzionato qui solo per dovere di completezza. Non usare questo plugin se non sei uno sviluppatore.
Questo plugin è un sostituto software per il controllo volume, e
può essere usato in macchine con dispositivo mixer non funzionante. Può
anche essere usato se si vuole modificare il volume di output da MPlayer
senza cambiare le impostazioni del volume PCM del mixer. Ha una sola opzione
volume
che serve a impostare il volume
iniziale. Può essere impostato a valori tra 0
e 255 e il default è 101, uguale ad una amplificazione di 0dB. Usa questo plugin con attenzione in quanto
può aumentare il rumore nel segnale. Nella maggior parte dei casi
è meglio impostare il livello del suono PCM al massimo, lasciare perdere questo plugin
e controllare il livello in output col controllo volume principale
del mixer. Se la scheda sonora ha un mixer PCM digitale anziché analogico, e
noti distorsione, usa il controllo MASTER del mixer. Se è connesso al
computer un amplificatore esterno (questo è quasi sempre il caso), il livello
del rumore può essere minimizzato regolando le manopole del livello principale
e del volume dell'amplificatore finchè il rumore sibilante sullo sfondo non
sparisce.
Utilizzo :
mplayer media.avi -aop
list=volume:volume=<0-255>
Questo plugin ha anche un compressore o capacita di "ritaglio software". Si può usare la compressione se l'estensione dinamica del suono è molto grande o se l'estensione dinamica degli altoparlanti è molto bassa. Nota che questa caratteristica crea distorsioni e dovrebbe essere considerata come l'ultima risorsa.
Utilizzo :
mplayer media.avi -aop
list=volume:softclip
Questo plugin aumenta (linearmente) la differenza tra i canali destro e sinistro (come il plugin extrastereo di XMMS) che da un certo effetto "live" alla riproduzione.
Utilizzo :
mplayer media.avi -aop list=extrastereo
mplayer media.avi -aop list=extrastereo:mul=3.45
Il coefficiente di default (mul
) è un numero razionale preimpostato
a 2.5. Se lo si imposta a 0.0, si ottiene un suono mono (media di entrambi i canali),
se lo si imposta a 1.0, il suono non risulterà cambiato, se lo si imposta a -1.0, i canali
destro e sinistro risulteranno scambiati.
Questo plugin massimizza il volume mantenendo il suono senza distorsioni.
Utilizzo :
mplayer media.avi -aop list=volnorm