# MPlayer - Movie Player for LINUX

## © 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)
http://www.mplayerhq.hu

[ English ] [ Hungarian ] [ German ] [ French ] [ Polish ] [ Italian ] [ Chinese ]

## Tabella dei contenuti

- 0. Come leggere la documentazione
- 1. Introduzione

- 1.1 Storia
- 1.2 Installazione / Suggerimenti
- 1.3 E la GUI?
- 1.4 Sottotitoli e OSD

- 1.4.1 Il formato sottotitoli proprio di MPlayer (MPsub)
- 1.4.2 Installare OSD e sottotitoli
- 1.4.3 Menu OSD

- 1.5 RTC

- 2. Caratteristiche

- 2.1 Formati supportati

- 2.1.1 Formati video

- 2.1.1.1 File MPG, VOB, DAT
- 2.1.1.2 File AVI
- 2.1.1.3 File ASF/WMV
- 2.1.1.4 File QT/MOV
- 2.1.1.5 File VIVO
- 2.1.1.6 File FLI
- 2.1.1.7 File RealMedia
- 2.1.1.8 File NuppelVideo
- 2.1.1.9 File yuv4mpeg
- 2.1.1.10 File FILM
- 2.1.1.11 File RoQ
- 2.1.1.12 File OGG/OGM
- 2.1.1.13 File SDP
- 2.1.1.14 File PVA
- 2.1.1.15 File GIF

- 2.1.2 Formati audio

- 2.1.2.1 File MP3
- 2.1.2.2 File WAV
- 2.1.2.3 File OGG/OGM (Vorbis)
- 2.1.2.4 File WMA/ASF
- 2.1.2.5 File MP4
- 2.1.2.6 CD audio
- 2.1.2.7 XMMS

- 2.2 Codec supportati

- 2.2.1 Codec video

- 2.2.1.1 DivX4/DivX5
- 2.2.1.2 DivX/libavcodec di ffmpeg
- 2.2.1.3 Codecs di XAnim
- 2.2.1.4 Video VIVO
- 2.2.1.5 Video MPEG1/2
- 2.2.1.6 MS Video1
- 2.2.1.7 Cinepak CVID
- 2.2.1.8 RealVideo
- 2.2.1.9 XviD
- 2.2.1.10 Sorenson

- 2.2.2 Codec audio

- 2.2.2.1 Decodifica software AC3
- 2.2.2.2 Decodifica Hardware AC3
- 2.2.2.3 Supporto libmad
- 2.2.2.4 Audio VIVO
- 2.2.2.5 RealAudio
- 2.2.2.6 Codec QDesign
- 2.2.2.7 Codec Qualcomm
- 2.2.2.8 Codec AAC

- 2.2.3 Come importare i codec Win32

- 2.2.3.1 Codec VFW
- 2.2.3.2 Codec DirectShow

- 2.3 Dispositivi di output
  - 2.3.1 Dispositivi di output video
  - 2.3.1.1 Configurare l'MTRR
  - 2.3.1.2 Output video per normali schede video
    - 2.3.1.2.1 Xv
      - 2.3.1.2.1.1 3dfx
      - 2.3.1.2.1.2 S3
      - 2.3.1.2.1.3 nVidia
      - 2.3.1.2.1.4 ATI
      - 2.3.1.2.1.5 NeoMagic
      - 2.3.1.2.1.6 Trident
      - 2.3.1.2.1.7 Kyro/PowerVR
    - 2.3.1.2.2 DGA
    - 2.3.1.2.3 SDL
    - 2.3.1.2.4 SVGAlib
    - 2.3.1.2.5 Output col Framebuffer (FBdev)
    - 2.3.1.2.6 Framebuffer Matrox (mga_vid)
    - 2.3.1.2.7 Supporto YUV 3dfx(tdfxfb)
    - 2.3.1.2.8 Output in OpenGL
    - 2.3.1.2.9 AAlib - visione in modalità testo
    - 2.3.1.2.10 VESA - output col BIOS VESA
    - 2.3.1.2.11 X11
    - 2.3.1.2.12 Vidix
    - 2.3.1.2.13 DirectFB
    - 2.3.1.2.14 DirectFB/Matrox (dfbmga)
  - 2.3.1.3 Decoder MPEG
    - 2.3.1.3.1 DVB
    - 2.3.1.3.2 DXR2
    - 2.3.1.3.3 DXR3/Hollywood+
  - 2.3.1.4 Altro hardware di visualizzazione
    - 2.3.1.4.1 Decoder JPEG Zoran
    - 2.3.1.4.2 Blinkenlights
  - 2.3.1.5 Supporto TV-out
  - 2.3.1.5.1 Matrox G400
  - 2.3.1.5.2 Matrox G450/G550
  - 2.3.1.5.3 ATI
  - 2.3.1.5.4 Voodoo 3/Banshee
  - 2.3.1.5.5 nVidia
  - 2.3.2 Audio
  - 2.3.2.1 Sincronizzazione Audio/Video
  - 2.3.2.2 Esperienze con le schede sonore, raccomandazioni
  - 2.3.2.3 Filtri Audio
  - 2.3.2.3.1 Sovra/sotto campionamento
  - 2.3.2.3.2 Modifica del numero dei canali
  - 2.3.2.3.3 Convertitore del formato di campionamento
  - 2.3.2.3.4 Ritardo
  - 2.3.2.3.5 Controllo volume via software
  - 2.3.2.3.6 Equalizzatore
  - 2.3.2.3.7 Filtro panning
  - 2.3.2.3.7 Sub-woofer
  - 2.3.2.3.7 Decodificatore suono Surround
- 2.3.2.4 Plugin Audio (deprecati)

- 2.3.2.4.1 Sovra/sotto campionamento
- 2.3.2.4.2 Decodifica suono Surround
- 2.3.2.4.3 Convertitore del formato di campionamento
- 2.3.2.4.4 Ritardo
- 2.3.2.4.5 Controllo volume via software
- 2.3.2.4.6 Extrastereo
- 2.3.2.4.7 Normalizzatore volume

- 2.4 Input TV
  - 2.4.1 Compilazione
  - 2.4.2 Consigli di utilizzo
  - 2.4.3 Esempi
- 2.5 Edit Decision Lists (EDL)
  - 2.5.1 Uso di un file EDL
  - 2.5.2 Scrivere un file EDL
- 3. Utilizzo
  - 3.1 Linea di comando
  - 3.2 Controllo
  - 3.2.1 Configurazione dei controlli
    - 3.2.1.1 Nomi tasti
    - 3.2.1.2 Comandi
  - 3.2.2 Controllo da LIRC
  - 3.2.3 Modalità slave
- 3.3 Streaming da rete o pipe
- 4. Sezione CD/DVD

- 4.1 Lettori CD/DVD
- 4.2 Vedere i DVD
- 4.3 Vedere i VCD

- 5. Sezione FAQ (Domande frequenti)

- 5.1 Compilazione
- 5.2 Domande generali
- 5.3 Problemi di lettura file
- 5.4 Problemi di driver Video/audio
- 5.5 Riproduzione DVD
- 5.6 Richieste di caratteristiche
- 5.7 Codificare

- 6. Port

- 6.1 Linux
  - 6.1.1 Pacchetti Debian
  - 6.1.2 Pacchetti RPM
  - 6.1.3 ARM
- 6.2 *BSD
  - 6.2.1 FreeBSD
  - 6.2.2 OpenBSD
- 6.3 Solaris
- 6.4 Silicon Graphics/Irix
- 6.5 QNX
- 6.6 Cygwin

- 7 Codificare con MEncoder
  - 7.1 Codificare MPEG-4 ("DIVX") in 2 o 3 passaggi
  - 7.2 Codificare in formato MPEG
  - 7.3 Ridimensionare i filmati
  - 7.4 Copia da Stream
  - 7.5 Correggere gli AVI con indice danneggiato
  - 7.5.1 Unire file AVI
  - 7.6 Codificare con la famiglia di codec libavcodec
  - 7.7 Codificare da file di immagine multipli (MJPEG/MPNG)
  - 7.8 Estrarre i sottotitoli dai DVD in un file Vobsub
  - 7.9 Conservare le proporzioni
- Appendice A - Le Mailing list
- Appendice B - Come segnalare i bug
- Appendice C - Bug conosciuti
- Appendice D - Formato delle skin di MPlayer

- D.1 Panoramica
  - D1.1 Directory
  - D1.2 Immagini
  - D1.3 Parti della skin
  - D1.4 File
- D.2 Il file skin
  - D2.1 Finestra principale e playbar
  - D2.2 Subwindow
  - D1.3 Menu della skin
- D.3 Caratteri
  - D3.1 Simboli
- D.4 Messaggi della GUI

- Appendice E - Lamentele degli sviluppatori

- E.1 GCC 2.96
- E.2 Distribuzione binaria
- E.3 nVidia
- E.4 Joe Barr

# 0. Come leggere questa documentazione

Se installi per la prima volta: assicurati di leggere tutto da qui alla fine della sezione sull'installazione, e segui i link che troverai. se hai altre domande, Ritorna alla Tabella dei contenuti e cerca l'argomento, leggi le FAQ, o prova ad usare "grep" sui file.

La regola principale di questa documentazione: se non è documentato, non esiste. Se non dico che puoi codificare l'audio dal sintonizzatore TV, non puoi. Però una certa abilità nel combinare questo con altri software è la benvenuta. Buona fortuna. Ne avrai bisogno :)

# 1. Introduzione

