Extrémní spouštění MPlayeru

Na počátku vzniku tohoto skriptu stál dotaz jednoho mého kamaráda, jak dosáhnout vyšší kvality obrazu videa přehrávaného MPlayerem, pokud je obraz hodně zmenšený, a proč mu nejde ovládat jas a kontrast. K tomu pak přidal požadavek spustit přehrávání filmu tak, aby se okno rovnou otevřelo v určité malé velikosti, na určitém místě a pokud možno bez rámu/dekorace okna, prostě jen samotný obraz videa.

MPlayer si dokáže se všemi výše zmíněnými požadavky poradit S VÝJIMKOU POSLEDNÍHO - odstranění rámu okna má na starosti desktop manažer. Proto bylo nutné volání MPlayeru obalit skriptem.

	mplayer -vo x11 -zoom -sws 2 -xy 150 -geometry 100%:100% -vf eq2,hue -ontop -really-quiet soubor.avi

Tolik k nastavení parametrů MPlayeru. Zbývá už jen odstranit rám okna s videem, na to však musíme využít display manažer. V prostředí KDE (a možná i GNOME a některých dalších) k tomu použijeme příkaz kstart:

    kstart --style Dock příkaz
Za příkaz dosadíme celou naši syntaxi mplayeru a máme hotovo. SKORO. Brzy zjistíte několik nepříjemných vlastností použití kstart. První je, že bez rámu okna se obraz posune až do pravého dolního rohu bez ohledu na dolní panel, který ho tak překryje. To snadno opravíme změnou parametrů, např. na -geometry 100%:95%. Použitý typ zobrazení okna (Dock) dále neumožňuje oknem posouvat. MPlayer ukončíte tak, že kliknete do obrazu a stisknete klávesu [Q]. Obraz MPlayeru se přes kstart spustí bez zaměření (focus).

kstart má ale jednu hlavní nepříemnou vlastnost - pokud mplayeru předáte více souborů k postupnému přehrání (např. *.avi apod.), kstart začne spouštět najednou jedno okno za druhým, podle toho, kolik video souborů má MPlayer postupně přehrát. Proto jsem volání kstart mplayer obalil krátkým shellovým sktiptem, který tuto nepříjemnou vlastnost ošetří. Skript si uložte nejlépe do adresáře /bin/ ve vašem domovském adresáři. Jeho použití je prosté:

	minimplayer.sh *.avi
pro přehrání všech .avi souborů v aktuálním adresáři.

Teď se koukneme na zoubek skriptu, pro lepší popis jsem očísloval řádky:

	1.  for SOUBOR in $@; do
	2.    kstart --type Dock mplayer -vo x11 -zoom -sws 2 -xy 150 -geometry 100%:100% -vf eq2,hue -ontop -really-quiet $SOUBOR;
	3.    while killall -SIGCONT mplayer; do
	4.      sleep 2;
	5.    done
	6.  done
První řádek zajistí opakování volání mplayeru podle počtu souborů k přehrání.
Druhý řádek už známe...
Třetí řádek zjišťuje, jestli mplayer stále běží. Pokud ano, pokračuje na řádku 4, kde čeká 2 vteřiny a pak se řádkem 5 vrací na řádek 3 a znovu testuje, zda mplayer běží a tak pořád dokola. Pokud ovšem mplayer již neběží, pokračuje se na řádek 6, kde dojde buď k návratu na řádek 1 (pokud je ve frontě další soubor k přehrání), nebo skript končí.

Tak a pohádky je konec :-)


LINUX

malá ikona

Počítadlo z http://pocitadlo.netway.cz/