Portál AbcLinuxu, 1. listopadu 2025 00:15
MPlayer je zcela jistě jedním z nejlepších multimediálních přehrávačů (nejen) pod Linuxem. Skýtá nepřeberné množství nastavení, což je velká výhoda, ale při čtení manuálové stránky se leckomu může zamotat hlava. Nabízím zde tedy některé rady a tipy, které mohou přijít vhod...
Nejdříve vám ukáži vlastní konfiguraci ~/.mplayer/config a pak vysvětlím jednotlivá nastavení. Používám ji na svém HTPC (ale s menší obměnou i na desktopu a notebooku):
# Audio ao = "alsa:device=spdif" ac = "hwdts,hwac3," channels = 6 #af = volnorm # Video vo = "gl:yuv=4:lscale=1" #vo = xv vf = "pp=hb/vb/dr/al,expand=:::::16/9" monitoraspect = 16:9 #vfm = ffmpeg #lavdopts = "fast=1:skiploopfilter=all" double = yes framedrop = yes cache=8192 # Subtitles fontconfig = yes font = "Arial" subcp = cp1250 subfont-text-scale = 3
A nyní tedy slíbené vysvětlení:

Snad tato nastavení budou pro někoho z vás užitečná 
UPDATE: Opravil jsem volbu lavdopts = "fast:skiploopfilter=all" na lavdopts = "fast=1:skiploopfilter=all". Na příkazové řádce to fungovalo jak má (sám tuto volbu používám ze skriptu pouze na Full HD videa), ale v konfiguráku musí to "=1" být.
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
 11.9.2008 19:43
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
        11.9.2008 19:43
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
         .
Sice je trochu náročnější na HW, ale mám dost starý počítač, takže si myslím že na novém počítači by to nemělo být znát.
Přidám tedy pár voleb z mého configu:
Barva titulků (momentálně žlutá):
.
Sice je trochu náročnější na HW, ale mám dost starý počítač, takže si myslím že na novém počítači by to nemělo být znát.
Přidám tedy pár voleb z mého configu:
Barva titulků (momentálně žlutá):
vo=gl:osdcolor=0xffff66Obrys titulků (jsou pak čitelné i na světlém pozadí):
ffactor=10Jinak jsem taky narazil na ass titulky a na ty platí jiná nastavení, takže:
ass=true ass-font-scale=2 ass-bottom-margin=100 (titulky se zobrazí v černém pruhu pod filmem) ass-use-margins=true subcp=1250 (klasické titulky mají subcp=cp1250, ale u ass to nefunguje)
 11.9.2008 20:14
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
        11.9.2008 20:14
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
         11.9.2008 20:59
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
        11.9.2008 20:59
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
         .
Jinak ta volba gl:yuv=4:lscale=1 se na konzumaci procesoru mplayerem nijak nepodepsala (měřil jsem pomocí top).
.
Jinak ta volba gl:yuv=4:lscale=1 se na konzumaci procesoru mplayerem nijak nepodepsala (měřil jsem pomocí top).
             11.9.2008 21:00
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
        11.9.2008 21:00
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
         .
.
            #koecko: hlasitost MOUSE_BTN3 volume +5 MOUSE_BTN4 volume -5 MOUSE_BTN3_DBL volume +5 MOUSE_BTN4_DBL volume -5 #prostredni tlacitko: pauza MOUSE_BTN1 pause #levy dvojklik: prepinani fullscreenu MOUSE_BTN0_DBL vo_fullscreen #kolecko s podrzenym pravym tlacitkem: posun o +/- 10s MOUSE_BTN2-MOUSE_BTN3 seek +10 MOUSE_BTN2-MOUSE_BTN4 seek -10 MOUSE_BTN2-MOUSE_BTN3_DBL seek +10 MOUSE_BTN2-MOUSE_BTN4_DBL seek -10 #kolecko s podrzenym levym tlacitkem: posun o +/- 1min MOUSE_BTN0-MOUSE_BTN3 seek +60 MOUSE_BTN0-MOUSE_BTN4 seek -60 MOUSE_BTN0-MOUSE_BTN3_DBL seek +60 MOUSE_BTN0-MOUSE_BTN4_DBL seek -60 #F1: pomer stran 4:3 F1 switch_ratio 1.3333 #F2: pomer stran 16:9 F2 switch_ratio 1.7777 #F3: pomer stran 2.47 F3 switch_ratio 2.37
 12.9.2008 17:55
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
        12.9.2008 17:55