MPlayer è un lettore di filmati per LINUX (funziona su molti altri Unix, e CPU non-x86, vedi la sezione port). Legge la maggior parte dei file MPEG, VOB, AVI, OGG, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, con l'aiuto di molti codec nativi, di XAnim, di RealPlayer e di Win32. Si possono guardare VideoCD, SVCD, DVD, 3ivx, RealMedia, e film in DivX (e non necessita assolutamente la libreria di avifile !). L'altra importante caratteristica di mplayer è l'ampia scelta di driver supportati per l'output. Funziona con X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, ma puoi usare GGI e SDL (e così tutti i loro driver) e anche alcuni driver di basso livello specifici di alcune schede (Matrox, 3Dfx e Radeon, Mach64, Permedia3)! La maggior parte di queste supporta il ridimensionamento software o hardware, così puoi goderti i film a pieno schermo. MPlayer supporta la visualizzazione con alcune schede di decodifica MPEG , come la DVB e la DXR3/Hollywood+ ! E che dire dei magnifici sottotitoli ombreggiati dotati di antialiasing (10 tipi supportati!!!) con i caratteri europeo/ISO 8859-1,2 (ungherese, inglese, ceco, ecc), cirillico, coreano, e OSD?

Il lettore è stabile con file MPEG danneggiati (utile per alcuni VCD), e legge file AVI corrotti che sono illeggibili col famoso windows media player. Perfino file AVI senza la sezione dell'indice sono leggibili, e e si può ricostruire il loro indice con l'opzione -idx o permanentemente con MEncoder, abilitando così la ricerca! Come potete vedere, la stabilità e la qualità sono le cose più importanti, ma anche la velocità è impressionante.

MEncoder (l' encoder di filmati di MPlayer) è un semplice codificatore di filmati, progettato per codificare i filmati leggibili da MPlayer (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA) in altri formati leggibili da MPlayer (vedi sotto). Può usare vari codec, come DivX4 (1 o 2 passaggi), libavcodec, audio PCM/MP3/VBR MP3. Ha anche un potente sistema di plugin per la manipolazione dei video.

#### Caratteristiche di MEncoder

- codifica da un' ampia scelta di formati file e decoder di MPlayer
- codifica in tutti i codec libavcodec di ffmpeg
- codifica video da sintonizzatori TV compatibili con V4L
- codifica/multiplexing in file AVI interleaved con un indice corretto
- creazione di file con un flusso audio esterno
- codifica in 1, 2 o 3 passaggi
- audio VBR MP3 audio - NOTA IMPORTANTE:l'audo VBR MP3 non viene sempre letto correttamente dai lettori per Windows!
- audio PCM
- copia di stream
- sincronizzazione A/V in input (basata su PTS, può essere disabilitata con l'opzione -mc 0)
- correzione degli FPS con l'opzione `-ofps` (utile per codificare i VOB a 29.97fps in AVI a 24fps)
- usa il nostro potentissimo sistema a plugin (taglia, espandi, ribalta, postprocess, ruota, scala, conversione rgb/yuv)
- può codificare DVD/VOBsub E sottotitoli testuali nel file di output
- può codificare nel formato Vobsub i sottotitoli dei DVD

#### Caratteristiche pianificate

- varietà ancora maggiore di formati/codec di de/codifica disponibili (creare file VOB con flussi DivX4/Indeo5/VIVO :)

MPlayer e MEncoder sono distribuiti nei termini della licenza GNU General Public License Versione 2.

## 1.1. Storia

E' cominciato tutto un anno fa... Io (A'rpi) avevo provato molti lettori per linux (mtv,xmps,dvdview,livid/oms,videolan, xine,xanim,avifile,xmmp) ma tutti avevano dei problemi. Soprattutto con file speciali o con la sincronizzazione audio/video. La maggior parte non era in grado di leggere sia file MPEG1, MPEG2 e AVI (DivX). Molti lettori hanno anche problemi di qualità dell'immagine e di velocità. Così decisi di scriverne/modificarne uno...

- mpg12play v0.1-v0.3: Set 22-25, 2000
  La prima prova, messo insieme in mezz'ora! Avevo usato la libmpeg3 da www.heroinewarrior.com fino alla versione 0.3, ma c'erano problemi di qualità d'immagine e di velocità.
- mpg12play v0.5-v0.87: Set 28-Ott 20, 2000
  Codec Mpeg sostituito con DVDview di Dirk Farin, era roba buona, ma era lento e scritto in C++ (odio il C++!!!)
- mpg12play v0.9-v0.95pre5: Ott 21-Nov 2, 2000
  Il codec Mpeg era libmpeg2 (mpeg2dec) di Aaron Holtzman & Michel Lespinasse. E' grandioso, codice C ottimizzato e molto veloce con qualità dell'immagine perfetta e 100% aderente allo standard MPEG.
- MPlayer v0.01: Nov 11, 2000
  il primo MPlayer.
- MPlayer v0.3-v0.9: Nov 18-Dic 4, 2000
  Era l'insieme di due programmi: mpg12play0.95pre6 e il mio nuovo semplice lettore AVI 'avip' basato sul caricatore delle DLL Win32 di avifile.
- MPlayer v0.10: Gen 1, 2001
  Il lettore MPEG e AVI in un singolo binario!
- MPlayer serie v0.11pre:
  Nuovi sviluppatori si sono uniti e dalla 0.11 il progetto mplayer è un lavoro di squadra! Aggiunto il supporta ai file .ASF, e codifica/decodifica OpenDivX (vedi www.projectmayo.com).
- MPlayer v0.17a "The IdegCounter" Apr 27, 2001
  La versione per la pubblicazione della 0.11pre dopo 4 mesi di pesante sviluppo! Provala, e stupisci! Centinaia di nuove caratteristiche aggiunte... e naturalmente era stato anche migliorato il vecchio codice, rimossi i bug ecc.
- MPlayer 0.18 "The BugCounter" Lug 9, 2001
  2 mesi dopo 0.17 ed ecco un'alta pubblicazione.. Completato il supporto ASF, più formati di sottotitoli, introdotta la libao (simile alla libvo ma per l'audio), perfino più stabile di prima, e così via. E' un MUST !
- MPlayer 0.50 "The Faszom(C)ounter" Ott 8, 2001
  Hmm. Nuovo rilascio. Tonnellate di nuove caratteristiche, versione beta della GUI, bug corretti, nuovi driver vo e ao, portato su molti sistemi, include i codec DivX opensource e molto altro. Provatela!
- MPlayer 0.60 "The RTFMCounter" Gen 3, 2002
  Supporto per i file MOV/VIVO/RM/FLI/NUV, codec CRAM, Cinepak, ADPCM nativi, e supporto per i codec binari di XAnim; supporto ai sottotitoli dei DVD, primo rilascio di MEncoder, cattura da TV, cache, liba52, innumerevoli correzioni.
- MPlayer 0.90pre10 "The BirthdayCounter" Nov 11, 2002
  Anche se non è una release, è menzionato perchè è uscito 2 anni dopo MPlayer v0.01. Buon compleanno, MPlayer!
- MPlayer 0.90rc1 "The CodecCounter" Dic 7, 2002
  Di nuovo non è una release, ma dopo l'aggiunta del supporto per Sorenson 3 (QuickTime) e Windows Media 9, MPlayer è il primo player del mondo a supportare tutti i formati video conosciuti!
- MPlayer 0.90 "?" Data ancora sconosciuta

## 1.2. Installazione

In questo capitolo proverò a guidarvi nel processo di compilazione e di configurazione di MPlayer. Non è facile, ma non sarà necessariamente difficile. Se riscontrate un comportamento diverso da quello qui descritto, per favore cercate in questa documentazione e troverete le risposte. Se vedete dei link, seguiteli e leggete attentamente cosa contengono. Vi costerà del tempo, ma ne vale sicuramente la pena.

Dovete avere un sistema abbastanza recente. Con Linux, sono raccomandati i kernel 2.4.x.

#### Requisiti software

- binutils - la versione suggerita è la 2.11.x . Questo programma si occupa di generare le istruzioni MMX/3DNow!/ecc, quindi è molto importante.
- gcc - le versioni suggerite sono la 2.95.3, (forse la 2.95.4) e la 3.2+. Non usate MAI la 2.96 o le 3.0.x !!! Generano del codice errato. Se decidete di cambiare il vostro gcc 2.96, allora non decidete in favore del 3.0.x solo perchè è più recente! Per certi versi è perfino peggiore del 2.96. Quindi tornate al 2.95.x (cambiate anche libstdc++!) o non aggiornate per niente (ma in questo caso, preparatevi a problemi di runtime). Se voti per il 3.x, prova ad usare l'ultima versione, le prime versioni avevano vari bug, quindi assicurati di usare almeno la 3.1. Informazioni dettagliate sui bug del gcc 2.96 (che NON sono stati ancora corretti, sono stati AGGIRATI in MPlayer!) si possono trovare qui e nelle FAQ !
- XFree86 - la versione suggerita è sempre la più nuova (4.2.1). Normalmente tutti dovrebbero preferire questa, perchè a partire da XFree86 4.0.2, contiene l'estensione XVideo (chiamata a volte Xv) che è necessaria per abilitare l'accelerazione hardware YUV (visualizzazione rapida delle immagini) sulle schede che la supportano. Assicuratevi che siano installati anche i suoi pacchetti di sviluppo altrimenti non funzionerà.
  Per alcune schede video non è necessario XFree86. Controllate la lista sotto.
