Utilizzo Riga comando MPlayer usa una sequenza di riproduzione complessa. Le opzioni passate sulla riga comando possono venir applicate a tutti i file/URL o solo ad alcuni, a seconda della loro posizione. Per esempio mplayer -vfm ffmpeg movie1.avi movie2.avi userà i decodificatori FFmpeg per ambedue i file, mentre mplayer -vfm ffmpeg movie1.avi movie2.avi -vfm dmo riprodurrà il secondo file con un decodificatore DMO. Puoi raggruppare file/URL insieme usando { e }. Torna utile con l'opzione : mplayer { 1.avi -loop 2 2.avi } -loop 3 Il comando precedente riprodurrà i file in quest'ordine: 1, 1, 2, 1, 1, 2, 1, 1, 2. Riprodurre un file: mplayer [opzioni] [percorso/]nomefile Un altro modo di riprodurre un file: mplayer [opzioni] file:///uri-escaped-path Riprodurre più file: mplayer [opzioni di default] [percorso/]nomefile1 [opzioni per nomefile1] nomefile2 [opzioni per nomefile2] ... Riprodurre VCD: mplayer [opzioni] vcd://numerotraccia [-cdrom-device /dev/cdrom] Riprodurre DVD: mplayer [opzioni] dvd://numerotitolo [-dvd-device /dev/dvd] Riprodurre da WWW: mplayer [opzioni] http://sito.com/file.asf (possono venir usate anche le playlist) Riprodurre da RTSP: mplayer [opzioni] rtsp://server.di.esempio.com/nomeFlusso Esempi: mplayer -vo x11 /mnt/Films/Contact/contact2.mpg mplayer vcd://2 -cdrom-device /dev/hdc mplayer -afm 3 /mnt/DVDtrailers/alien4.vob mplayer dvd://1 -dvd-device /dev/hdc mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi Sottotitoli e OSD MPlayer può visualizzare sottotitoli insieme con i file video. Attualmente sono supportati i seguenti formati: VOBsub OGM CC (closed caption) MicroDVD SubRip SubViewer Sami VPlayer RT SSA PJS (Phoenix Japanimation Society) MPsub AQTitle JACOsub MPlayer può fare il dump dei suddetti formati di sottotitoli (tranne i primi tre) nei formati di destinazione seguenti, con le rispettive opzioni: MPsub: SubRip: MicroDVD: JACOsub: Sami: MEncoder può fare il dump dei sottotitoli DVD nel formato VOBsub. Le opzioni da riga comando sono leggermente differenti per i diversi formati: Sottotitoli VOBsub I sottotitoli VOBsub consistono in un grande (qualche megabyte) file .SUB, e un file .IDX e/o .IFO facoltativi. Se hai dei file tipo esempio.sub, esempio.ifo (facoltativo), esempio.idx - devi passare a MPlayer le opzioni (il percorso completo è facoltativo). L'opzione è come per i DVD, con essa puoi scegliere tra le tracce (lingue) dei sottotitoli. Nel caso in cui sia omessa, MPlayer cercherà di utilizzare la lingua fornita dall'opzione e ricadrà sul langidx nel file .IDX per impostare la lingua dei sottotitoli. Se fallisce, non ci saranno sottotitoli. Altri sottotitoli Gli altri formati consistono in un file di testo singolo contenente tempo, posizionamento e informazioni di testo. Utilizzo: se hai un file tipo esempio.txt, devi passare l'opzione (il percorso completo è facoltativo). Regolazione tempi e posizionamento dei sottotitoli: Differisce i sottotitoli di secondi. Può essere un valore negativo. Il valore viene aggiunto al contatore della posizione nel filmato. Specifica la frequenza fotogrammi/secondo del file sottotitoli (valore decimale). Specifica la posizione dei sottotitoli. Se subisci un ritardo crescente tra il filmato e i sottotitoli quando usi un file sottotitoli MicroDVD, molto facilmente la frequenza del filmato e del file dei sottotitoli sono diverse. Per favore nota che il formato sottotitoli MicroDVD usa numeri assoluti di fotogrammi per la sua temporizzazione, ma non vi è alcuna informazione sugli fps, per cui con tale formato bisognerebbe usare l'opzione . Se vuoi risolvere questo problema permanentemente, devi convertire manualmente la frequenza fotogrammi del file dei sottotitoli. MPlayer può fare questa conversione per te: mplayer -dumpmicrodvdsub -fps fps_sottotitoli -subfps fps_avi \ -sub nomefile_sottotitoli dummy.avi Riguardo i sottotitoli DVD, leggi la sezione DVD. Controlli MPlayer ha un livello di controllo completamente configurabile, guidato da comandi, che ti lascia controllare MPlayer con la tastiera, il mouse, un joystick o un telecomando (usando LIRC). Vedi la pagina man per la lista completa dei controlli da tastiera. Configurazione controlli MPlayer ti permette di collegare un qualsiasi tasto/bottone ad un qualsiasi comando di MPlayer usando un semplice file di configurazione. La sintassi consiste di un valore chiave seguito da un comando. Il percorso del file di configurazione di default è $HOME/.mplayer/input.conf, ma può essere reimpostato usando l'opzione (i percorsi sono relativi a $HOME/.mplayer). Puoi ottenere una lista completa dei valori chiave supportati eseguendo mplayer -input keylist e una lista completa dei comandi disponibili eseguendo mplayer -input cmdlist. Un semplice file di controllo dell'input ## ## MPlayer input control file ## RIGHT seek +10 LEFT seek -10 - audio_delay 0.100 + audio_delay -0.100 q quit > pt_step 1 < pt_step -1 ENTER pt_step 1 1 Controllo da LIRC Linux Infrared Remote Control - usa un ricevitore IR facile da costruire in casa, un (quasi) qualsiasi telecomando e con esso puoi controllare la tua macchina Linux! Più informazioni su di esso sulla homepage di LIRC. Se hai il pacchetto LIRC installato, configure lo rileverà. Se tutto è andato bene, MPlayer scriverà "Configurazione del supporto per LIRC..." (o "Setting up LIRC support...") all'avvio. Se ci sarà un errore, te lo dirà. Se non c'è messaggio alcuno circa LIRC, non vi è il supporto compilato. Tutto qua :-) Il nome dell'applicazione per MPlayer è - sorpresa - mplayer. Puoi usare qualsiasi comando di MPlayer e anche passare più di un comando separandoli con \n. Non dimenticarti di abilitare l'opzione repeat in .lircrc quando ciò abbia senso (ricerca, volume, etc). Qui c'è un estratto di un .lircrc di esempio: begin button = VOLUME_PLUS prog = mplayer config = volume 1 repeat = 1 end begin button = VOLUME_MINUS prog = mplayer config = volume -1 repeat = 1 end begin button = CD_PLAY prog = mplayer config = pause end begin button = CD_STOP prog = mplayer config = seek 0 1\npause end Se non ti piace il percorso standard del file di configurazione di lirc (~/.lircrc) usa l'opzione per indicare un altro file. Modalità slave La modalità slave ti permette di costruire semplici frontend per MPlayer. Se eseguito con l'opzione MPlayer leggerà comandi separati da un acapo (\n) dalllo standard input (stdin). I comandi sono documentati nel file slave.txt. Riproduzione (streaming) da rete o da pipe MPlayer può riprodurre file dalla rete, usando i protocolli HTTP, FTP, MMS o RTSP/RTP. La riproduzione funziona semplicemente passando l'URL sulla riga comando. MPlayer onora la variabile d'ambiente http_proxy, usando un proxy quando disponibile. Si può anche forzare l'uso di un proxy: mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf MPlayer può leggere dallo standard input (non named pipes). Ciò può essere usato per riprodurre via FTP: wget ftp://micorsops.com/qualcosa.avi -O - | mplayer - Si raccomanda inoltre di abilitare riproducendo da rete: wget ftp://micorsops.com/qualcosa.avi -O - | mplayer -cache 8192 - Salvare il contenuto in streaming Una volte che riesci nel far riprodurre a MPlayer il tuo flusso internet preferito, puoi usare l'opzione per salvare il flusso in un file. Per esempio: mplayer http://217.71.208.37:8006 -dumpstream -dumpfile stream.asf salverà il contenuto riprodotto da http://217.71.208.37:8006 dentro a stream.asf. Ciò funziona con tutti i protocolli supportati da MPlayer, come MMS, RSTP, e così via. Lettori CD/DVD I lettori CD-ROM recenti possono raggiungere velocità molto alte, ma molti lettori sono capaci di girare a velocità ridotte. Ci sono diversi motivi che possono farti pensare di cambiare la velocità di un'unità CD-ROM: Ci sono state notifiche di errori di lettura ad alte velocità, specialmente con CD-ROM malamente pressati. Ridurre la velocità può prevenire la perdita di dati in queste circostanze. Molti lettori CD-ROM sono fastidiosamente rumorosi, una minor velocità può ridurre il rumore. Linux Puoi diminuire la velocità delle unità CD-ROM IDE con hdparm, setcd o cdctl. Funziona così: hdparm -E [velocità] [dispositivo cdrom] setcd -x [velocità] [dispositivo cdrom] cdctl -bS [velocità] Se stai usando l'emulazione SCSI, puoi dover applicare le impostazioni al lettore IDE reale, e non al dispositivo emulato come SCSI. Se hai i privilegi di root può essere di aiuto anche il comando seguente: echo file_readahead:2000000 > /proc/ide/[dispositivo cdrom]/settings hdparm -d1 -a8 -u1 [dispositivo cdrom] Ciò imposta la lettura in prefetch dei file a 2MB, che aiuta con CD-ROM graffiati. Se la imposti troppo alta, il lettore continuerà ad aumentare e diminuire la velocità, e le prestazioni diminuiranno drasticamente. Si raccomanda di regolare il tuo lettore CD-ROM anche con hdparm: hdparm -d1 -a8 -u1 [dispositivo cdrom] Questo abilita l'accesso in DMA, la pre-lettura, e la mascheratura IRQ (leggi la pagina man di hdparm per una spiegazione dettagliata). Per favore fai riferimento a "/proc/ide/[dispositivo cdrom]/settings" per regolare con precisione il tuo CD-ROM. I lettori SCSI non hanno un modo uniforme di impostare questi parametri (ne conosci uno? diccelo!). C'è uno strumento che funziona con i lettori SCSI Plextor. FreeBSD velocità: cdcontrol [-f dispositivo] speed [velocità] DMA: sysctl hw.ata.atapi_dma=1 Riproduzione DVD Per una lista completa delle opzioni disponibili per favore leggi la pagina man. La sintassi per riprodurre un DVD normale è la seguente: mplayer dvd://<traccia> [-dvd-device <dispositivo>] Esempio: mplayer dvd://1 -dvd-device /dev/hdc Se hai compilato MPlayer con il supporto per dvdnav, la sintassi è la stessa, tranne che devi usare dvdnav:// invece di dvd://. Il dispositivo DVD di default è /dev/dvd. Se la tua impostazione è diversa, crea un collegamento simbolico o indica il dispositivo giusto dalla riga comando con l'opzione . MPlayer usa libdvdread e libdvdcss per la riproduzione e la decrittazione dei DVD. Queste due librerie sono contenute nei sorgenti di MPlayer, non hai bisogno di installarle separatamente. Puoi anche usare le controparti di sistema delle due librerie, ma questa non è la soluzione raccomandata, in quanto può portare a bachi, incompatibilità di librerie e minor velocità. Nel caso di problemi di decodifica di DVD, prova a disabilitare il supermount, o qualsiasi altra utilità. Alcuni lettori RPC-2 possono anche aver bisogno di avere il codice di zona impostato. Decrittazione DVD La decrittazione dei DVD viene fatta da libdvdcss. La modalità può esser specificata attraverso la variabile d'ambiente DVDCSS_METHOD, vedi la pagina di manuale per i dettagli. Codici regionali I lettori DVD al giorno d'oggi sono venduti con una costrizione senza senso chiamata codice regionale (in inglese). Questa è una strategia per forzare i lettori DVD ad accettare solamente DVD prodotti per una delle sei diverse regioni in cui è stato diviso il mondo. Come un gruppo di persone possano sedersi attorno ad un tavolo, partorire un'idea del genere ed aspettarsi che il mondo del 21° secolo si pieghi ai loro voleri, è aldilà di ogni comprensione. I lettori che forzano l'impostazione regionale solo via software sono anche conosciuti come lettori RPC-1, quelli che lo gestiscono via hardware come RPC-2. I lettori RPC-2 permettono la modifica della regione per cinque volte, prima che resti bloccata. Sotto Linux puoi usare lo strumento regionset per per impostare il codice regionale del tuo lettore DVD. Grazie al cielo, è possibile convertire lettori RPC-2 in lettori RPC-1 attraverso un aggiornamento del firmware. Inserisci il modello del tuo lettore DVD nel tuo motore di ricerca preferito oppure dai un'occhiata ai forum e alle sezioni di download di "The firmware page". Anche se si devono applicare le solite precauzioni per l'aggiornamento del firmware, le esperienze relative alla rimozione della forzatura del codice regionale sono generalmente positive. Riproduzione VCD Per una lista completa delle opzioni disponibili per favore leggi la pagina man. La sintassi per riprodurre un Video CD (VCD) normale è la seguente: mplayer vcd://<traccia> [-cdrom-device <dispositivo>] Esempio: mplayer vcd://2 -cdrom-device /dev/hdc Il dispositivo VCD di default è /dev/cdrom. Se la tua impostazione è diversa, crea un collegamento simbolico o indica il dispositivo giusto dalla riga comando con l'opzione . Perlomeno i lettori CD-ROM Plextor e alcuni Toshiba SCSI hanno prestazioni orribili leggendo i VCD. Questo perché l'ioctl CDROMREADRAW non è implementata appieno per questi lettori. Se hai una qualche conoscenza della programmazione SCSI, per favore aiutaci ad implementare un supporto SCSI generico per i VCD. Nel frattempo puoi estrarre i dati dal VCD con readvcd e riprodurre con MPlayer il file così ricavato. Struttura VCD Un Video CD (VCD) è fatto di settori CD-ROM XA, per es. tracce CD-ROM mode 2 form 1 e 2: La prima traccia è in formato mode 2 form 2 il che significa che usa una correzione errori L2. La traccia contiene un filesystem ISO-9660 con 2048 byte/settore. Il filesystem contiene delle informazioni metadati VCD, così come fermi-immagine spesso usati nei menu. I segmenti MPEG per i menu possono anche essere salvati nella prima traccia, ma gli MPEG devono essere spezzettati in una serie di blocchi di 150 settori. Il filesystem ISO-9660 può contenere altri file o programmi che non sono essenziali per le operazioni VCD. Le seconde e restanti tracce spesso sono tracce MPEG (filmato) di basso livello di 2324 byte/settore, contenenti un pacchetto dati MPEG PS per settore. Queste sono in formato mode 2 form 1, così da poter archiviare più dati per settore con la perdita di qualche correzione di errore. E' anche valido avere tracce CD-DA in un VCD dopo la prima traccia. In alcuni sistemi operativi c'è qualche trucchetto che fa apparire queste tracce non ISO-9660 in un filesystem. In altri sistemi operativi come GNU/Linux non è (ancora) così. Qui i dati MPEG non possono venir montati. Siccome molti film sono dentro questo tipo di tracce, dovresti provare prima . Ci sono dischi VCD senza la prima traccia (traccia singola e proprio nessun filesystem). Essi sono comunque riproducibili, ma non possono essere montati. La definizione dello standard VCD viene chiamato il "White Book" Philips, e non è disponibile on-line visto che deve essere acquistato da Philips. Informazioni più dettagliate sui Video CD si possono trovare nella documentazione di vcdimager. Riguardo i file .DAT Il file .DAT da ~600MB visibile sulla prima traccia del filsystem VCD montato non è un vero file! Viene anche detto "ISO gateway", creato per permettere a Windows di gestire tali tracce (Windows non permette alle applicazioni alcun accesso di basso livello ai dispositivi). Sotto Linux non puoi copiare o riprodurre questi file (contengono spazzatura). Sotto Windows è possibile che il driver iso9660 emuli la lettura a basso livello delle tracce nel file. Per riprodurre un file .DAT ti serve il driver per il kernel che si può trovare nella versione per Linux di PowerDVD. Esso ha un driver modificato per il filesystem iso9660 (vcdfs/isofs-2.4.X.o), che è in grado di emulare le tracce di basso livello attraverso quel file fantasma .DAT. Se monti il disco usando il loro driver, puoi poi copiare e anche riprodurre i file .DAT con MPlayer. Ma non funzionerà col driver iso9660 standard del kernel Linux! Usa invece . Alternative per copiare i VCD sono il nuovo driver del kernel cdfs (non incluso nel kernel ufficiale), che mostra le sessioni dei CD come file immagine, e cdrdao, un'applicazione per copiare/fare il dump di CD bit-per-bit. Edit Decision Lists (EDL) (liste di decisione di modifica) Il sistema della lista di decisione di modifica (EDL) ti permette di saltare o di silenziare automaticamente alcune parti dei video durante la riproduzione, basandosi su un file di configurazione EDL specifico per il filmato. Questo torna utile per colore che vogliono guardare un film in modalità "amichevole per la famiglia". Puoi eliminare violenze, profanità, Jar-Jar Binks... da un filmato, secondo i tuoi gusti personali. Oltre a ciò, ci sono altri utilizzi, come saltare automaticamente le pubblicità nei file video che guardi. Il formato del file EDL è piuttosto scarno. C'è un comando per ogni riga che indica cosa fare (saltare/silenziare) e quando farlo (usando la posizione in secondi). Usare un file EDL Includi l'opzione quando esegui MPlayer, con il nome del file EDL che vuoi sia applicato al video. Creare un file EDL Il formato corrente dei file EDL è: [secondi inizio] [secondi fine] [azione] Dove i secondi sono numeri decimali e l'azione è 0 per saltare o 1 per silenziare. Esempio: 5.3 7.1 0 15 16.7 1 420 422 0 Questo farà saltare il video dal secondo 5.3 al secondo 7.1, poi lo silenzierà a 15 secondi, toglierà il muto a 16.7 e salterà dal secondo 420 al 422. Queste azioni saranno eseguite quando il tempo della riproduzione raggiunge i tempi indicati nel file. Per creare un file EDL da cui partire, usa l'opzione . Durante la riproduzione, premi semplicemente i per segnare l'inizio e la fine di un blocco di salto. Una voce corrispondente sarà scritta nel file per quella posizione. Puoi poi tornare indietro e rifinire il file EDL generato così come cambiare l'operazione di default, che è saltare il blocco indicato da ogni riga. Audio avanzato Riproduzione Surround/Multicanale DVD La maggior parte dei DVD e molti altri file includono audio in surround. MPlayer supporta la riproduzione in surround, ma non la abilita di default poiché gli equipaggiamenti audio stereo sono molto più diffusi. Per riprodurre un file che ha più di due canali audio usa . Per esempio, per riprodurre un DVD con audio 5.1: mplayer dvd://1 -channels 6 Nota che a dispetto del nome "5.1" ci sono attualmente 6 canali discreti. Se possiedi un equipaggiamento audio surround puoi mettere tranquillamente l'opzione nel tuo file di configurazione di MPlayer ~/.mplayer/config. Per esempio, per avere una riproduzione quadrifonica di default, aggiungi la riga seguente: channels=4 MPlayer riprodurrà l'audio in quattro canali quando tutti e quattro sono disponibili. Riprodurre file stereo su quattro altoparlanti MPlayer non duplica alcun canale di default, né lo fanno molti driver audio. Se vuoi farlo manualmente: mplayer filename -af channels=2:2:0:1:0:0 Vedi la sezione sul copiare i canali per una spiegazione. AC-3/DTS Passthrough I DVD solitamente hanno un audio surround codificato in formato AC-3 (Dolby Digital) o DTS (Digital Theater System). Alcuni equipaggiamenti audio moderni sono capaci di decodificare internamente questi formati. MPlayer può esser configurato in modo da far passare i dati audio senza decodificarli. Ciò funzionerà solo se hai un connettore S/PDIF (Sony/Philips Digital Interface) sulla tua scheda audio. Se il tuo equipaggiamento audio può decodificare sua AC-3 che DTS, puoi tranquillamente abilitare il passthrough per ambi i formati. In caso contrario, abilita il passthrough solo per il formato che il tuo equipaggiamento supporta. Per abilitare il passthrough dalla riga comando: Per solo AC-3, usa Per solo DTS, usa Per AC-3 e DTS, usa Per abilitare il passthrough nel file di configurazione di <application>MPlayer</application>: Per solo AC-3, usa Per solo DTS, usa Per AC-3 e DTS, usa Nota che c'è una virgola (",") alla fine di e . Ciò farà sì che MPlayer ricada sui codec che utilizza di solito quando riproduce un file che non ha audio AC-3 o DTS. Per non serve una virgola; MPlayer gestirà comunque la situazione quando viene specificata una famiglia audio. MPEG audio Passthrough Le trasimissioni TV digitali (come DVB e ATSC) e alcuni DVD spesso hanno flussi audio MPEG (per esser precisi MP2). Alcuni decodificatori hardware come schede full DVB e adattatori DXR2 possono decodificare nativamente questo formato. MPlayer può esser configurato in modo da far passare i dati audio senza decodificarli. Per usare questo codec: mplayer -ac hwmpa Matrix-encoded audio ***DA FARE*** Questa sezione deve ancora essere scritta e non può esser completata finché qualcuno non ci fornisca audio di esempio da testare. Se hai un qualche file con audio matrix-encoded, sai dove trovarne uno, oppure hai una qualche informazione che possa aiutare, per favore invia un messaggio alla mailing list MPlayer-DOCS. Scrivi "[matrix-encoded audio]" nell'oggetto. Se nessun file o nessuna informazione arriverà, questa sezione sarà rimossa. Ottimi link: http://electronics.howstuffworks.com/surround-sound5.htm http://www.extremetech.com/article2/0,1697,1016875,00.asp Emulazione del surround nelle cuffie MPlayer include un filtro HRTF (Head Related Transfer Function) basato su un progetto MIT in cui le misurazioni sono prese da microfoni montati su una finta testa umana. Anche se non è possibile imitare esattamente un sistema surround, il filtro HRTF di MPlayer fornisce un audio con maggior immersione nello spazio attraverso cuffie a due canali. Il solito missaggio semplicemente combina tutti i canali in due; invece combinando i canali, genera leggere eco, aumenta leggermente le separazioni stereo, e altera il volume di alcune frequenze. Se HRTF suoni meglio può dipendere dalla sorgente audio e da una questione di gusto personale, ma è sicuramente il caso di provarlo. Per riprodurre un DVD con HRTF: mplayer dvd://1 -channels 6 -af hrtf lavora bene solo con 5 o 6 canali. Inoltre, richiede un audio a 48kHz. L'audio dei DVD è già a 48kHz, ma se hai un file con una differente frequenza di campionamento rispetto a quella che vuoi riprodurre con devi ricampionarla: mplayer nomefile -channels 6 -af resample=48000,hrtf Risoluzione problemi Se non senti nessuno suono uscire dai tuoi canali surround, controlla le impostazioni del tuo mixer con un programma apposito come alsamixer; le uscite audio sono spesso silenziate (mute) e il volume impostato a zero di default. Manipolazione dei canali Informazioni generali Sfortunatamente, non c'è uno standard per come i canali siano ordinati. Gli ordinamenti sotto elencati sono quelli dell'AC-3 e sono abbastanza tipici; provali e vedi se la tua sorgente corrisponde. I canali sono numerati a partire dallo 0. mono centrale stereo sinistro destro quadrifonico sinistro frontale destro frontale sinistro posteriore destro posteriore surround 4.0 sinistro frontale destro frontale centrale posteriore centrale frontale surround 5.0 sinistro frontale destro frontale sinistro posteriore destrale posteriore centrale frontale surround 5.1 sinistro frontale destro frontale sinistro posteriore destro posteriore centrale frontale subwoofer L'opzione viene usata per richiedere il numero di canali al decodificatore audio, Alcuni codec audio usano il numero di canali specificato per decidere se sottomiscelare la sorgente, se necessario. Nota che ciò non sempre influenza il numero dei canali di uscita. Per esempio, usando per riprodurre un file stereo MP3 porterà comunque ad un'uscita a 2 canali, visto che il codec MP3 non genera i canali extra. Il filtro audio può essere usato per creare o rimuovere canali ed è utile per controllare il numero di canali passati alla scheda audio. Vedi le sezioni seguenti per ulteriori informazioni sulla manipolazione dei canali. Riprodurre mono con due altoparlanti Il mono suona molto meglio quando riprodotto attraverso due altoparlanti - specialmente usando delle cuffie. I file audio che hanno veramente un canale sono riprodotti automaticamente attraverso due altoparlanti; sfortunatamente, molti file con suono in mono sono in verità codificati come stereo con un canale slienziato. Il modo più semplice e a prova di cretino per far sì che entrambi gli altoparlanti emettano lo stesso audio è il filtro : mplayer nomefile -af extrastereo=0 Ciò equilibra ambedue i canali, portando al risultato di entrambi i canali alla metà del volume di quello originario. La sezione seguente ha esempi di altri modi di far ciò senza una riduzione del volume, ma sono molto complessi e richiedono varie opzioni a seconda del canale che vuoi mantenere. Se davvero devi mantenere il volume, potrebbe essere più semplice sperimentare con il filtro e trovare il valore giusto. Per esempio: mplayer nomefile -af extrastereo=0,volume=5 Copiare/spostare i canali Il filtro può spostare alcuni o tutti i canali. Impostare tutte le sotto-opzioni per il filtro può essere complicato e richiede un pò di attenzione. Decidi quanti canali di uscita ti servono. Questa è la prima sotto-opzione. Conta quanti spostamenti di canali farai. Questa è la seconda sotto-opzione. Ciascun canale può venir spostato a vari canali diversi allo stesso tempo, ma tieni a mente che quando un canale viene spostato (anche verso una destinazione sola) il canale sorgente resterà vuoto finché un altro canale non verrà spostato su di esso. Per copiare un canale, mantenendo la sorgente intatta, sposta semplicemente il canale sia verso la destinazione che verso la sorgente. Per esempio: channel 2 --> channel 3 channel 2 --> channel 2 Scrivi le copiature di canali come paia di sotto-opzioni. Nota che il primo canale è 0, il secondo è 1, etc. L'ordine di queste sotto-opzioni non è importante a patto che esse siano correttamente raggruppate in coppie sorgente:destinazione. Esempio: un canale in due altoparlanti Qui c'è un esempio di un altro modo di riprodurre un canali in entrambi gli altoparlanti. Per questo esempio supponi che il canale sinistro debba essere riprodotto e il canale destro scartato. Seguendo i passaggi suddetti: In modo da fornire un canale di uscita per ognuno dei due altoparlanti, la prima sotto-opzione deve essere "2". Il canale sinistro deve essere spostato al canale destro, e anche spostato su sé stesso cosicché non sia vuoto. Questo è un totale di due spostamenti, facendo sì che anche la seconda sotto-opzione sia "2". Per spostare il canale sinistro (canale 0) nel canale destro (canale 1), la coppia di sotto-opzioni è "0:1", e "0:0" sposta il canale sinistro su sé stesso. Mettendo tutto insieme si ottiene: mplayer nomefile -af channels=2:2:0:1:0:0 Il vantaggio che ha questo esempio rispetto a è che il volume di ciascun canale di uscita è lo stesso del canale di entrata. Lo svantaggio è che le sotto-opzioni diventano "2:2:1:0:1:1" quando il canale voluto è quello destro. Inoltre, è più difficile da ricordare e da scrivere. Esempio: canale sinistro in due altoparlanti - scorciatoia Veramente c'è un modo molto più facile di usare il filtro per riprodurre il canale sinistro in entrambi gli altoparlanti: mplayer nomefile -af channels=1 Il secondo canale viene scartato, e, senza ulteriori sotto-opzioni, l'unico canale rimanente resta il solo. I driver della scheda audio automaticamente riproducono un singolo canale in ambedue gli altoparlanti. Ciò funziona sono quando il canale voluto è sulla sinistra. Esempio: duplicare i canali frontali sui posteriori Un'altra operazione comune è duplicare il canali frontali e riprodurli anche sugli altoparlanti posteriori in un'impostazione quadrifonica. Ci devono essere quattro canali di uscita. La prima sotto-opzione è "4". Ciascuno dei due canali frontali deve essere spostato sul corrispondente posteriore e anche su sé stesso. Quindi sono quattro spostamenti, indi la seconda sotto-opzione è "4". Il canale frontale sinistro (canale 0) deve essere spostato sul posteriore sinistro (canale 2): "0:2". Il sinistro frontale deve anche venir spostato su sé stesso: "0:0". Il canale frontale destro (canale 1) viene spostato sul posteriore destro (canale 3): "1:3", e anche su sé stesso: "1:1". Combina tutte le sotto-opzioni per ottenere: mplayer nomefile -af channels=4:4:0:2:0:0:1:3:1:1 Miscelare i canali Il filtro può miscelare i canali in proporzione specificate dall'utente. Questo permette di fare tutto quello che può fare il filtro e oltre. Sfortunatamente, le sotto-opzioni sono molto più complicate. Decidi con quanti canali lavorare. Puoi aver bisogno di indicare ciò con l'opzione e/o . Gli esempi seguenti di mostreranno quando usare cosa. Decidi quanti canali passare a (i canali decodificati oltre questi vengono scartati). Questa è la prima sotto-opzione, e controlla anche quanti canali utilizzare in uscita. Le restanti sotto-opzioni indicano quanto di ogni canale viene miscelato in ciascuno degli altri canali. Questa è la parte difficile. Per diminuire l'impresa, spezza le sotto-opzioni in diversi gruppi, un gruppo per ogni canale di uscita. Ogni sotto-opzione in un gruppo corrisponde ad un canale di ingresso. Il numero che specifichi sarà la percentuale del canale di ingresso che viene miscelata nel canale di uscita. accetta valori da 0 a 512, significando dallo 0% al 51200% del volume originale. Fai attenzione quando usi valori superiori a 1. Ciò non solo ti darà un volume più alto, ma se oltrepassi la scala di campionamento della tua scheda audio puoi sentire terribili pop e click. Se vuoi puoi far seguire da per abilitare il clipping, ma è meglio tenere i valori di bassi abbastanza affinché il clipping non sia necessario. Esempio: un canale in due altoparlanti Qui c'è un altro esempio per riprodurre il canale sinistro in due altoparlanti. Segui i passaggi suddetti: deve uscire con due canali, indi la prima sotto-opzione è "2". Visto che abbiamo due canali di ingresso, ci saranno due gruppi di sotto-opzioni. Visto che ci sono anche due canali di uscita, ci saranno due sotto-opzioni per gruppo. Il canale sinistro dal file dovrà finire con volume pieno sui nuovi canali sinistro e destro. Così il primo gruppo di sotto-opzioni è "1:1". Il canale destro dovrebbe venir scartato, così il secondo sarà "0:0". Un qualsiasi valore di 0 alla fine può essere omesso, ma per facilità di comprensione li lasceremo lì. Mettendo insieme queste opzioni si ottiene: mplayer nomefile -af pan=2:1:1:0:0 Se si vuole il canale destro invece del sinistro, le sotto-opzioni di saranno "2:0:0:1:1". Esempio: canale sinistro in due altoparlanti - scorciatoia Come con , c'è una scorciatoia che funziona solo col canale sinistro: mplayer nomefile -af pan=1:1 Visto che ha solo un canale di ingresso (l'altro canale viene scartato), c'è un solo gruppo con una sola sotto-opzione, che specifica che quel solo canale ottenga il 100% di sé stesso. Esempio: sottomiscelare PCM a 6 canali Il decodificatore di MPlayer per PCM a 6 canali non è in grado di sottomiscelare. C'è un modo di sottomiscelare PCM usando : Il numero di canali di uscita è 2, indi la prima sotto-opzione è "2". Con sei canali di ingresso ci saranno sei gruppi di opzioni. Fortunatamente, visto che ci interessa solo l'uscita dei primi due canali, abbiamo solo bisogno di preparere due gruppi; i rimanenti quattro gruppi possono essere omessi. Attenzione che non tutti i file audio multicanale hanno lo stesso ordine dei canali! Questo esempio mostra il sottomissaggio di un file con gli stessi canali di AC-3 5.1: 0 - frontale sinistro 1 - frontale destro 2 - posteriore sinistro 3 - posteriore destro 4 - frontale centrale 5 - subwoofer Il primo gruppo di sotto-opzioni elenca le percentuali del volume originario, che, rispettivamente, ogni canale di uscita deve ricevere dal canale frontale sinistro: "1:0". Il canale frontale destro dovrà finire nell'uscita di destra: "0:1". Lo stesso vale per i canali posteriori: "1:0" e "0:1". Il canale centrale va su entrambi i canali con metà del volume: "0.5:0.5", e il subwoofer va in entrambi a volume pieno: "1:1". Metti tutto insieme, per avere: mplayer 6-canali.wav -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1 Le percentuali suddette sono solo un rozzo esempio. Sentiti libero di modificarle. Esempio: riprodurre audio 5.1 su grossi altoparlanti senza un subwoofer Se hai un paio di grossi altoparlanti puoi non voler sprecare dei soldi per compare un subwoofer per un sistema audio 5.1 completo. Se usi per richiedere che liba52 decodifichi audio 5.1 in 5.0, il canale del subwoofer viene semplicemente scartato. Se vuoi distribuire il canale del subwoofer per conto tuo devi sottomiscelarlo a mano con : Since needs to examine all six channels, specify so liba52 decodes them all. Siccome pan ha bisogno di esaminare tutti e sei i canali, specifica -channels 6 così che liba52 li decodifichi tutti quanti. outputs to only five channels, the first suboption is 5. pan emette solo cinque canali, così la prima sotto-opzione è 5. Sei canali di ingresso e cinque di uscita significano sei gruppi di cinque sotto-opzioni. Il canale sinistro frontale semplicemente si riproduce su sé stesso: "1:0:0:0:0" Lo stesso per il canale frontale destro: "0:1:0:0:0" Lo stesso per il canale posteriore sinistro: "0:0:1:0:0" E anche per il canale posteriore destro: "0:0:0:1:0" Anche quello centrale frontale: "0:0:0:0:1" E ora dobbiamo decidere cosa fare col subwoofer, per es. metà nel frontale destro e metà nel frontale sinistro: "0.5:0.5:0:0:0" Combina tutte queste opzioni per ottenere: mplayer dvd://1 -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0 Regolazione volume via software Alcune tracce audio sono troppo silenziose per essere ascoltate bene senza amplificazione. Questo diventa un problema quando il tuo equipaggiamento non può amplificare il segnale per te. L'opzione indica a MPlayer di utilizzare un mixer interno. Puoi poi usare i tasti di regolazione volume (di default 9 e 0) per raggiungere livelli di volume molto più alti. Nota che ciò non bypassa il mixer della tua scheda audio; MPlayer amplifica solo il segnale prima di inviarlo alla tua scheda audio. L'esempio che segue è un buon punto di partenza: mplayer file-silente -softvol -softvol-max 300 L'opzione specifica il massimo volume permesso di uscita come una percentuale del volume originario. Per esempio, farà sì che il volume sia regolato fino a due volte il valore originale. E' sicuro indicare un valore alto con ; il volume più alto non sarà usato fino a quando non userai i tasti di regolazione. L'unico svantaggio di un valore alto è che, dato che MPlayer regola il volume come una percentuale del massimo, non avrai un controllo così preciso usando i tasti di regolazione del volume. Usa un valore più basso con e/o specifica se ti serve maggior precisione. L'opzione funziona controllando il filtro audio . Se vuoi riprodurre un file a un dato volume sin dall'avvio puoi specificare manualmente: mplayer file-silente -af volume=10 Questo riprodurrà il file con un guadagno di 10 decibel. Stai attento quando usi il filtro - puoi facilmente farti male alle orecchie se usi un valore troppo alto. Parti dal basso e sali gradualmente fino a quando capisci quanta regolazione è richiesta. Inoltre, se tu specifichi valori troppo alti, può aver bisogno di fare il clip del segnale per evitare di mandare alla tua scheda audio dati che siano fuori dalla gamma consentita; ciò risulterà in un audio distorto. Ingresso TV Questa sezione tratta di come abilitare la visione/acquisizione da sintonizzatori TV compatibili V4L. Vedi la pagina man per una descrizione delle opzioni e i controlli da tastiera per la TV. Compilazione Per prima cosa, devi ricompilare. ./configure rileverà gli header del kernel per la roba v4l e l'esistenza delle voci /dev/video*. Se ciò esiste, il supporto TV verrà compilato (guarda l'emissione di ./configure). Assicurati che il tuo sintonizzatore funzioni con altri software TV per Linux, per esempio XawTV. Consigli per l'uso La lista completa delle opzioni è disponibile nella pagina di manuale. Qui ci sono giusto alcuni consigli: Usa l'opzione . Un esempio: -tv channels=26-MTV1,23-TV2 Spiegazione: con questa opzione, solo i canali 26 e 23 saranno utilizzabili. Ci sarà un simpatico testo OSD quando cambi canale, mostrante il nome del canale stesso. Gli spazi nel nome di canale devono essere sostituiti con il carattere "_". Scegli una sana dimensione dell'immagine. Le dimensioni dell'immagine risultante dovrebbero essere divisibili per 16. Se catturi il video con una risoluzione verticale maggiore di metà della risoluzione completa (per es. 288 per PAL o 240 per NTSC), allora i 'fotogrammi' che otterrai saranno reali coppie interlacciate di campi. A seconda di quello che vuoi fare con il video puoi lasciarle in questa forma, deinterlacciarle distruttivamente, oppure spezzare le coppie in campi singoli. In caso contrario otterrai un filmato che risulta distorto durante le scene ad alto movimento e il controllore della frequenza probabilmente sarà incapace di mantenere la frequenza specificata, visto che gli artefatti dell'interlacciamento producono un alto numero di dettagli e quindi occupano molta banda. Puoi abilitare il deinterlacciamento con . Solitamente fa un buon lavoro, ma può essere oggetto di preferenze personali. Vedi anche gli altri algoritmi di deinterlacciamento nel manuale e provali. Taglia via le zone morte. Quando catturi video, le zone sui bordi spesso sono nere o contengono del disturbo. Questo consuma un sacco di banda non necessaria. Per essere precisi non sono le zone nere in sé, ma quel salto tra il nero e la parte chiara dell'immagine video che la sprecano, ma ciò non è importante per adesso. Prima di iniziare l'acquisizione, imposta gli argomenti dell'opzione affinché tutta la porcheria ai margini venga tagliata via. E ancora, non dimenticarti di mantenere 'sane' le dimensioni dell'immagine risultante. Controlla il carico della CPU. Non dovrebbe oltrepassare il 90% nella maggior parte del tempo. Se hai un grosso buffer di cattura, MEncoder può gestire un sovraccarico per pochi secondi, ma non di più. E' meglio disattivare screensaver 3D OpenGL e cose del genere. Non pacioccare con il clock di sistema. MEncoder usa il clock di sistema per gestire la sincronizzazione A/V. Se tu modifichi il clock di sistema (specialmente all'indietro nel tempo), MEncoder resta confuso e perderai dei fotogrammi. Questo è un fattore importante se sei collegato alla rete e usi un qualche software di sincronizzazione dell'ora come NTP. Dovresti disabilitare NTP durante il processo di acquisizione se vuoi che la cattura sia affidabile. Non modificare (il formato di uscita) a meno che tu non sappia cosa stia facendo oppure la tua scheda/il tuo driver non supportino davvero quello di default (spazio colore YV12). Nelle precedenti versioni di MPlayer/MEncoder era necessario indicare il formato di uscita. Questo problema dovrebbe esser stato risolto nelle versioni correnti e outfmt non è più richiesto, e quello di default va bene la maggior parte delle volte. Per esempio, se stai catturando in DivX con libavcodec e specifichi per aumentare la qualità delle immagini acquisite, l'immagine stessa verraà comunque convertita di nuovo in YV12, perciò l'unica cosa che otterrai sarà spreco di CPU. Ci sono vari modi per la cattura dell'audio. Puoi acquisire il suono sia usando la tua scheda audio attraverso una connessione via cavo esterna tra la scheda video e il line-in, sia usando l'ADC integrato nel chip bt878. Nell'ultimo caso, devi caricare il driver btaudio. Leggi il file linux/Documentation/sound/btaudio (nei sorgenti del kernel, non di MPlayer) per alcune istruzioni su come usare tale driver. Se MEncoder non può aprire il dispositivo audio, assicurati che sia veramente disponibile. Ci sono alcuni problemi con sound server come aRts (KDE) o ESD (GNOME). Se hai una scheda audio full duplex (quasi tutte le schede decenti lo supportano, ad oggi), e stai usando KDE, prova a controllare l'opzione "full duplex" nel menu preferenze del sound server. Esempi Uscita fasulla, verso AAlib :) mplayer -tv driver=dummy:width=640:height=480 -vo aa tv:// Ingresso da V4L standard: mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv:// Un esempio più complesso. Questo fa sì che MEncoder catturi l'immagine PAL completa, tagli i margini, e deinterlacci l'immagine usando un algoritmo di sfumatura lineare. L'audio viene compresso con una frequenza costante di 64kbps, usando il codec LAME. Questa impostazione è utilizzabile per acquisire film. mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \ -vf crop=720:544:24:16,pp=lb -o uscita.avi tv:// Questo in più ridimensionerà l'immagine a 384x288 e comprimerà il video con una frequenza di 350kbps in modalità ad alta qualità. L'opzione vqmax rilascia il quantizzatore e permette al compressore video di raggiungere davvero una così bassa frequenza anche a spese della qualità. Questo puà essere usato per acquisire lunghe serie TV, dove la qualità video non è così importante. mencoder -tv driver=v4l:width=768:height=576 \ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \ -oac mp3lame -lameopts cbr:br=48 -sws 1 -o uscita.avi\ -vf crop=720:540:24:18,pp=lb,scale=384:288 tv:// E' anche possibile specificare dimensioni immagine inferiori nell'opzione e omettere il ridimensionamento software ma questo approccio usa la massima informazione disponibile ed è un po' più resiliente ai disturbi. I chip bt8x8 possono calcolare la media dei pixel solo sulla direzione orizzontale a causa di una limitazione hardware. Televideo (teletext) Il televideo è attualmente disponibile solo in MPlayer per i driver v4l e v4l2. Note sull'implementazione MPlayer gestisce il testo normale, la grafica e i collegamenti per la navigazione. Sfortunatamente, le pagine colorate non sono ancora decodificate completamente - tutte le pagine vengono mostrate in scala di grigi. Vengono gestite anche le pagine dei sottotitoli (conosciute anche come 'Closed Captions'). MPlayer inizia a memorizzare nella cache tutte le pagine di televideo sin dall'inizio della ricezione dall'ingresso TV, perciò non devi attendere fino a quando si carica la pagina voluta. Nota: usare il televideo con genera strani colori. Usare il televideo Per abilitare la decodifica del televideo devi specificare il dispositivo VBI da cui ottenere i dati televideo (solitamente /dev/vbi0 per Linux). Puoi fare ciò speificando nel tuo file di configurazione, come mostrato qui sotto: tv=tdevice=/dev/vbi0 Potresti voler indicare il codice di lingua del televideo per la tua zona. Per elencare tutti i codici di zona disponibili usa tv=tdevice=/dev/vbi0:tlang=-1 Qui c'è un esempio per il russo: tv=tdevice=/dev/vbi0:tlang=33 Radio Ingresso radio Questa sezione tratta di come abilitare l'ascolto della radio da un sintonizzatore compatibile V4L. Guarda la pagina man per una descrizione delle opzioni e dei controlli di tastiera per la radio. Compilazione Per prima cosa devi compilare MPlayer usando ./configure con e (se vuoi il supporto per la cattura) . Assicurati che il tuo sintonizzatore funzioni con altri software radio per Linux, per esempio XawTV. Consigli per l'uso La lista completa delle opzioni è disponibile nella pagina di manuale. Qui ci sono giusto alcuni consigli: Usa l'opzione . Un esempio: -radio channels=104.4-Sibir,103.9-Maximum Spiegazione: con questa opzione, solo le stazioni radio 104.4 e 103.9 saranno utilizzabili. Ci sarà un simpatico testo OSD quando cambi canale, mostrante il nome del canale stesso. Gli spazi nel nome di canale devono essere sostituiti con il carattere "_". Ci sono vari modi per catturare l'audio. Puoi catturare il suono sia usando la tua scheda video attraverso un cavo di connessione esterno tra la scheda video e la line-in, ovvero usare l'ADC integrato nel chip saa7134. Nell'ultimo caso, devi caricare il driver saa7134-alsa o saa7134-oss. MEncoder non può essere utilizzato per la cattura audio, poiché per funzionare richiede un flusso video. Per cui puoi usare o arecord dal progetto ALSA oppure usare l'opzione . Nell'ultimo caso non sentirai suono alcuno (a meno che tu non stia usando un cavo line-in e abbia tolto il mute dal line-in). Esempi Ingresso da V4L standard (usando un cavo su line-in, cattura disabilitata): mplayer radio://104.4 Ingresso da V4L standard (usando un cavo su line-in, cattura disabilitata, interfaccia V4Lv1): mplayer -radio driver=v4l radio://104.4 Riprodurre il secondo canale della lista canali: mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2 Ridirigere il suono dall'ADC integrato della scheda radio al bus PCI. In questo esempio il sintonizzatore viene usato come una seconda scheda audio (ALSA device hw:1,0). Per schede basate su saa7134 deve esser caricato il modulo saa7134-alsa o saa7134-oss. mplayer -rawaudio rate=32000 radio://2/capture \ -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm Usando i nomi dispositivi ALSA, i due punti devono esser sostituiti con il segno di uguale, le virgole con punti.