Prcek             | skóre: 43
            
             | Jindřichův Hradec / Brno
         .
.
            -vf expand=:-100::50
100 je výška horního i spodního pruhu dohromady, 50 výška horního (na spodní se použije zbytek).
 Je to onen filter "expand=:::::16/9", o kterém v blogpostu také píši.
 Je to onen filter "expand=:::::16/9", o kterém v blogpostu také píši.
             11.9.2008 19:40
elenril             | skóre: 21
             | blog: Raziel
        11.9.2008 19:40
elenril             | skóre: 21
             | blog: Raziel
            
        ao=alsa vo=xv:adaptor=1,xv,x11Standardně použije XVideo adaptér 1, což je v mém případě overlay (zabraňuje tearingu).
monitoraspect=4:3 ass=1 embeddedfonts=1Zapne vykreslování grafických ASS titulků pomocí libass a použije fonty přibalené k mkv souborům.
fontconfig=1 subfont-autoscale=1 alang=jpn,jp,ja sid=0 slang=eng,cze,csAutomaticky vybere japonskou audio stopu a anglické, případně české titulky. Pokud nejsou k dispozici, pak použije první dostupné titulky.
vf=ass,screenshot stop-xscreensaver=1 lirc=0 msgcolor=1 msgmodule=1 xineramascreen=0Umožní típání screenů klávesou s, přičemž titulky se na nich zobrazí
[aac51] channels=6 af=channels=6:6:0:5:1:0:2:1:3:2:4:3:5:4:6:6,hrtf=mMplayer umí i profily, stačí přidat do konfiguráku název profilu v hranatých závorkách a při přehrávání jej zapnout přes
-profile profil1,profil2,...
Tenhle konkrétní profil používám s některými AAC soubory s divným pořadím kanálů, filtr channels přehází kanály do správného pořadí a filtr hrtf je na virtualizaci prostorového zvuku ve sluchátkách
[vo.x11] zoom=1Další moc hezká a relativně nová featura - automatické načítání profilů v závislosti na video/audio výstupu, protokolu, nebo příponě. Tady zapínám softwareové škálování video při použití video výstupu X11 (bez hw akcelerace)
[intel] ao=alsa:device=intel mixer=intelBěžně používám externí USB zvukovku, ale občas chci zvuk z vestavěných reproduktorů, takže tento profil použije zařízení a mixer integrované Intel HDA.
[notebook] monitoraspect=16/10 profile=intelVětšinou mám notebook připojen k externímu 4:3 monitoru, ve vzácných případech kdy ne, použiju tenhle profil. Všimněte si, že profily se dají zanořovat.
#[extension.wmv] #vfm=ffmpeg [extension.mp3] demuxer=lavfLibavformat zvládá unicode v ID3 tazích, interní demuxer ne :)
[coreavc] vc=coreavc demuxer=mkvPro MPlayer existuje patch, který umožňuje použití dekoderu CoreAVC. Ten bude s nadcházejícím začleněním obecného frame-level multithreadingu do FFmpegu zbytečný, ale zatím je to jediný způsob, jak na slabších vícejádrových CPU přehrávat HD h.264 video.
Pro MPlayer existuje patch, který umožňuje použití dekoderu CoreAVC. Ten bude s nadcházejícím začleněním obecného frame-level multithreadingu do FFmpegu zbytečný, ale zatím je to jediný způsob, jak na slabších vícejádrových CPU přehrávat HD h.264 video.S tímto nemohu souhlasit. Volby
vfm = ffmpeg a lavdopts = "fast:skiploopfilter=all" vedou k obrovskému zrychlení dekódování H.264 videa a nemám s nimi nejmenší problém přehrát ani Full HD 1080p videa v H.264 s vysokým bitratem (a to nemám žádné dělo, je to AMD Athlon X2 4850e na 2,5 GHz). Komerční CoreAVC není potřeba.
             11.9.2008 20:41
elenril             | skóre: 21
             | blog: Raziel
        11.9.2008 20:41