- make - la versione suggerita è sempre la più nuova (almeno la 3.79.x). Solitamente non è importante.
- SDL - non è obbligatorio, ma può aiutare in alcuni casi (audio difettoso, schede video stranamente lente col driver xv). Usate sempre la versione più recente (a partire dalla 1.2.x).
- libjpeg - decodificatore JPEG opzionale, usato da -mf e alcuni file qt mov. Utile sia per MPlayer che per MEncoder se hai intenzione di lavorare con file jpeg.
- libpng - decodificatore (M)PNG raccomandato e usato di default. Necessario per la GUI. Utile sia per MPlayer che per MEncoder.
- lame - racommandato, necessario per codificare audio MP3 con MEncoder, la versione suggerita è sempre la più recente (almeno 3.90).
- libogg - opzionale, necessario per leggere il formato file OGG.
- libvorbis - opzionale, necessario per leggere i file audio OGG Vorbis.
- LIVE.COM Streaming Media - opzionale, necessario per vedere gli stream RTSP/RTP.
- directfb - opzionale, da http://www.directfb.org
- cdparanoia - opzionale, per il supporto CDDA
- libfreetype - opzionale, per il supporto dei caratteri TTF. Necessaria almeno la versione 2.0.9.
- libxmms - opzionale, per il supporto dei plugin di input di XMMS. Necessaria almeno la versione 1.2.7.

#### CODEC

- libavcodec : se volete usare questo codec DivX3/DivX4/DivX5/MP41/MP42/ecc, controllate la sezione 2.2.1.2 prima di compilare. Caratteristiche :
  - si possono vedere H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMA su piattaforme non-x86
  - codifica con la maggior parte dei codec menzionati
  - questo codec è il più veloce codec disponibile per filmati DivX/3/4/5 e altri tipi di MPEG4. Raccomandato!
