Mplayer

Z openSUSE wiki

Grafika:Niekompletny.png Ten artykuł jest niekompletny i wymaga rozbudowy. Szczegóły można znaleźć na stronie dyskusji.

MPlayer jest jednym z najpopularniejszych odtwarzaczy multimediów dla linuksa. Jest wieloplatformowy, bardzo szybki oraz bardzo konfigurowalny. Mimo, iż posiada nakładki takie jak GMPlayer, SMPlayer czy KMPlayer, to jego możliwości najwidoczniejsze są przy uruchamianiu go z konsoli.

Spis treści


Instalacja

Pakiet z programem znajduje się w repozytorium PackMan. Oprócz samego odtwarzacza w pakiecie MPlayer znajduje się również nakładka graficzna (gmplayer), narzędzie od enkodowania filmów (mencoder) oraz skrypt do konwersji filmów do formatu SVCD i VCD (mencvcd). W celu obsługi większej ilości formatów audio i wideo należy jeszcze zainstalować pakiet w32codec-all zawierający windowsowe kodeki których mplayer (oraz inne odtwarzacze działające na linuksie, takie jak xine) nie obsługuje natywnie.

Konfiguracja MPlayera

MPlayer trzyma pliki konfiguracyjne w katalogu ~/.mplayer, oddzielnie dla każdego użytkownika oraz globalnie w /etc/mplayer. Plik zawierający konfigurację dla konsolowej wersji MPlayera to ~/.mplayer/config. Konfigurując MPlayera należy pamiętać o priorytecie opcji:

  1. opcje podane w konsoli,
  2. konfiguracja użytkownika,
  3. ustawienia globalne.

Wyjścia Video

Aby użyć wyjścia video, innego niż domyślne, należy do polecenia mplayer dodać opcję -vo wraz z nazwą wyjścia. Przykład:

mplayer -vo x11 plik.mpg

W celu wybrania jakiegoś wyjścia video jako domyślne, należy w pliku konfiguracyjnym MPlayera (.mplayer/config) dodać linijkę:

vo=wybrane_wyjście_video

xv

Podstawowe i domyślne wyjście MPlayera używające przyśpieszenia sprzętowego. Używaj go, jeśli działa poprawnie w Twoim systemie.

x11

Programowe wyjście video. Jest znacznie wolniejsze od poprzedniego i nie skaluje filmu do pełnego ekranu przy naciśnięciu klawisza f - rozwiązaniem tego może być opcja -vm, zmieniająca rozdzielczość ekranu na odpowiadającą filmowi. Mimo tych wad, to wyjście ma kilka zalet: bez problemu działa z menadżerami okien takimi jak compiz, beryl czy innymi używającymi rozszerzenia composite, na zrzutach ekranu widać klatkę z filmu (a nie niebieski prostokąt) oraz działa z niektórymi kartami nie obsługującymi przyśpieszenia sprzętowego na 2 monitorze.

gl, gl2

Następne wyjścia video, tym razem używające OpenGL. Według dokumentacji MPlayera mają gorszą wydajność od xv. Niemniej, mogą być przydatne - np. przy oglądaniu filmu na dwóch monitorach podpiętych do karty intela. Największa zaleta tego wyjścia to umieszczanie napisów na dole ekranu/okna przy powiększeniu obrazu - bez żadnych specjalnych ustawień pozwala to wyświetlać napisy na "czarnym pasku".

mga/xmga

Grafika:Uwaga.png Uwaga: MPlayer dostępny w repozytorium packman nie wspiera wyjść mga/xmga.