elenril             | skóre: 21
             | blog: Raziel
            
        fast:skiploopfilter=all zanedbatelný. Ale rozložení práce na obě jádra, jak to umí CoreAVC pomáhá.
            fast (MPEG-2, MPEG-4, and H.264 only)
    Enable optimizations which do not comply to the specifi-
    cation  and  might potentially cause problems, like sim-
    pler dequantization, simpler motion compensation, assum-
    ing use of the default quantization matrix, assuming YUV
    4:2:0 and skipping a few checks to detect  damaged  bit-
    streams.
skiploopfilter=<skipvalue> (H.264 only)
    Skips the loop filter (AKA deblocking) during H.264  de-
    coding.  Since the filtered frame is supposed to be used
    as reference for decoding dependent frames  this  has  a
    worse  effect  on  quality  than not doing deblocking on
    e.g. MPEG-2 video.  But at least for high  bitrate  HDTV
    this  provides  a  big  speedup  with no visible quality
    loss.
    <skipvalue> can be either one of the following:
        none: Never skip.
        default: Skip useless processing steps (e.g.  0  size
                 packets in AVI).
        nonref: Skip frames that are not referenced (i.e. not
                used for decoding  other  frames,  the  error
                cannot "build up").
        bidir: Skip B-Frames.
        nonkey: Skip all frames except keyframes.
        all: Skip all frames.
I dle mých zkušeností to fungovalo s jakýmkoliv Full HD H.264 videem co jsem zkoušel.
Jinak je tam i volba "threads=<1-8>", takže jí můžete zkusit k tomu přidat. Ale je u ní uvedeno, že funguje pouze pro MPEG-1/2 (ale třeba to už rozšířili i pro MPEG-4/H.264, kdo ví?).
             V blogpostu to opravím.
V blogpostu to opravím.
             11.9.2008 22:12
elenril             | skóre: 21
             | blog: Raziel
        11.9.2008 22:12
elenril             | skóre: 21
             | blog: Raziel
            
         11.9.2008 21:28
Grunt             | skóre: 23
             | blog: Expresivní zabručení
             | Lanžhot
        11.9.2008 21:28
Grunt             | skóre: 23
             | blog: Expresivní zabručení
             | Lanžhot
        Libavformat zvládá unicode v ID3 tazích, interní demuxer neLavf je interní a zbytek jsou externí knihovny, ne?
channels=6:6:0:4:1:0:2:1:3:2:4:3:5:5Stejné mapování kanálů platí podle manuálové stránky MPlayeru i pro DTS zvuk (neověřoval jsem, používám DTS passthrough přes SPDIF do receiveru s vlastním DTS dekodérem). Zajímavé také je, že zvuk kódovaný ve WMA DMO kodeku by měl mít údajně opět jiné mapování kanálů, konkrétně toto:
channels=6:6:0:0:1:1:2:4:3:5:4:2:5:3To ovšem nemůžu ověřit, žádný takový soubor (naštěstí) nemám
 Podle jedněch stránek by toto mapování mělo snad platit i pro Dolby TrueHD zvuk (ale s tím jsem se také ještě nesetkal, takže taktéž nemohu ověřit).
 Podle jedněch stránek by toto mapování mělo snad platit i pro Dolby TrueHD zvuk (ale s tím jsem se také ještě nesetkal, takže taktéž nemohu ověřit).
            channels=6:6:0:0:1:2:2:3:3:5:4:1:5:4Ale v manuálové stránce MPlayeru se jak jsem již psal uvádí to samé jako pro AAC, nikoliv toto, tak nevím co je správně (sám jsem to nezkoušel a ani to nemám v plánu, není nad digitální kvalitu v podobě DTS passthrough
 ).
).
             Podle všeho má opravdu DTS stejné uspořádání kanálů jako AAC. Takže tohle jiné uspořádání bude zřejmě nesmysl, nevím kde k tomu ten člověk přišel.
 Podle všeho má opravdu DTS stejné uspořádání kanálů jako AAC. Takže tohle jiné uspořádání bude zřejmě nesmysl, nevím kde k tomu ten člověk přišel.
            
monitorpixelaspect=1
coz nastavi pomer odpovidajici aktualnimu rozliseni, tj. ctvercovy pixel (skoro vsechny LCD maji ctvercovy pixel).
            Vše funguje jenom při posunování videa to chrčí v repráku a hází to hlášku : mdb:44, lastbuf:0 skipping granule 0 (to 1. číslo se mění podle toho kam až to posunu) kromě toho, že vyskočí ta hláška, tak se nic neděje film jede dál bez problému
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.