- Codec Win32 : Se intendete usare MPlayer su architetture x86 , probabilmente ne avete bisogno. Scaricate i codec Win32 dalla nostra pagina dei codec ed installateli in `/usr/lib/codecs` PRIMA di compilare MPlayer, altrimenti non avrete nessun supporto Win32!
  Nota: il progetto avifile ha un simile pacchetto di codec, ma è diverso dal nostro, quindi se volete usare tutti i codec supportati, usate il nostro pacchetto! Comunque, potete usare i nostri codec con avifile. Caratteristiche:
  - ne avete bisogno se volete vedere o codificare ad esempio filmati registrati con vari compressori hardware, come schede tv, macchine fotografiche digitali (esempio: DV, ATI VCR, MJPEG)
  - necessario per vedere filmati WMV8, WMV9/WMA9. Non necessario per i vecchi ASF con video MP41 o MP42 (anche se l'audio VoxWare si trova frequentemente in questi file - è decodificato dal codec Win32), o WMV7. Non necessario anche per WMA (Windows Media Audio), libavcodec ha un decoder opensource per quello.
- Codec QuickTime: su piattaforme x86 si possono usare questi codec per video Sorenson v1/v3, RPZA, e altri video QuickTime, e audio QDesign. Le istruzioni per l'installazione si trovano nella sezione codec video Sorenson.
- DivX4/DivX5 : informazioni su questo codec sono disponibili nella sezione 2.2.1.1. Se non volete codificare filmati , probabilmente non vi serve questo codec in quanto libavcodec (vedi sopra) è molto più veloce.
  Caratteristiche :
  - Codifica in 1 o 2 passaggi con MEncoder
  - Legge vecchi filmati DivX3 molto più velocemente della DLL Win32 ma più lentamente di libavcodec !
  - E' closed-source, ed è disponibile solo la versione per x86.
- XviD : Alternativa di codifica opensource a Divx4Linux
  Caratteristiche :
  - codifica a 1 o 2 passaggi con MEncoder
  - è open-source, quindi non è disponibile solo la versione x86.
  - è circa 2 volte più veloce di divx4 nella codifica - circa la stessa qualità
- I codec XAnim sono i migliori (schermo pieno, zoom YUV hardware) per decodificare filmati 3ivx e Indeo 3/4/5, e alcuni vecchi formati. E sono multipiattaforma, quindi è l'unico modo per vedere gli Indeo su piattaforme non-x86 (bhe, eccetto usare XAnim:). Ma per esempio i filmati Cinepak vengono letti meglio dal codec Cinepak proprio di MPlayer !
- Per la decodifica dell' audio Ogg Vorbis devi installare correttamente `libvorbis`. Usa pacchetti deb/rpm se disponibili, o compila dai sorgenti (questa è una tarball del CVS di vorbis aggiornata ogni notte).
- MPlayer può usare le librerie di RealPlayer 8 o RealONE per riprodurre file con video RealVideo 2.0 - 4.0, e audio Sipro/Cook. Vedi la sezione Formato file RealMedia per le istruzioni sull'installazione e maggiori informazioni!

#### SCHEDE VIDEO

Ci sono generalmente due tipi di schede video. Un tipo (la schede più nuove) supporta il ridimensionamento hardware e l'accelerazione YUV, l'altro tipo no.

#### Schede YUV

Possono visualizzare e riscalare (zoom) l'immagine a qualunque dimensione che rientri nella loro memoria, con scarso utilizzo della CPU (zoommare non lo aumenta!), così si ottiene un filmato a pieno schermo di buona qualità e molto veloce.

- Schede Matrox G200/G400/G450/G550 : sebbene sia fornito un driver Vidix, si raccomanda di usare il modulo del kernel mga_vid al posto di questo, in quanto funziona molto meglio. Vedi la sezione mga_vid per l'installazione e l'utilizzo. E' importante eseguire questi passi prima di compilare MPlayer, altrimenti non ci sarà nessun supporto specifico Matrox. Controllate anche la sezione TV-out Matrox. Se sei un utente non-Linux, leggi la documentazione di Vidix
- Schede 3Dfx Voodoo3/Banshee : per favore leggete la sezione tdfxfb per ottenere un grande miglioramento delle prestazioni. E' importante eseguire questi passi prima di compilare MPlayer, altrimenti non ci sarà alcun supporto. Leggete anche la sezione TV-out 3dfx .Se usi X, usa almeno la versione 4.2.0, in quanto il driver Xv 3dfx era difettoso nella 4.1.0, e precedenti!
- Schede ATI : è fornito un driver Vidix per le seguenti schede: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Leggi anche la sezione schede ATI della documentazione sul TV-out, per sapere quali caratteristiche della tua scheda sono supportate da Linux/MPlayer.
- Schede S3 : i chip Savage e Virge/DX hanno l'accelerazione hardware. Usate la versione il più possibile recente di XFree86, i vecchi driver sono pieni di errori. I chip Savage hanno problemi col YV12, leggete la sezione Xv S3 per dettagli. Le più vecchie schede Trio non possiedono, o è lento, supporto hardware.
- Schede Nvidia : potrebbe essere o non essere una buona scelta per la visione di filmati. Se non hai una scheda GeForce2 (o migliore), è improbabile che funzioni senza problemi. Il driver Nvidia di XFree86 non ha il supporto per l'accelerazione YUV hardware per tutte le schede NVidia ! Dovete scaricare i driver closed-source di Nvidia da nvidia.com . Leggete i dettagli nella sezione driver Xv Nvidia. Guardate anche la sezione TV-out nVidia se vuoi usare una TV.
- 3DLabs GLINT R3 e Permedia3 : è fornito un driver Vidix (pm3_vid). Vedi le istruzioni Vidix .
- altre schede : nessuna di quelle sopra?
  - Controllate se il driver XFree86 (e la vostra scheda) supporta l'accelerazione hardware. Leggete la Sezione Xv per dettagli.
  - Se non la supporta, allora le caratteristiche della tua scheda non sono supportate dal tuo OS :(
    Se la scheda riesce a fare il ridimensionamento hardware sutto Windows, non significa che farà lo stesso sotto Linux o altri OS, dipende dai driver! La maggior parte dei produttori non fanno driver per Linux ne rilasciano le specifiche dei chip - quindi sei sfortunato se usi una delle loro schede. Vedi la prossima sezione:

#### Schede Non-YUV

La visualizzazione a pieno schermo può essere ottenuta sia zoomando tramite software(usa l'opzione -zoom, ma sei avvisato: è leeento), o usando una modalità video più piccola, per esempio 352x288. Se non avete l'accelerazione YUV, quest'ultimo metodo è quello consigliato. Con MPlayer, questo può essere ottenuto usando l'opzione `-vm` e con i seguenti driver :

- usando XFree86 : leggete i dettagli nelle sezioni driver DGA e driver X11. DGA è raccomandato! Prova anche il DGA tramite SDL, a volte è migliore.
- non usando XFree86 : provate i driver nel seguente ordine : vesa, fbdev, svgalib, aalib.

#### Alcune schede:

- Schede Cirrus Logic:
  - GD 7548: presente e testata sulla serie di notebook Compaq Armada 41xx.
    - XFree86 3: funzione nelle modalità a 8/16bpp. Comunque, il driver è tragicamente lento e difettoso a 800x600@16bpp. Raccomandato: 640x480@16bpp
    - XFree86 4: Xserver si blocca subito dopo essere partito se non viene disabilitata l'accelerazione, ma la cosa diventa più lenta che con XFree86 3. Niente XVideo.
    - FBdev: il framebuffer si può abilitare col driver del kernel `clgenfb`, anche se per me ha funzionato solo a 8bpp, quindi inutilizzabile. Al sorgente di clgenfb bisogna aggiunge l'ID 7548 prima di compilare.
    - VESA: la scheda è compatibile solo con VBE 1.2, quindi l'output VESA non può essere usato. Non si può aggirare il problema con UniVBE.
    - SVGAlib: riconosce la scheda come un più vecchio chip Cirrus. Utilizzabile ma lento con `-bpp 8`.

#### Schede sonore

- Soundblaster Live! : con questa scheda si può usare la decodifica AC3 a 4 o 6 (5.1) canali AC3 invece di 2. Leggete la sezione Decodifica software AC3. Per il passaggio AC3 hardware DOVETE usare l'emulazione oss di ALSA 0.9!
- C-Media con uscita SP/DIF : con queste schede è possibile la decodifica AC3 hardware, leggete la sezione Decodifica AC3 hardware.
- Caratteristiche di altre schede non sono supportate da MPlayer. Si consiglia di leggere la sezione schede sonore !

Caratteristiche

- Decidi se vuoi la GUI. Se si, leggi la sezione GUI prima di compilare.
- Se vuoi installare MEncoder (il nostro grande encoder), vedi la sezione MEncoder .
- Se hai un sintonizzatore TV compatibile V4L, e vorresti guardare/catturare e codificare filmati con MPlayer, leggi la sezione input TV.
- C'è un bel supporto Menu OSD pronto da usare. Guarda la sezione Menu OSD.

Quindi compila MPlayer:

        ./configure
        make
        make install

A questo punto, MPlayer è pronto ad essere usato. La directory `$PREFIX/etc/mplayer` contiene il file `codecs.conf`, che serve per dire al programma di quali codec dispone e le loro caratteristiche. Questo file dovrebbe essere sempre tenuto aggiornato di pari passo col binario principale ! Controlla se hai codecs.conf nella tua directory home (~/.mplayer/codecs.conf) lasciato da vecchie versioni di MPlayer, e rimuovilo!

Gli utenti Debian possono costruirsi un pacchetto .deb, è molto semplice. Basta eseguire `fakeroot debian/rules binary` nella directory principale di MPlayer. Istruzioni dettagliate possono essere trovate qui.

Controllare SEMPRE l'output di ./configure e il file `configure.log`, contengono informazioni su quello che sarà compilato, e quello che non lo sarà. Potresti anche guardare i file config.h e config.mak. Se hai delle librerie installate, ma non trovate da ./configure, allora controlla se hai anche i rispettivi file header (di solito i pacchetti -dev) e che le versioni coincidano. Il configure.log solitamente ti dice cosa manca.

Sebbene non obbligatorio, i font dovrebbero essere installati per ottenere le funzionalità di OSD, e sottotitoli.Il metodo consigliato è di installare un file di caratteri TTF e dire ad MPlayer di usarlo. Vedi la sezione Sottotitoli e OSD per i dettagli.

## 1.3. E la GUI?

La GUI necessita di GTK (non è totalmente GTK, ma lo sono i pannelli). Le skin sono in formato PNG, quindi devono essere installati gtk, libpng (e i rispettivi pacchetti di sviluppo, solitamente denominati gtk-dev e libpng-dev). Puoi compilarla specificando `--enable-gui` al momento del ./configure . Quindi, per usare la modalità GUI, si può sia

- specificare `gui=yes` nel tuo file di configurazione
- `ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer` , e chiamare `gmplayer`.

Dato che MPlayer non ha una skin inclusa, devi scaricarle se vuoi usare la GUI. Vedi la pagina dei download. Dovranno essere estratti nella solita directory valida per tutto il sistema (`$PREFIX/share/mplayer/Skin`), o in `$HOME/.mplayer/Skin` . MPlayer cerca in queste una directory di nome default, ma puoi usare l'opzione -skin nuovaskin, o la direttiva skin=nuovaskin del file di configurazione per usare la skin nella directory `*/Skin/nuovaskin`.

## 1.4. Sottotitoli e OSD

MPlayer può mostrare i sottotitoli dei film. Attualmente sono supportati i seguenti formati:

- VobSub
- OGM
- CC (closed caption)
- Microdvd
- SubRip
- SubViewer
- Sami
- VPlayer
- RT
- SSA
- MPsub
- AQTitle
- JACOsub

MPlayer fare un dump dei formati di sottotitoli elencati sopra (tranne i primi tre) nei seguenti formati di destinazione, con le opzioni date:

- MPsub: `-dumpmpsub`
- SubRip: `-dumpsrtsub`
- Microdvd: `-dumpmicrodvdsub`
- JACOsub: `-dumpjacosub`
- Sami: `-dumpsami`

Le opzioni della riga di comando differiscono leggermente per i diversi formati:

#### Sottotitoli VobSub

I sottotitoli VobSub consistono di un grande (alcuni megabyte) file .SUB, e opzionali file .IDX e/o .IFO.
Utilizzo : se hai file come `sample.sub`, `sample.ifo`(opzionale), `sample.idx` - devi passare a MPlayer l'opzione `-vobsub sample -vobsubid <id>` (l'intero path è opzionale). L'opzione `-vobsubid` è come l'opzione `-sid` per i DVD, in questo modo puoi scegliere la traccia del sottotitolo (le lingue). In caso che `-vobsubid` sia omesso, MPlayer tenterà di usare le lingue date con l'opzione `-slang` e sceglie l'oggetto `langidx` nel file .IDX per impostare la lingua del sottotitolo. Se non ci riesce, non ci saranno i sottotitoli.

#### Altri sottotitoli

Gli altri formati consistono di un singolo file di testo che contiene informazioni sulla temporizzazione, posizionamento e sul testo.
Utilizzo : se hai ad esempio un file `sample.txt`, devi passare l'opzione `-sub sample.txt` (il path completo è opzionale).

#### Regolare la temporizzazione e il posizionamento dei sottotitoli

`-subdelay <sec>` : Ritarda i sottotitoli di <sec> secondi. Può essere negativo.
`-subfps <rapporto>` : Specifica il rapporto di frame/sec del file dei sottotitoli (numero razionale)
`-subpos <0 - 100>` : Specifica la posizione dei sottotitoli.

Se noti un ritardo crescente tra il filmato e i sottotitoli usando un file di sottotitoli MicroDVD, molto probabilmente la frequenza dei frame del filmato e quella dei sottotitoli sono diverse.
Per favore nota che il formato di sottotitoli MicroDVD usa numeri di frame assoluti per la temporizzazione, e quindi l'opzione `-subfps` non può essere usata con questo formato. Dato che MPlayer non ha modo di indovinare la frequenza dei frame del file dei sottotitoli, devi convertire manualmente la frequenza dei frame. C'è un piccolo script perl nella directory `contrib` del sito ftp di MPlayer che fa questa conversione per te.

MPlayer cercherà di indovinare i file di sottotitolo che vuoi usare per un filmato. Se ,come nella maggior parte dei casi, i file del sottotitolo e del filmato hanno lo stesso nome e si trovano nello stesso posto, non è necessario impostare le opzioni dei sottotitoli. Basta far pertire il filmato, MPlayer gestirà i sottotitoli automaticamente.

Per i sottotitoli dei DVD, leggi la sezione DVD.

### 1.4.1 Il formato di sottotitoli proprio di MPlayer (MPsub)

MPlayer introduce un nuovo formato di sottotitoli chiamato MPsub. E' stato ideato da Gabucino. La sua caratteristica principale è quella di essere dinamicamente basato sul tempo (ma ha anche una modalità basata sui frame). Esempio (da DOCS/tech/mpsub.sub) :

`# primo numero : aspetta sempre questo tempo prima che scompaia il sottotitolo precedente
# secondo numero : mostra il sottotitolo attuale per questo numero di secondi
15 3
Tanto, tanto tempo fa...
0 3
in una galassia lontana...
0 3
Naboo era sotto attacco.
`

Come si può vedere, l'obbiettivo principale era semplificare la modifica/temporizzazione/unione/taglio dei sottotitoli. E, se - diciamo - hai un sottotitolo SSA ma è temporizzato/ritardato male per la tua versione del filmato, fai semplicemente un mplayer dummy.avi -sub source.ssa -dumpmpsub . Un file `dump.mpsub` sarà creato nella directory corrente, che conterrà il testo sorgente del sottotitolo, ma nel formato MPsub. Quindi puoi liberamente aggiungere/levare secondi al/dal sottotitolo.

I sottotitoli sono visualizzati con una tecnica chiamata 'OSD', On Screen Display. OSD si usa per visualizzare il tempo attuale, la barra del volume, la barra della ricerca ecc.

### 1.4.2 Installare OSD e sottotitoli

Devi avere un pacchetto di font per MPlayer per essere in grado di usare la funzione di OSD/SUB. Ci sono molti modi per ottenerlo:

- scarica pacchetti di font pronti all'uso dal sito di MPlayer. Nota: i font attualmente disponibili sono limitati al supporto iso 8859-1/2, ma ci sono altri font (coreano, russo, 8859-8 ecc) nella sezione contrib/font dell' FTP, fatti dagli utenti. Il font dovrebbe avere un appropriato file font.desc che mappa le posizioni del font unicode alle vere code page del testo dei sottotitoli. Un'altra soluzione è quella di codificare i sottotitoli in utf8 e usare l'opzione -utf8 o solo rinominare il file del sottotitolo <video_name>.utf e posizionarlo nella stessa directory del file video. Registrare da diversi codepage a utf8 può essere fatto usando i programmi konwert (debian) o iconv (RedHat).
  Alcune URL:
  - ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/ - font ISO
  - ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/ - vari font dagli utenti
  - http://realtime.ssu.ac.kr/~lethean/mplayer/ - font coreani & RAW plugin
- usare il generatore di font in TOOLS/subfont-c Si tratta di un'utility completa per convertire da font TTF/Type1/ecc al pacchetto di font di mplayer. (leggi TOOLS/subfont-c/README per dettagli)
- usare il plugin per GIMP per generare i font in TOOLS/subfont-GIMP (nota: devi avere anche il plugin HSI RAW, vedi l'URL sotto)
- usare un carattere TrueType (TTF), per mezzo della libreria freetype. E' necessaria la versione 2.0.9 o superiore! Ci sono due metodi:
  - usare l'opzione `-font /path/to/arial.ttf` per specificare un file di carattere TrueType in ogni occasione
  - creare un link simbolico: `ln -s /path/to/arial.ttf ~/.mplayer/subfont.ttf`

Se hai scelto di non usare i caratteri TTF, decomprimi il file che hai scaricato in `~/.mplayer` o `$PREFIX/share/mplayer`. Quindi rinomina o crea un symlink tra una delle directory estratte e `font` (ad esempio : `ln -s ~/.mplayer/arial-24 ~/.mplayer/font`). Ora potrai vedere un timer nell'angolo in alto a sinistra del filmato (disattivabile col tasto 'o').

OSD ha 4 stati: (selezionabili con 'o')

(i sottotitoli sono sempre abilitati, per come disattivarli leggi la pagina man.

- barra volume + barra ricerca (predefinito)
- barra volume + barra ricerca + timer
- barra volume + barra ricerca + timer + durata totale del filmato
- solo sottotitoli

Puoi cambiare il comportamento di default settando la variabile `osdlevel=` nel file di configurazione, o con l'opzione `-osdlevel` sulla linea di comando.

### 1.4.3 Menu OSD

MPlayer ha una interfaccia di menu OSD completamente definibile dall'utente.

#### Installazione

1. compila MPlayer passando il parametro `--enable-menu` a `./configure`
2. assicurati di avere un carattere OSD installato
3. copia `etc/menu.conf` nella tua directory `.mplayer`
4. copia `etc/input.conf` nella tua directory `.mplayer` o nella directory di configurazione di MPlayer del sistema (default: `/usr/local/etc/mplayer`)
5. controlla e modifica `input.conf` per abilitare i tasti di movimento nel menu (è descritto nel file).
6. fai partire MPlayer come nel seguente esempio:
   `$ mplayer -menu file.avi`
7. premi qualunque tasto di menu che hai definito

## 1.5 RTC

Ci sono tre metodi di temporizzazione in MPlayer.

- Per usare il vecchio metodo, non devi fare nulla. Usa `usleep()` per regolare la sincronia A/V, con +/- 10ms di precisione. Comunque a volte la sincronia deve essere regolata anche meglio.
- Il nuovo codice per il timer usa l'RTC (Real Time Clock, orologio a tempo reale, ndt) del PC per questo compito, perchè è preciso fino a 1ms. E' abilitato automaticamente quando disponibile, ma necessita dei privilegi di root, di un binario MPlayer setuid root, o di un kernel appropriato.
  Se stai usando un kernel 2.4.19pre8 o successivo, puoi regolare la massima frequenza dell'RTC per gli utenti normali con il filesystem `/proc`. Per abilitare l'uso dell'RTC agli utenti normali usa:

  `echo 1024 > /proc/sys/dev/rtc/max-user-freq`

  Se non hai un kernel così recente, puoi anche cambiare una linea in `drivers/char/rtc.c` e ricompilare il kernel. Trova la sezione

            * We don't really want Joe User enabling more
            * than 64Hz of interrupts on a multi-user machine.
            */
            if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))

  e modifica il 64 in 1024. Fallo solo se sai cosa stai facendo.
  Si può vedere l'efficenza del nuovo timer nella riga di stato.
  Le funzioni di gestione energetica del BIOS di alcuni portatili con sistema speedstep possono interferire con l'RTC. Audio e video possono desincronizzarsi. Collegare l'alimentazione prima di accendere il portatile sembra aiutare. E' comunque possibile impedire l'uso dell'RTC con l'opzione `-nortc`. Con alcune combinazioni hardware (confermato con l'uso di un lettore DVD senza DMA su una scheda ALi1541) l'uso dell'RTC può causare scatti nella riproduuzione. In questi casi si consiglia l'uso del terzo metodo.
- Il terzo codice per il timer si attiva con l'opzione `-softsleep`. Ha l'efficienza dell'RTC, ma non usa l'RTC. D'altro canto, richiede più CPU.

Nota: MAI installare un binario MPlayer setuid su un sistema multiutente! E' un modo semplice per far ottenere a chiunque i privilegi di root.

# 2. Caratteristiche

## 2.1. Formati supportati

## 2.2. Codec supportati

## 2.3. Dispositivi di output Video e Audio

## 2.4. Input TV

Questa sezione spiega come abilitare la visualizzazione/cattura da un sintonizzatore TV compatibile con V4L.Vedi la pagina di man per le opzioni TV e i controlli via tastiera

### 2.4.1. Compilazione

- prima di tutto, devi ricompilare. `./configure` troverà automaticamente gli header del kernel dei dispositivi v4l, e controllerà l'esistenza dei /dev/video*. Se questi esistono, verrà compilato il supporto TV (controlla l'output di configure!).
- Assicurati che il tuo sintonizzatore funzioni con altri software in Linux, per esempio xawtv.

### 2.4.2. Consigli di utilizzo

La lista completa delle opzioni è disponibile nella pagina di man. Qui ci sono solo alcuni consigli:

- Usa l'opzione `channels`. Un esempio:
  `-tv on:channels=26-MTV1,23-TV2
  Spiegazione: usando questa opzione, solo i canali 26 e 23 saranno utilizzabili, e ci sarà un bel testo OSD quando si cambia canale, che mostra il nome del canale. Gli spazi nel nome del canale devono essere sostituiti col carattere "_".`
- Scegli delle corrette dimensioni dell'immagine. Le dimensioni dell'immagine risultante dovrebberoe essere divisibili per 16.
- Se catturi il video con risoluzione verticale più grande della metà della risoluzione piena (cioè 288 per PAL o 240 per NTSC), assicurati di aver abilitato il deinterlacing. Altrimenti otterrai un filmato distorto nelle scene con movimenti veloci e il controller del bitrate sarà probabilmente incapace di mantenere il bitrate specificato in quanto gli artifatti dell'interlacing producono un alto livello di dettaglio e quindi consumano molta banda. Si può abilitare il deinterlacing con `-vf pp=DEINT_TYPE`. Solitamente `pp=lb` fa un buon lavoro, ma può essere una questione di gusti personali. Quindi prova anche altri algoritmi di deinterlacing.
- Taglia via gli spazi morti. Quando catturi il video, le zone al bordi sono solitamente nere o contengono del rumore. Questo ancora consuma molta banda inutilmente. Più precisamente non sono le zone nere in se stesse, ma la netta transizione tra queste e la più chiara immagine del video che lo fa, ma non è importante per ora. Prima di iniziare la cattura, regola gli argomenti all'opzione `crop` in modo da eliminare tutte le schifezze ai margini. Di nuovo, non dimenticare di mantenere corrette le dimensioni risultanti.
- Controlla il carico della CPU. Non dovrebbe superare il 90% per la maggior parte del tempo. Se hai un grande buffer di cattura, MEncoder può sopravvivere ad un sovraccarico per pochi secondi ma niente di più. E' meglio disabilitare gli screensaver 3D OpenGL e cose simili.
- Non modificare l'orologio del sistema. MEncoder usa l'orologio del sistema per la sincronia A/V. Se modifichi l'orario (specialmente mettendolo indietro), MEncoder si confonde e si perderanno dei frame. Questa è una questione importante se sei connesso ad una rete ed esegui qualche software di sincronizzazione come NTP. Devi disabilitare NTP durante la cattura se vuoi che sia affidabile.
- Non cambiare l'`outfmt` a meno che tu non sappia cosa stai facendo o se la tua scheda/driver non supporta il default (colorspace YV12). Nelle vecchie versioni di MPlayer/MEncoder era necessario specificare il formato dell'output. La questione dovrebbe essere risolta nelle versioni attuali e `outfmt` non è più necessario, e il default si adatta alla maggior parte degli scopi. Per esempio, se stai creando un DivX usando libavcodec e specifichi `outfmt=RGB24` per migliorare la qualità delle immagini catturate, queste saranno in realtà converse di nuovo in quindi la sola cosa che otterrai sarà un'enorme spreco di CPU.
- Per specificare il colorspace I420 (`outfmt=i420`), devi aggiungere l'opzione `-vc rawi420` a causa di un conflitto fourcc con un codec video Intel Indeo.
- Ci sono diversi modi per catturare l'audio. Puoi prenderlo usando la scheda audio tramite una connessione tra la scheda video e il line-in, o usando l' ADC incluso nel chip bt878. Nell'ultimo caso devi caricare il driver btaudio. Leggi il file `linux/Documentation/sound/btaudio` (nell'albero del kernel, non in quello di MPlayer) per le istruzioni sull'uso di questo driver.
- Se MEncoder non riesce ad aprire il dispositivo audio, assicurati che sia veramente libero. Potrebbero esserci dei problemi con i server sonori come arts (KDE) o esd (GNOME). Se hai una scheda full duplex (quasi tutte le schede decenti lo supportano oggigiorno), e usi KDE, prova a controllare l'opzione "full duplex" nel menu delle preferenze del server sonoro.

2.4.3. Esempi

Output dummy, a AAlib :)
`mplayer -tv on:driver=dummy:width=640:height=480 -vo aa`
Input da standard V4L
`mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv`
Un esempio più complesso. In questo modo MEncoder cattura l'intera immagine PAL, taglia i margini, e fa il deinterlace dell'immagine usando un algoritmo di unione lineare. L'audio è compresso con un bitrate costante di 64kbps, usando il codec di LAME. Queste impostazioni sono adatte per catturare film.
`mencoder -tv on:driver=v4l:width=768:height=576 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
-oac mp3lame -lameopts cbr:br=64 \
-vf crop=720:544:24:16,pp=lb -o output.avi`
Questo in aggiunta ridimensiona l'immagine a 384x288 e comprime il video con un bitrate di 350kbps in modalità ad alta qualità. Nell'opzione vqmax manca il quantificatore e permette al compressore video di raggiungere veramente un così basso bitrate anche a spese della qualità. Questo può essere usato per catturare lunghe serie TV, dove la qualità video non è così importante.
`mencoder -tv on:driver=v4l:width=768:height=576 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
-oac mp3lame -lameopts cbr:br=48 \
-vf crop=720:540:24:18,pp=tn/lb,scale=384:288 -sws 1 -o output.avi`
E' anche possibile specificare dimensioni d'immagine più piccole nell'opzione `-tv` e non usare il ridimensionamento software ma questo approccio usa la massima informazione disponibile ed è più resistente ai disturbi. I chip bt8x8 possono fare la media dei pixel solo nella direzione orizzontale a causa di limitazioni hardware.