Wyjścia xmga (dla X'ów) i mga (konsolowe) działają tylko z kartami Matrox G200/G400/G450/G550. Są bardzo wydajne, lecz uruchomienie ich nie jest łatwe. Żeby to zrobić, należy mieć zainstalowane pakiety: gcc, make oraz kernel-source. Następnie trzeba ściągnąć źródła mga_vid z http://attila.kinali.ch/mga/ (dla openSUSE 10.2 to będzie to archiwum nazwane mga_vid-2.6.18-2006-09-27.tar.gz), rozpakować je:

tar -zxvf mga_vid-2.6.18-2006-09-27.tar.gz # lub inna wersja

przejść do nowo utworzonego katalogu (w tym przypadku to będzie mga_vid-2.6.18), a w nim wydać polecenie:

make

oraz później, z uprawnieniami administratora:

make install

null

"Zerowe" wyjście video. Prosty sposób na odtwarzanie tylko dźwięku z filmów, choć jeśli istnieje taka potrzeba jest lepiej używać opcji -novideo.

Wyjścia Audio

Aby użyć wyjścia audio, innego niż domyślne, należy do polecenia MPlayer dodać opcję -ao wraz z nazwą wyjścia. Przykład:

mplayer -ao esd plik.ogg

W celu wybrania jakiegoś wyjścia audio jako domyślne, należy w pliku konfiguracyjnym MPlayera (.mplayer/config) dodać linijkę:

ao=wybrane_wyjście_audio

oss

OSS (Open Sound System) stary system obsługi dźwięku w Linuksie. Używaj tego wyjścia tylko wtedy, gdy Twoja karta dźwiękowa nie współpracuje z ALSA lub masz problemy z wyjściem ALSA.

alsa

ALSA (Advanced Linux Sound Architecture) jest domyślnym systemem dźwięku w jądrach serii 2.6, kompatybilnym z poprzednim - OSS. Używaj tego wyjścia, jeśli używasz ALSY. Wyjścia opisane poniżej są zwykle nieprzydatne.

arts, esd, pulse

Wyjścia używające serwerów dźwięku aRts (domyślny w KDE 3.x) i ESD(domyślny w GNOME) oraz [PulseAudio] (począwszy od 11.0, domyślny w GNOME). Są przydatne tylko dla użytkowników wspomnianych środowisk graficznych, ale lepiej używać wyżej opisanego wyjścia audio.

Grafika:Uwaga.png Uwaga: MPlayer dostępny w repozytorium PackMan nie posiada wsparcia dla wyjścia pulse. Ze względu na emulacje ESD, użytkownikom GNOME zaleca się używanie wyjścia esd

jack

W porównaniu do dwóch poprzednich, JACK jest rozwiązaniem profesjonalnym. Wyjście to będzie działać tylko w przypadku gdy uruchomiony jest serwer dźwięku jack.

null

"Zerowe" wyjście audio. Prosty sposób na odtwarzanie filmu bez dźwięku, choć jeśli istnieje taka potrzeba jest lepiej używać opcji -nosound.

Napisy

Wybór czcionki

Żeby oglądać film z napisami w wybranej czcionce TrueType należy do katalogu konfiguracyjnego MPlayera skopiować zawierający ją plik który znajduje się w katalogu /usr/share/fonts/truetype. Jego nazwa powinna być zmieniona na subfont.ttf.

Lepiej jednak utworzyć dowiązanie symboliczne do konkretnej czcionki w /usr/share/fonts/truetype. Na przykład, dla czcionki DejaVu Sans wygląda to tak:

ln -s /usr/share/fonts/truetype/DejaVuSans.ttf ~/.mplayer/subfont.ttf

Problem kodowania pliku z napisami można rozwiązać na co najmniej dwa sposoby:

Pierwszy sposób - zmiana kodowania pliku z napisami

W systemach Windows powszechną stroną kodową znaków jest Windows-1250 (znane też jako CP-1250), popularnym standardem ISO jest ISO-8859-2 a openSUSE domyślnie używa kodowania UTF-8, będącego najlepszym rozwiązaniem pośród wymienionych tutaj kodowań. Z powodu tych różnic wynikają problemy takie jak brak lub zniekształcone "polskie znaki" w filmach z napisami - MPlayer oczekuje UTF-8. Na szczęście, łatwo pozbyć się tego problemu - najłatwiej jest to zrobić konwertując pliki z napisami za pomocą konsolowego programu iconv.

Najpierw należy rozpoznać kodowanie napisów, na przykład używając polecenia file:

file napisy.txt

Dla kodowania CP-1250 wynik wygląda tak:

napisy.txt: Non-ISO extended-ASCII text, with CRLF line terminators

Jeśli to ISO-8859-2 , wynik będzie taki:

napisy.txt: ISO-8859 text, with CRLF line terminators

Zwykle niespotykany UTF-8 da taki rezultat:

napisy.txt: UTF-8 Unicode text, with CRLF line terminators

Po rozpoznaniu czas na działanie.

iconv -f kodowanie_pliku_z_napisu -t docelowe_kodowanie plik_z_napisami > wynik

Czyli dla pliku napisy.txt w kodowaniu CP-1250 należy przeprowadzić taką operacje:

iconv -f CP1250 -t UTF-8 napisy.txt > wynik.txt

Pojawi się plik wynik.txt zawierający napisy zakodowane w UTF-8.

Grafika:Wskazówka.png Wskazówka: Jeśli nadal pojawiają się znaki zapytania zamiast polskich znaków, należy dodać opcję -utf8 do polecenia mplayer.
mplayer -utf8 film.avi -sub napisy_do_filmu.txt
Drugi sposób - zmiana oczekiwanego kodowania od pliku z napisami

Można też podać opcję -subcp z odpowiednim argumentem, zamiast konwertować kodowania plików z napisami.

mplayer film.avi -sub napisy_do_filmu.txt -subcp cp1250

Przy częstym używaniu nietypowego kodowania najlepiej jest dopisać w pliku konfiguracyjnym dopisać linijkę (tutaj kodowanie to cp1250):

subcp=cp1250

Używanie napisów

Następnym krokiem jest zmiana nazwy pliku z napisami, na taką samą jak ma film (z wyjątkiem rozszerzenia). Przykładowo jeśli film nazywa się:

fajny_film.avi

to plik z napisami powinien nazywać się:

fajny_film.txt

Oczywiście, można to zrobić w inny sposób - wystarczy podać po opcji -sub nazwę pliku z napisami, na przykład:

mplayer film.avi -sub napisy_do_filmu.txt

MPlayer nie ma również problemów z obsługą napisów zawartych na DVD albo w plikach (np. *.mkv). Informacje o dostępnych napisach MPlayer wyświetla po otworzeniu pliku/płyty, np:

[mkv] Track ID 3: subtitles (S_TEXT/ASS) "ASS", -sid 0, -slang eng

W tym wypadku, w celu wyświetlenia napisów wystarczy dopisać opcje -sid 0 lub -slang eng.

SSA/ASS

SSA/ASS to formaty napisów posiadające duże możliwości formatowania tekstu - kolorowanie, obracanie, itp. Są bardzo popularne wśród grup fansuberskich, a MPlayer w pełni obsługuje je po dodaniu opcji -ass do linii poleceń.

mplayer film.mkv -sid 0 -ass

Dość przydatna jest opcja -ass-font-scale, skalująca rozmiar czcionki o podaną wartość. W poniższym przykładzie rozmiar czcionki będzie dwa razy większy od ustalonego w pliku z napisami.

mplayer film.mkv -sid 0 -ass -ass-font-scale 2

W plikach mkv często są wbudowane czcionki używane w stylach napisów SSA/ASS. Chcąc ich użyć należy podać opcję -embeddedfonts.

mplayer film.mkv -sid 0 -ass -ass-font-scale 2 -embeddedfonts

Ścieżki dźwiękowe

Wiele ścieżek dźwiękowych

Procedura jest podobna do napisów "wbudowanych" w DVD czy mkv, należy odtworzyć DVD/plik i obejrzeć komunikaty wyświetlane w konsoli, np:

[Ogg] stream 1: audio (Vorbis), -aid 0, -alang eng
[Ogg] stream 2: audio (Vorbis), -aid 1, -alang jpn

Parametr -aid lub -alang z odpowiednią wartością odpowiada za język ścieżki dźwiękowej w filmie.

Ilość kanałów

MPlayer bez problemu może odgrywać dźwięk na wiele kanałów, wystarczy podać opcje -channels z odpowiednim argumentem:

2
dla dźwięku w systemie stereo
4
dla dźwięku w systemie surround
6
dla dźwięku w systemie 5.1

Używanie MPlayera

Filmy DVD, VCD, SVCD...

W przeciwieństwie do plików np. ściągniętych z internetu, do odtwarzania filmów DVD/VCS/SVCD nie podaje się ścieżki do pliku. Zamiast tego, podaję się opcję dvd:// (filmy na DVD) lub vcd:// (filmy na VCD/SVCD).

mplayer cdda://
mplayer vcd://

Usuwanie przeplotu

Niektóre filmy dostępne na płytach DVD-Video/VCD/SVCD mają przeplot, zwykle nie wyglądają najlepiej na komputerze. Na szcześcię, MPlayer bez problemu poradzi sobię z tą niedogodnością - jednym ze sposobów jest dopisanie opcji -vf pp=fd dvd://:

mplayer -vf pp=fd dvd://
Grafika:Wskazówka.png Wskazówka: Porównanie różnych metod pozbywania się przeplotu w mplayerze jest dostępne tutaj.

Sceny

Domyślnie MPlayer wyświetla pierwszą scenę (ang. chapter), w celu zmiany tego zachowania wystarczy dopisać numer rozdziału po dvd://:

mplayer dvd://4

CD-Audio

Odtwarzanie płyt CD-Audio sprowadza się do podania cdda:// zamiast scieżki pliku.

mplayer cdda://