## 2.5 Edit Decision Lists (EDL)

Il sistema EDL permette di saltare o azzerare il volume automaticamente in sezioni del video durante la riproduzione, basandosi su un file di configurazione EDL specifico per il filmato.

Questo è utile per chi vuole vedere un film in modalità "bollino verde". Si può tagliare qualsiasi scena di violenza, empietà, Jar-Jar Binks .. da un film secondo le preferenze personali. A parte questo, ci sono altri usi, come saltare automaticamente le pubblicità.

Il formato file EDL è molto semplice. Quando il sistema EDL avrà raggiunto un certo livello di maturità, verrà probabilmente implementato un formato file basato su XML (mantenendo la compatibilità all'indietro coi precedenti formati EDL).

Il numero massimo di unità EDL nell'attuale incarnazione è 1000. Se per caso ne servono di più, si può cambiare `#define MAX_EDL_ENTRIES` nel file `edl.h`.

### 2.5.1 Usare un file EDL

Usa l'opzione `-edl <nomefile>` quando esegui MPlayer, col nome del file EDL che vuoi applicare al video.

### 2.5.2 Fare un file EDL

L' attuale formato per i file EDL è:

`[secondo di inizio] [secondo di fine] [azione]`

Dove i secondi sono numeri a virgola mobile e l'azione è `0` per saltare o `1` per azzerare il volume. Esempio:

    5.3   7.1    0
    15    16.7   1
    420   422    0

Questo salterà dal secondo 5.3 al secondo 7.1 del video, azzererà il volume tra 15 e 16.7 e saltare dal secondo 420 al 422. Queste azioni verranno intraprese quando il timer dela riproduzione raggiunge i tempi dati nel file.

Per creare un file EDL col quale lavorare, usa l'opzione `-edlout <filename>`. Durante la riproduzione, quandio vuoi segnare i precedenti due secondi da saltare, batti `i`. Un'entrata corrispondente verrà scritta nel file per quel tempo. Poi si può tornare indietro e regolare più finemente il file EDL generato.

# 3. Utilizzo

## 3.1. Linea di comando

MPlayer utilizza un complesso albero di opzioni. Questo è costituito da opzioni globali scritte prima (per esempio `mplayer -vfm 5`), e opzioni scritte dopo i nomi dei file, che si applicano solo al dato file/URL/qualsiasicosa (per esempio `mplayer -vfm 5 movie1.avi movie2.avi -vfm 4`). Si possono raggruppare nomifile/URL usando { e }. E' utile con l'opzione -loop: `mplayer { 1.avi -loop 2 2.avi } -loop 3` leggerà i file in questo ordine: 1 1 2 1 1 2 1 1 2

| file |  | `mplayer [opzioni] [percorso/]nomefile`
| file |  | `mplayer [opzioni di default] [percorso/]nomefile1 [opzioni per nomefile1] nomefile2 [opzioni per nomefile2] ...`
| VCD |  | `mplayer [opzioni] vcd://numtraccia [-cdrom-device /dev/cdrom]`
| DVD |  | `mplayer [opzioni] dvd://numtitolo [-dvd-device /dev/dvd]`
| rete |  | `mplayer [opzioni] http://sito.com/file.[mpg|avi] (si possono usare anche playlist)`
| RTSP |  | `mplayer [opzioni] rtsp://server.example.com/nomeStream`

Le ultime versioni di MPlayer accettano anche tracce VCD e DVD in stile URL, proprio come fa Xine: `mplayer dvd://1` o `mplayer vcd://1`

      mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
      mplayer vcd://2
      mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
      mplayer dvd://1 -dvd-device /dev/hdc
      mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

## 3.2. Controllo

MPlayer ha un livello di controllo totalmente configurabile che permette di controllare MPlayer usando la tastiera, il mouse, il joystick o un telecomando (usando LIRC). Guarda la pagina di man per la lista completa dei comandi da tastiera

### 3.2.1. Configurazione dei controlli

MPlayer ti permette di collegare qualsiasi tasto/bottone a qualsiasi comando di MPlayer usando un semplice file di configurazione. La sintassi consiste in un nome tasto seguito da un comando. La posizione di default del file di configurazione è $HOME/.mplayer/input.conf ma può essere cambiata con l'opzione -input conf (path relativi sono relativi a $HOME/.mplayer).

Esempio:

    ##
    ## 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

#### 3.2.1.1. Nomi tasti

Puoi ottenere la lista completa eseguendo "mplayer -input keylist"

#### Tastiera

- Qualsiasi carattere
- SPACE
- ENTER
- TAB
- CTRL
- BS
- DEL
- INS
- HOME
- END
- PGUP
- PGDWN
- ESC
- RIGHT
- LEFT
- UP
- DOWN

#### Mouse

Nota : il mouse è supportato solo sotto X

- MOUSE_BTN0 (Tasto sinistro)
- MOUSE_BTN1 (Tasto destro)
- MOUSE_BTN2 (Tasto centrale)
- MOUSE_BTN3 (Rotellina)
- MOUSE_BTN4 (Rotellina)
- ...
- MOUSE_BTN9

#### Joystick

Nota : il supporto al joystick deve essere abilitato quando si compila

- JOY_RIGHT o JOY_AXIS0_PLUS
- JOY_LEFT o JOY_AXIS0_MINUS
- JOY_UP o JOY_AXIS1_MINUS
- JOY_DOWN o JOY_AXIS1_PLUS
- JOY_AXIS2_PLUS
- JOY_AXIS2_MINUS
- ....
- JOY_AXIS9_PLUS
- JOY_AXIS9_MINUS

#### 3.2.1.2. Comandi

Puoi ottenere la lista completa eseguendo "mplayer -input cmdlist"

- seek (int) val [(int) type=0]

  Vai ad una posizione nel filmato.
  Il tipo 0 è una ricerca relativa di +/- val secondi.
  Il tipo 1 va a val % nel filmato.

- audio_delay (float) val

  Regola il ritardo audio di val secondi

- quit

  Chiude MPlayer

- pause

  Mette in pausa la riproduzione

- grap_frames

  Somebody know ?

- pt_step (int) val [(int) force=0]

  Vai alla prossima/precedente voce nella lista. Il segno di val determina la direzione.
  Se non c'è nessun altra voce nella direzione data non farà niente a meno che force sia diverso da 0.

- pt_up_step (int) val [(int) force=0]

  Come pt_step salta al prossimo/precedente nella lista superiore. Utile per rompere un loop interno nella lista.

- alt_src_step (int) val

  Quando è disponibile più di una sorgente seleziona quella successiva/precedente (supportato solo dalla lista asx).

- sub_delay (float) val [(int) abs=0]

  Regola il ritardo dei sottotitoli di +/- val secondi o impostalo a val secondi quando abs non è zero.

- osd [(int) level=-1]

  Abilita la modalità osd o impostala a level quando level > 0.

- volume (int) dir

  Aumenta/diminuisci il volume

- contrast (int) val [(int) abs=0]
- brightness (int) val [(int) abs=0]
- hue (int) val [(int) abs=0]
- saturation (int) val [(int) abs=0]

  Regola i parametri video. Il volore di val va da -100 a 100.

- frame_drop [(int) type=-1]

  Abilita la modalità di tralascio dei frame.

- sub_visibility

  Dis/abilita i sottotitoli.

- sub_pos (int) val

  Regola la posizione dei sottotitoli.

- vobsub_lang

  Cambia la lingua dei sottotitoli VobSub.

- vo_fullscreen

  Va alla modalità a pieno schermo.

- tv_step_channel (int) dir

  Seleziona il successivo/precedente canale tv.

- tv_step_norm

  Cambia il norm della TV.

- tv_step_chanlist

  Cambia lista dei canali.

- gui_loadfile
- gui_loadsubtitle
- gui_about
- gui_play
- gui_stop
- gui_playlist
- gui_preferences
- gui_skinbrowser

Azioni GUI

### 3.2.2. Controllo da LIRC

Linux Infrared Remote Control (Controllo remoto a infrarossi per Linux ndt) - usa un ricevitore IR fatto in casa, un (pressoche) arbitrario telecomando e controlla la tua linux box! Per saperne di più visita www.lirc.org.

Se hai installato il pacchetto lirc, configure lo troverà automaticamente. Se tutto è andato bene, MPlayer stamperà un messaggio come "Setting up lirc support..." quando viene avviato. Se avviene un errore te lo dirà. Se non ti dice nulla su LIRC non è stato compilato il supporto. Questo è quanto :-)

Il nome dell'applicazione per MPlayer è - oh, indovina - `mplayer`. Si possono usare tutti i comandi di mplayer e anche passarne più di uno separandoli con \n. Non dimenticare di abilitare la ripetizione per i pulsanti in .lircrc quando ha un senso (ricerca, volume, ecc). Ecco un estratto dal mio .lircrc:

    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 la posizione standard del file di configurazione di lirc (~/.lircrc) usa l'opzione -lircconf <nomefile> per specificare un altro file.

### 3.2.3. Modalità slave

La modalità slave ti permette di costruire un semplice frontend per MPlayer. Quando abilitato (con l'opzione -slave) MPlayer leggerà i comandi separati da una nuova linea (\n) dallo stdin.

## 3.3. Streaming dalla rete o da pipe

MPlayer può riprodurre file dalla rete, usando il protocollo HTTP, MMS o RTSP/RTP .

La riproduzione funziona aggiungendo semplicemente l'URL alla linea di comando. MPlayer può usare anche la variabile d'ambiente http_proxy, e usa il proxy se disponibile. L'utilizzo del proxy può anche essere forzato :

`mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf`

MPlayer può leggere dallo standard input (NON da named pipe). Questo può essere per esempio usato per riprodurre da FTP:

`wget ftp://micorsops.com/qualcosa.avi -O - | mplayer -`

Nota: si consiglia anche di abilitare la CACHE quando si legge da rete:

`wget ftp://micorsops.com/qualcosa.avi -O - | mplayer -cache 8192 -`

# 4. Sezione FAQ (Domande frequenti ndt)

# 5. Sezione CD/DVD

# 6. Vari Sistemi Operativi

## 6.1 Linux

La piattaforma di sviluppo principale è Linux su x86, anche se MPlayer funziona su molti altri port di Linux. Pacchetti binari sono disponibili da varie fonti. Comunque, nessuno di questi pacchetti è supportato. Segnalate i problemi agli autori del pacchetto, non a noi.

### 6.1.1 Pacchetti Debian

Per costruire il pacchetto, esegui il seguente comando nella directory dei sorgenti di MPlayer:

        fakeroot debian/rules binary

Da root ora puoi installare il pacchetto `.deb` come al solito:

        dpkg -i ../mplayer_<versione>.deb

Christian Marillat sta facendo dei pacchetti non ufficiali di MPlayer, MEncoder e di font, puoi prenderli dalla sua homepage.

### 6.1.2 Pacchetti RPM

Dominik Mierzejewski ha creato e mantiene i pacchetti RPM ufficiali su Red Hat. Ha impacchettato MPlayer, la GUI, i caratteri, le skin, parecchi driver e codec. Sono disponibili dalla sua homepage.

Gli RPM per Mandrake sono disponibili dalla P.L.F). SuSE include una versione "censurata" di MPlayer nella sua distribuzione. Se vuoi tutte le funzionalità devi compilare MPlayer dai sorgenti.

### 6.1.3 ARM

MPlayer funziona sui PDA con CPU ARM, quali Sharp Zaurus e Compaq Ipaq. il metodo più semplice consoste nel prendere i pacchetti da uno dei feed OpenZaurus. Se vuoi compilarlo da solo, guarda le directory mplayer e libavcodec nella directory buildroot della distribuzione OpenZaurus. Qui trovi sempre gli ultimi Makefile e patch per compilare la CVS di MPlayer con libavcodec.
Se ti serve una GUI, puoi utilizzare xmms-embedded.

## 6.2. *BSD

MPlayer funziona su FreeBSD, OpenBSD, NetBSD, BSD/OS e Darwin. Ci sono versioni ports/pkgsrc/fink/ecc di MPlayer disponibili che sono probabilmente più facili da usare dei nostri sorgenti crudi.

Per compilare MPlayer devi avere il make GNU (gmake, il make nativo di BSD non funzionerà) e una versione recente delle binutils.

Se MPlayer lamenta di non trovare `/dev/cdrom` o `/dev/dvd` fai un link simbolico: `ln -s /dev/(tuo_cdrom) /dev/cdrom`

Per usare le DLL Win32 con MPlayer dovrai ricompilare il kernel con "`option USER_LDT`" (a meno che tu non stia usando FreeBSD -CURRENT, dove questo è il default).

### 6.2.1 FreeBSD

Se la tua CPU ha l'SSE ricompila il kernel con "options CPU_ENABLE_SSE" per utilizzarlo (richiesto FreeBSD-STABLE, o una patch del kernel).

### 6.2.2 OpenBSD

A causa di limitazioni in differenti versioni di `gas` (rilocazione vs MMX), dovrai compilare in due passaggi: prima assicurati che l'`as` non nativo è il primo nel tuo `$PATH` e fai un `gmake -k`, poi fai in modo che venga usata la versione nativa e fai `gmake`.

## 6.3. Solaris

MPlayer dovrebbe funzionare su Solaris 2.6 o più recente.

Su UltraSPARC, MPlayer si avvantaggia delle loro estensioni VIS (equivalenti a MMX), attualmente solo con libmpeg2, libvo e libavcodec, ma non con mp3lib. Puoi vedere un file VOB su una CPU a 400Mhz. Necessita mLib installato.

Per compilare il pacchetto devi avere GNU make (gmake, /opt/sfw/gmake), il make nativo di Solaris non funzionerà. Errore tipico che si ottiene compilando col make di solaris al posto del GNU make:

       % /usr/ccs/bin/make
       make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

Su Solaris SPARC, devi avere il compilatore GNU C/C++; non ha importanza se il compilatore GNU C/C++ è configurato con o senza l'assembler GNU.

Su Solaris x86, devi avere l'assembler GNU e il compilatore GNU C/C++, configurato per usare l'assembler GNU! Il codice dell'mplayer sulla piattaforma x86 fa un uso pesante di MMX, SSE e 3DNOW! Istruzioni che non possono essere compilate usando l'assembler della Sun `/usr/ccs/bin/as`.

Lo script di configurazione tenta di scoprire quale programma assembler è usato dal tuo comando "gcc" (in caso che la rilevazione automatica fallisse, usa l'opzione "--as=/dove/hai/installato/gnu-as" per dire allo script di configurazione dove può trovare "as" GNU sul tuo sistema).

Messaggio d'errore dalla configurazione su un sistema Solaris x86 usando GCC senza assembler GNU:

       % configure
       ...
       Checking assembler (/usr/ccs/bin/as) ... , failed
       Please upgrade(downgrade) binutils to 2.10.1...

(Soluzione: Installa e usa un gcc configurato con "--with-as=gas")

Errore tipico che si ottiene nel compilare con un compilatore GNU C che non usa as GNU:

       % gmake
       ...
       gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
    	-fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
       Assembler: mplayer.c
       "(stdin)", line 3567 : Illegal mnemonic
       "(stdin)", line 3567 : Syntax error
       ... more "Illegal mnemonic" and "Syntax error" errors ...

A causa di bug in solaris 8, non è possibile riprodurre in modo affidabile DVD con una capacità >4GB:

- Il driver sd(7D) su solaris 8 x86 ha un bug nell'accesso a blocchi disco >4GB su un dispositivo che usa un blocksize logico != DEV_BSIZE (cioè CDROM e DVD). A causa di un 32bit int overflow, accede ad un indirizzo disco modulo 4GB. (http://groups.yahoo.com/group/solarisonintel/message/22516)

  Questo problema non esiste nella verisone SPARC di Solaris 8.

- Un simile bug è presente nel codice del filesystem hsfs(7FS) (cioè ISO9660), l'hsfs potrebbe non supportare partizioni/dischi >4GB, l'accesso a tutti i dati è modulo 4GB (http://groups.yahoo.com/group/solarisonintel/message/22592)

  Il problema con hsfs può essere risolto installando la patch 109764-04 (sparc)/ 109765-04 (x86).

Su Solaris con CPU UltraSPARC, si può ottenere maggiore velocità usando le istruzioni VIS della CPU per certe operazioni che impiegano molto tempo. L'accelerazione VIS può essere usata in MPlayer richiamando funzioni nella mediaLib di Sun.

Operazioni VIS accelerate da mediaLib sono usate per la decodifica video mpeg2 e per la conversione del color space nei driver di output video.

## 6.4. Silicon Graphics / IRIX

Puoi provare ad installare il programma `install` GNU, e (se non lo inserisci nel tuo path globale) poi puntare alla sua locazione con:

      ./configure --install-path=PATH

O puoi usare l'`install` fornito di default con IRIX 6.5 nel qual caso dovrai modificare leggermente il Makefile. Cambia le seguenti due linee:

      $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1

      $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf

in:

      $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/

      $(INSTALL) -m 644 codecs.conf $(CONFDIR)/

Quindi fai (dalla directory dei sorgenti di MPlayer):

      cp DOCS/mplayer.1 . ; cp etc/codecs.conf .

e poi procedi normalmente con la compilazione e l'installazione.

## 6.5. QNX

Funziona. Bisogna scaricare SDL per QNX, e installarlo. Quindi esegui MPlayer con le opzioni `-vo sdl:photon` `-ao sdl:nto`, e dovrebbe essere veloce.

L'output `-vo x11` è ancora più lento che in Linux, perchè QNX ha solo l'emulazione X che è MOLTO lenta. Usate l'SDL.

## 6.6. Cygwin

Il port a Cygwin è ancora immaturo. Attualmente non c'è il supporto per le DLL Win32 e l' OpenGL. L'SDL distorce il suono e l'immagine oppure va in crash su alcuni sistemi. Le patch sono sempre le benvenute. I risultati migliori si ottengono con il driver di output video DirectX nativo (`-vo directx`) e con il driver audio nativo di Windows (`-ao win32`). Dovresti anche guardare la mailing list mplayer-cygwin per avere aiuto e per le ultime informazioni.

Devi andare nella directory di MPlayer, e copiare o creare un link simbolico `etc/cygwin_inttypes.h` a `/usr/include/inttypes.h` per far compilare MPlayer.

Per ottenere la riproduzione DirectX nativa (`-vo directx`), estrai i file header di DirectX 7 in `/usr/include/` o `/usr/local/include/` e ricompila. Se l'immagine è distorta, prova a levare l'accelerazione hardware con `-vo directx:noaccel`.

Istruzioni e file per far andare l'SDL sotto Cygwin si trovano sul sito libsdl.

Puoi vedere i VCD riproducendo i file `.DAT` o `.MPG` che Windows mostra sui VCD. Fai così (usa la lettera del tuo drive CD-ROM):

`mplayer d:/mpegav/avseq01.dat`

`mplayer /cygdrive/d/MPEG27AVSEQ01.MPG`

Anche i DVD funzionano, basta impostare il dispositivo DVD con la lettera del drive CD-ROM:

`mplayer dvd://<title> -dvd-device '\\.\d:'`

ci è stato riferito che le DLL di QuickTime sembrano funzionare. Compila con `--enable-qtx-codecs` e metti i codec nella posizione predefinita per le DLL, cioè `C:\WINNT\system32` o `C:\Windows\system` a seconda della versione di windows in uso.

# 7. Codifica con MEncoder

# Appendice A - Le mailing list

Esistono alcune mailing list pubbliche su MPlayer. La lingua delle liste sopra è l'INGLESE, a meno che non sia specificato altrimenti. Per favore non mandate messaggi in altre lingue o mail in HTML! Il limite per la grandezza dei singoli messaggi è 80k. Se hai qualcosa di più grande mettilo da qualche parte per il download. Clicca sui link per iscriverti. Sulle mailing list si applicano le stesse regole di usenet per scrivere e quotare. Per favore rispettatele, rendono la vita di quelli che leggono le vostre mail molto più facile. Se non le conosci per favore leggi HOWTO edit messages o (se hai fretta) Quoting HOWTO.

- Lista degli annunci di MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-announce
  Lista per gli annunci su MPlayer. Iscriviti se vuoi avere gli annunci delle nuove caratteristiche.
- Lista MPlayer per sviluppatori:
  http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng

  Questa lista riguarda lo sviluppo di mplayer! Qui si discutono i cambiamenti di interfaccia/API, nuove librerie, ottimizzazione del codice, cambiamenti in ./configure, e le patch mandate. NON inviare qui segnalazioni di bug, domande "da utente", richieste di caratteristiche, flame! Questa lista dovrebbe essere mantenuta con un basso livello di traffico.

- Lista utenti MPlayer:
  http://mplayerhq.hu/mailman/listinfo/mplayer-users

  - mandate qui segnalazioni di bug (dopo aver letto la sezione Bug conosciuti, e come segnalare bug)
  - mandate qui le richieste di caratteristiche (dopo aver letto l'INTERA documentazione)
  - mandate qui le vostre domande in quanto utenti (dopo aver letto l'INTERA documentazione)
- Lista degli utenti ungheresi:
  http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok

  - lista in lingua ungara
  - argomenti? Lo vedremo... soprattutto flame e domande evitabili finora :(
- Utenti MPlayer & Matrox G200/G400/G450/G550:
  http://mplayerhq.hu/mailman/listinfo/mplayer-matrox

  mandate qui domande inerenti matrox

  - questioni riguardanti mga_vid
  - driver beta ufficiali di matrox (per X 4.x.x)
  - e su matroxfb-TVout.
- Utenti MPlayer & schede DVB:
  http://mplayerhq.hu/mailman/listinfo/mplayer-dvb

  Questioni inerernti le schede di decodifica hardware chiamate DVB.(NON dxr3!)

- MPlayer CVS-log:
  http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog

  Mandate qui domande solo sui cambiamenti CVS. (se non capite perchè una certa modifica è necessaria o se avete una correzione migliore o avete notato dei possibili bug/problemi nella patch mandata) Assicuratevi che lo sviluppatore cui vi riferite legga questa lista!

- Lista sul porting di MPlayer su Cygwin: http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin
  Lista per discussioni sul port di MPlayer su Cygwin.
- Lista sul porting di MPlayer su OS/2: http://mplayerhq.hu/mailman/listinfo/mplayer-os2
  Lista per discussioni sul port di MPlayer su OS/2.
- Lista per le notizie settimanali degli editori e dei traduttori di MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-mwn
  Lista per discussioni sulle notizie settimanali.

NOTA: si possono raggiungere gli archivi delle mailing list qui.

# Appendice B - Come segnalare i bug

# Appendice C - Bug conosciuti

Bug/problemi speciali relativi al sistema/cpu:

- SIGILL (segnale 4) su P3 con kernel 2.2.x:
  Problema: i kernel 2.2.x non hanno un appropriato (funzionante) supporto SSE
  Soluzione: aggiorna il kernel a 2.4.x
  Aggiramento: ./configure --disable-sse
- Generale SIGILL (segnale 4):
  Problema: hai compilato ed eseguito mplayer su macchine diverse (per esempio compilato su P3 ed eseguito su celeron)
  Soluzione: compila MPlayer sulla stessa macchina dove lo userai!
  Aggiramento: usa le opzioni ./configure --disable-sse ecc.
- "Internal buffer inconsistency" durante l'esecuzione di MEncoder:
  Problema: problema conosciuto quando lame è stato compilato con gcc 2.96 o 3.x, nessuna correzione ancora.
  Aggiramento: compila lame col gcc 2.95. Assicurati di rimuovere tutti i pacchetti lame installati, possono essere stati compilati col gcc 2.96 .
- Il suono in formato MP2/MP3 si sente male su PPC:
  Problema: bug conosciuto di GCC su piattaforme PPC, non è stato ancora corretto.
  Aggiramento: usa il decoder MP1/MP2/MP3 di FFmpeg (lento) (`-ac ffmpeg`)
- sig11 in libmpeg2, quando si codifica e contemporaneamente si ridimensiona:
  Problema: bug MMX conosciuto di GCC 2.95.2, aggiorna a 2.95.3.

Vari problemi audio e di sincronizzazione A-V:

Ritardo generale dell'audio o suono saltellante (presente con tutti o molti file):

- il più comune: driver audio bacato! - prova ad usare driver diversi, prova l'emulazione OSS di ALSA 0.9 con -ao oss, prova anche -ao sdl, a volte aiuta. Se il file è letto bene con -nosound, allora puoi essere sicuro che è un problema (del driver) della scheda sonora.
- problemi del buffer audio (grandezza del buffer riconosciuta male)
  Aggiramento: l'opzione mplayer -abs
- problemi di frequenza di campionamento - probabilmente la tua scheda non supporta la frequenza di campionamento usata nei tuoi file - prova il plugin di ricampionamento (-aop)
- macchina lenta (cpu o vga)
  prova con -vo null, se funziona bene, allora hai una scheda/driver VGA lenta
  Aggiramento: compra una scheda più veloce o leggi questa documentazione su come velocizzare le cose
  Prova anche -framedrop
- driver audio difettoso

Ritardo/desincronizzazione audio relativa a uno o più file:

- file danneggiato
  Aggiramento:
  - opzione -ni o -nobps (per file senza interleave o corrotti)
  e/o
  - -mc 0 (necessario per file con audio VBR mal intervallato)
  e/o
  - opzione -delay o tasti +/- durante la riproduzione per regolare il ritardo
  Se nulla di questo aiuta, per favore mandaci il file, controlleremo (e correggeremo).
- la tua scheda sonora non supporta la riproduzione a 48Khz
  Aggiramento: compra una scheda migliore... o prova a diminuire l'fps del 10% (usa -fps 27 per un filmato a 30fps) o usa il plugin di ricampionamento
- macchina lenta
  (se A-V non è circa 0, e l'ultimo numero nella riga di stato aumenta)
  Aggiramento: -framedrop

Nessun suono:

- il tuo file usa un codec audio non supportato
  Aggiramento: leggi la documentazione e aiutaci ad aggiungerne il supporto

Nessuna immagine (solo una finestra grigia/verde):

- il tuo file usa un codec video non supportato
  Aggiramento: leggi la documentazione e aiutaci ad aggiungerne il supporto
- il codec selezionato automaticamente non riesce a leggere il file, prova con un altro usando le opzioni -vc o -vfm
- stai cercando di leggere file DivX 3.x col decoder opendivx o XviD (-vc odivx) - installa Divx4Linux e ricomplila mplayer

Problemi di output video:

Prima nota: le opzioni -fs -vm e -zoom sono solo suggerimenti, non sono (ancora) supportate da tutti i driver. Quindi non è un bug se non funzionano. Solo pochi driver supportano il ridimensionamento/zoom, non aspettartelo per x11 o dga.

Tremolio OSD/sub:
- driver x11: spiacente, non può essere corretto ora
- driver xv: usa l'opzione -double

Immagine verde usando mga_vid (-vo mga / -vo xmga):
- mga_vid ha riconosciuto male la quantità di RAM della tua scheda, ricaricalo usando l'opzione mga_ram_size

# Appendix D - Come diventare un famoso SkinMaker in 5 minuti!

# Appendix E - Lamentele degli sviluppatori

# Appendix F - Come inviare patch