Spis treści
Jeżeli instalujesz Mplayera po raz pierwszy: koniecznie przeczytaj wszystko, stąd do końca sekcji Instalacja i prześledź linki, które znajdziesz po drodze. Jeśli będziesz miał jakieś inne jeszcze pytania, wróć do spisu treści i wyszykaj odpowiedni temat, przeczytaj FAQ lub spróbuj przegrepować pliki dokumentacji pod kątem swojego problemu.
Podstawowa zasada dokumentacji: jeśli coś nie jest udokumentowane, to to nie istnieje. Jeśli nie powiem ci, że możesz kodować dźwięk z tunera TV, to nie możesz. Zdrowa dawka pomysłowości jest jednak mile widziana. Życzę dużo szczęścia. Będziesz go potrzebował :)
MPlayer jest odgrywarką filmów pod LINUXem (działa pod wieloma innymi Unixami, i systemami opartymi na innych procesorach niż x86, zobacz sekcja 6). Wyświetla większość plików MPEG, VOB, AVI, OGG, VIVO, ASF/WMV, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, korzystając z wielu własnych, XAnim oraz Win32 DLL kodeków. Możesz również oglądać VideoCD, SVCD, DVD, 3ivx, a nawet filmy DivX (i nie potrzebujesz wcale biblioteki avifile!). Kolejną dużą zaletą mplayera jest szeroki wachlarz sterowników wyjścia. Mplayer działa z X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, ale możesz też korzystać z GGI i SDL (i w ten sposób z wielu sterowników dostarczanych przez SDL), a także z niskopoziomowych sterowników specyficznych dla danej karty (Matrox, 3Dfx i Radeon)! Większość dostępnych sterowników wspiera programowe i sprzętowe skalowanie, możesz więc cieszyć się oglądaniem filmów w trybie pełnoekranowym. MPlayer obsługuje wyświetlanie poprzez pewne sprzętowe karty dekodujące MPEG , takie jak DVB i DXR3/Hollywood+ ! A co powiesz na ładne, duże, antyaliasowane i cieniowane napisy (wspieranych jest 10 typów!!!) z europejskim ISO 8859-1,2 (węgierskimi, angielskimi, czeskimi itd.), cyrylicą, koreańskimi fontami oraz OSD?
MPlayer jest oparty na licencji GPL v2.
Moja odgrywarka jest wybitnie dobra w odgrywaniu uszkodzonych plików MPEG (co jest użyteczne w pewnych VCD), a także odgrywa złe pliki AVI, które są nie do odtworzenia przy użyciu słynnego windows media player. Nawet pliki AVI bez indeksowania są odgrywane i możesz tymczasowo przebudować ich indeksy za pomocą opcji -idx, albo na stałe, za pomocą MEncoder, co umożlliwia przeszukiwanie. Jak widzisz, stabilność i jakość, to rzeczy najważniejsze, ale prędkość jest również zadziwiająca.
Wszystko zaczęło się rok temu... Ja, A'rpi, próbowałem wielu odgrywarek pod linuxa (mtv,xmps,dvdview,livid/oms,videolan, xine, xanim, avifile, xmmp), ale wszystkie miały jakieś wady, głównie dotyczące odtwarzania plików specjalnych oraz synchronizacji obrazu i dźwięku. Większość z nich nie potrafi odgrywać plików w obu formatach MPEG1/2 i AVI (DivX). Wiele z nich miało również problemy z jakością obrazu lub prędkością. Postanowiłem więc napisać nowy lub zmodyfikować jeden z tych programów...
W tym rozdziale spróbuję przeprowadzić cię przez proces kompilacji i konfiguracji MPlayera. Nie jest to proste, ale też niekoniecznie musi być trudne. Jeśli zaobserwujesz inne zachowanie, niż to, które opiszę, proszę, przeszukaj tą dokumentację, a znajdziesz wyjaśnienie. Kiedy zobaczysz linki, przeczytaj uważnie dokumenty, które one wskazują. Zajmie ci to trochę czasu, ale warto to zrobić.
Potrzebna ci będzie dość nowa wersja systemu. W Linuksie zalecane są jądra 2.4.x.
WYMAGANE OPROGRAMOWANIE
KODEKI
KARTY GRAFICZNE
Ogólnie istnieją dwa rodzaje kart graficznych. Jeden rodzaj, to karty (nowsze) posiadające obsługę sprzętowej akceleracji skalowania i YUV, czego nie posiadają pozostałe karty.
KARTY YUV
Potrafią one wyświetlać i skalować (zoom) obrazki do dowolnego rozmiaru, jaki mieści się w ich pamięci, z małym zużyciem CPU (zooming nie zwieksza go!), dzięki czemu masz bardzo szybkie pełnoekranowe odtwarzanie.
Karty bez YUV
Pełnoekranowe odgrywanie może być osiągnięte albo przez zooming
programowy (uzyj opcji -zoom, ale ostrzegam cię: to jest zbyt wooolne!),
albo przez zmianę, na mniejszy, trybu video (videomode), np. na 352x288. Jeśli
nie masz akceleracji YUV, to rekomendowana jest ta druga metoda. Za pomocą
MPlayera, można to włączyć za pomocą opcji -vm
z
następującymi sterownikami:
KARTY DŻWIĘKOWE
WŁAŚCIWOŚCI
usleep()
, aby dostroić A/V sync, z
dokładnością +/- 10ms. Jakkolwiek, czasami synchronizacja musi być dostrojona
nawet lepiej. Nowy kod zegara w tym celu RTC (Real Time Clock) komputera,
ponieważ ma on precyzyjność taką, jak zegary 1ms. Wymaga to uprawnień roota
(ew. setuid root) dla binariów MPlayera (lub drobnych zmian w
jądrze, ale to jest odradzane). Możesz zobaczyć wydajność nowego zegaraa w lini
statusu. Trzeci kod zegara jest włączany za pomocą opcji
-softsleep
. Ma on wydajność RTC, ale nie używa RTC.
Z drugiej strony, zużywa on więcej CPU. Uwaga: NIGDY nie instaluj binariów
MPlayera, jako setuid w systemie wielu użytkowników! To prosta droga dla
każdego, by zdobyć uprawnienia roota.Następnie zbuduj MPlayera:
./configure make make install
Na tym etapie MPlayer jest gotowy do używania. Katalog
/usr/local/share/mplayer
zawiera plik codecs.conf
,
który jest używany, aby poinformować program o wszystkich kodekach i ich
możliwościach. Ten plik powinien być zawsze uaktualniany wraz z biblioteką
main!
Sprawdź czy masz codecs.conf w katalogu domowym
(~/.mplayer/codecs.conf) pozostały po starych wersjach MPlayera i usuń go!
Użytkownicy Debiana mogą samodzielnie budować pakiety .deb, to bardzo
proste. Po prostu wywołaj fakeroot debian/rules binary
w głównym
katalogu MPlayera. Szczegółowe instrukcje można znaleźć tu.
ZAWSZE przeglądaj komunikaty z ./configure oraz zawartość
pliku configure.log
, możesz tam znaleźć informacje o tym, co
zostanie zbudowane, a co nie. Możesz również przejrzeć pliki config.h i
config.mak.
Jeśli masz jakieś biblioteki zainstalowane, ale nie zostały one
wykryte podczas ./configure, wówczas sprawdź, czy masz również odpowiednie
pliki nagłówkowe (zazwyczaj pakiety -dev) i czy zgadzają się ich wersje. W
pliku configure.log znajdziesz informację o tym, czego brakuje.
Choć to nie jest niezbędne, fonty powinny być zainstalowane, aby można było osiągnąć funkcjonalność OSD i napisy. Ściągnij mp-arial-iso-8859-*.zip i/lub opcjonalnie (jeśli istnieją) uaktualnienia językowe. BARDZO ZALECANE jest sprawdzenie szczegółów w sekcji 1.5.
mkdir ~/.mplayer/font cd ~/.mplayer/font unzip mp-arial-iso-8859-1.zip
GUI wymaga GTK (nie jest ono napisane w GTK, ale panele są). Skórki są przechowywane
w formacie PNGt, więc gtk i libpng (oraz ich części devel) muszą być zainstalowane.
Możesz zbudować GUI specyfikując --enable-gui
podczas ./configure .
Jest kilka sposobów na włączenie trybu GUI:
-gui
gui=yes
w pliku konfiguracyjnymln -s /usr/local/bin/mplayer /usr/local/bin/gmplayer
i używaj gmplayer
.
WSKAZÓWKA: użyj środkowego przycisku myszki (w 2 przyciskowych myszkach wciśnij prawy i lewy przycisk jednocześnie), aby wywołać menu GTK, z opcją odgrywania DVD!
Ponieważ MPlayer nie zawiera skórek, musisz ściągnąć je, jeżeli
chcesz używać GUI. Zobacz
stronę download.
Skórki powinny być rozpakowane do typowego ogólnodostępnego katalogu
systemowego (/usr/local/share/mplayer/Skin
), lub do
$HOME/.mplayer/Skin
. MPlayer domyślnie szuka w tych
katalogach katalogu o nazwie default, ale możesz za pomocą opcji
-skin newskin, bądź dyrektywy skin=newskin w pliku
konfiguracyjnym wskazać użycie skórki z katalogu
*/Skin/newskin
.
MPlayer możę wyświetlać napisy wraz z plikami z filmami. Aktualnie obsługiwane są następujące formaty:
Napisy VobSub
Napisy VobSub składają się z dużego (kilka MB) .SUB i opcjonalnie z plików
.IDX oraz/lub .IFO.
Sposób użycia: jeśli masz pliki w rodzaju:
sample.sub
, sample.ifo
, sample.idx
- musisz podać opcje: -vobsub sample
-vobsubid<id>
(opcjonalnie ze ścieżką dopliku, oczywiście). Opcja
-vobsubid
jest odpowiednikiem opcji -sid
dla DVD. Z
tą opcją możesz wybierać wersję językową z dostępnych ścieżek napisów.
Inne formaty napisów
Inne formaty napisów składają się z pojedynczego pliku tekstowego,
zawierającego taktowanie, miejsce i tekstową informację.
Sposób użycia: jeśli masz pliki w rodzaju: sample.txt
,
- musisz podać opcję: -sub sample.txt
(opcjonalnie ze ścieżką dopliku, oczywiście).
Dostrajanie taktowania i rozmieszczenia napisów
-subdelay <sec>
: opóźnia napisy o <sec> sekund.
Może mieć ujemną wartość.
-subfps <rate>
: wyznacza współczynnik frame/sec pliku z napisami (liczba zmiennoprzecinkowa)
-subpos <0 - 100>
: wyznacza umiejscowienie napisów.
Jeśli zaobserwujesz rosnące opóźnienie napisów w stosunku do filmu, podczas
używania pliku z napisami MicroDVD, najprawdopodobniej frame rate filmu i napisów są inne.
Musisz wiedzieć, że format napisów MicroDVD stosuje całkowitą numerację klatek
do taktowania i dlatego opcja -subfps
nie może być stosowana do
tego formatu. Ponieważ MPlayer nie ma możlliwości odgadnięcia frame
rate pliku z napisami, musisz ręcznie przekonwertować frame rate napisów. Mały
skrypt w perlu znajduje się w katalogu contrib
na stronie ftp
MPlayera. Za jego pomocą można dokonać tej konwersji.
O napisach DVD przeczytać możesz w sekcji DVD.
MPlayer wprowadza nowy format napisów zwany MPsub. Został on zaprojektowany przeze mnie (Gabucino). Oznacza to przede wszystkim tyle, że jego podstawową cechą jest dynamiczniy tryb time-based (chociaż posiada on również tryb frame-based). Przykład (z DOCS/tech/mpsub.sub):
# pierwsza liczba : czekaj tyle sekund po zniknięciu porzedniego napisu
# druga liczba : wyświetlaj aktualny napis przez tyle sekund
15 3
A long, long time ago...
0 3
in a galaxy far away...
0 3
Naboo was under an attack.
A więc widzisz, że głównym celem było uczynienie napisów łatwymi w
edycji/taktowaniu/łaczeniu/obcinaniu. I jeżeli, powiedzmy, dostaniesz do
swojej wersji filmu napisy SSA, ale źle taktowane/opóźnione, wywołaj po prostu:
mplayer dummy.avi -sub source.ssa -dumpmpsub . Plik
dump.mpsub
będzie stworzony w aktualnym katalogu i będzie zawierał
źródłowy text napisów, ale w formacie MPsub. Wówczas możesz już w
dowolny sposób dodawać/usuwać sekundy do/z napisu.
Napisy są wyświetlane w technice nazywanej 'OSD', On Screen Display. OSD jest stosowane do wyświetlania aktualnego czasu, paska głośności, paska przeszukiwania itp.
INSTALACJA OSD i SUB
Potrzebny ci będzie pakiet z fontami MPlayera, aby móc korzystać z właściwości OSD/SUB. Jest wiele sposobów, aby je zdobyć:
Potem rozpakuj pliki, które ściągnąłeś, do ~/.mplayer
lub
$PREFIX/share/mplayer
. Następnie zmień nazwę lub stwórz link
symboliczny do jednego z nich o nazwie font
(np. tak: ln -s
~/.mplayer/arial-24~/.mplayer/font
).
Teraz powinieneś zobaczyć zegar w lewym górnym rogu ekranu (wyłączysz to za
pomocą klawisza 'o').
OSD ma 3 stany: (przełączane za pomocą 'o')
Możesz zmienić domyślne zachowanie, ustawiając zmienną osdlevel=
w pliku konfiguracyjnym.
2.3. Urządzenia wyjścia dla obrazu i dźwięku.
2.4. MEncoder - uniwersalny koder
2.5.1. O zagadnieniu
To jest sekcja o tym, jak włączyć oglądanie/nagrywanie z użyciem tunera TV komatybilnego z V4L .
2.5.2. Kompilacja
./configure
automatycznie wykryje nagłówki jądra związane z v4l oraz wejścia
/dev/video*. Jeśli one istnieją, obsługa TV będzie utworzona (zobacz komunikaty
configure!).Wskazówka: czy kolory są prawidłowe? Jeśli nie, to znaczy, że twój
tuner nie potrafi wyświetlać w modelu kolorów YV12. Spróbuj I420 (musisz użyć
także opcji -vc rawi420
!) lub w modelach YUY2, UYVY, RGB32 (tutaj
zastosuj opcję -vo sdl
). Możesz to wyspecyfikować za pomocą opcji
outfmt=YV12
, zobacz poniżej.
2.5.3. Dostępne opcje
on | użyj wejścia TV | ||
noaudio | dzięki, żadnego dźwięku | ||
driver |
dummy - wejście TV jest NULL :) Używane tylko do testów, generuje
wejście dummy. v4l - zgrywa obrazki ze standardowego interfejsu V4L (domyślnie /dev/video0 ) |
||
device | określ inne niż domyślne /dev/video0
urządzenie |
||
input | podaj, z jakiego wejścia tunera TV chcesz odbierać
(np.television,
s-video, composite, ...) Dostępne wejścia są wypisywane przy inicjalizacji. |
||
freq | określ częstotliwość, aby ustawić tuner (np. 511.250) | ||
outfmt | w jakim formacie wyjściowym tuner powinien
przetransportować obrazy do nas (rgb32, rgb24, yv12,
uyvy, i420 (dla i420 musisz podać opcję -vc
rawi420 , z powodu konfliktu fourcc)) |
||
width | szerokość w pikselach okna wyjściowego | ||
height | wysokość w pikselach okna wyjściowego | ||
norm | dostępne: PAL, SECAM, NTSC | ||
channel | ustaw tuner na podany kanał | ||
chanlist | dostępne: us-bcast, us-cable, europe-west,
europe-east, itp. |
2.5.4. Sterowanie z klawiatury
h lub l | przełącz poprzedni/następny kanał | ||
n | zmień normę | ||
b | zmień listę kanałów | ||
2.5.5. Przykłady
Wyjście Dummy, dla AAlib :)
mplayer -tv on:driver=dummy:width=640:height=480 -vo aa
Wejście ze standardowego V4L
mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv
2.6. Filtry obrazu
2.6.1. O zagadnieniu
Zarówno MPlayer jak i MEncoder umożliwiają użycie universal video filter layer, który składa się z wielu wtyczek - wymienionych i wyjaśnionych poniżej. Te wtyczki mogą wykonywać różne operacje na obrazie takie, jak przeskalowanie, obcięcie obrazu za pomocą czarnych pasów (użyteczne nie tylko przy kodowaniu, ale również przy odgrywaniu, ponieważ czarne pasy zwiększają użycie szyny i odcięcie ich może zwiększyć szbkość odgrywania przy wolnych kartach), rozszerzenie obrazu (dla SVCD).
Z tym layer'em filtrów możliwe jest przeprowadzenie szybkiej konwersji formatu obrazu
pomiędzy różnymi RGB i YUV, jeśłi to konieczne. Umożliwia on między innymi odgrywanie
danych RGB na wyjściach xv
i xmga
(zobacz filtr
Scale).
Layer również wykonuje Direct Rendering pomiędzy wtyczkami, aby zmaksymalizować prędkość.
Zauważ, że kod postprocessing'u jest teraz również częścią layer'a. Będzie to wyjaśnione poniżęj.
2.6.2. Użycie
mplayer/mencoder -vf filter1,filter2,filter3,...
Ustawia kolejkę filtrów (możęsz użyć dowolnej liczby filtrów). Parametry filtrów są opcjonalne i jeśli się je pominie, niektóre z nich będą ustawione na domyślne wartości, jak x i y są obie ustawiane na środek ekranu, a szerokość i wysokość - na szerokość i wysokość filmu.
2.6.3. Crop
Opis:
Odcina podana część obrazu i odrzuca resztę. Użyteczne do usuwania czarnych pasów w filmach szerokoekranowych.
Użycie:
-vf crop[=width:height:x:y]
2.6.4. Expand
Opis:
Rozszerza (NIE skaluje) rozdzielczość filmu do podanej wartości i umieszcza nieprzeskalowany oryginalny obraz w x y. W filmach, które tego nie mają, można dodać dzięki temu filtrowi czarne pasy. Jest to dobre, gdy tworzy się SVCD, albo w przypadku użycia wyjścia obrazu na SDL, dzięki czemu można na czarnych pasach umieścić napisy.
Użycie:
-vf expand[=width:height:x:y]
2.6.5. Fame
Opis:
Koder MPEG1 czasu rzeczywistego (do stosowania z DVB/DXR3).
Użycie:
-vf fame
2.6.6. Flip
Opis:
Zwyczajnie odwraca obraz. Użyteczny w pewnych starych kodekach, które mogą mieć na wyjściu jedynie odwrócone obrazy (jest to automatycznie wykrywane).
Użycie:
-vf flip
2.6.7. Format
Opis:
Ten filtr NIE jest konwerterem formatu obrazu. On jedynie wymusza format obrazu, który ma być użyty w następnym filtrze (lub libvo).Użyteczny przy kartach z wolnym YV12, jak tdfx i Savage4. Dla rzeczywistej konwersji użyj filtru scale.
Użycie:
-vf format[=format]
(where
format
can be for example: rgb32, yuy2, etc...)
2.6.8. Postprocess
Opis:
To jest nasz stary dobry postprocess, tylko przekonwertowany na filter layer.
Poprawia jakość obrazu, deinterlacing, itp., zobacz
-npp help
w celu obejrzenia dostępnych opcji.
Użycie:
-vf pp[=postprocess options/keywords]
2.6.9. RGB2BGR
Opis:
Powoduje konwersje przestrzeni kolorów RGB 24/32 <-> BGR 24/32 (zachowanie domyślne) lub konwersję RGB 24/32 <-> RGB 24/32 oraz R<->B swapping (z opcją 'swap')
Użycie:
-vf rgb2bgr[=swap]
2.6.10. Rotate (obroty)
Opis:
Obraca (odwraca) obraz. Parametr 'x' (wrtości: 0-3) kontroluje poziome i pionowe obdbijanie.
Użycie:
-vf rotate[=x]
2.6.11. Scale (skalowanie)
Opis:
Skaluje obraz za pomocą programowego skalera (powolne). Możesz dostosować
jakość skalera za pomocą opcji -sws
- zobacz stronę manuala.
Dobra jakość powoduje straty na prędkości.
UWAGA:: użycie tego filtru bez opcji oznbacza konwersję przestrzeni kolorów! To jest wygodne dla kodeków, które nie mogą wyprowadzać wyników w żądanym formacie dla podanego użądzenia wyjściowego video. Są one zazwyczaj automatycznie wykrywane i filtr skalujący jest wywoływany w celu konwersji. W innym przypadku możesz go użyć ręcznie.
Użycie:
-vf scale[=szerokość:wysokość]
2.6.13. YUY2
Opis:
Wymuszona konwersja programowa YV12/I420 do YUY2.
Użycie:
-vf yuy2
2.6.13. Lavc
Opis:
Koder MPEG1 czasu rzeczywistego (do stosowania z DVB/DXR3).
Użycie:
-vf lavc
MPlayer używa complex playtree. Zawiera ono globalne opcje zapisane
jako pierwsze (np.: mplayer -vfm 5
) jak i opcje zapisane za
nazwami plików, które są stosowane tylko do podanych plików/URL/czegokolwiek
(np.: mplayer -vfm 5 movie1.avi movie2.avi -vfm 4
).
Możesz
pogrupować nazwy plików / adresy URL używając { i }. To jest użyteczne wraz z
opcją -loop: mplayer { 1.avi -loop 2 2.avi } -loop 3
odtworzy
pliki w kolejności: 1 1 2 1 1 2 1 1 2
file | mplayer [opcje] [path/]filename |
||
files | mplayer [default opcje] [path/]filename1 [opcje
dla filename1] filename2 [opcje dla filename2] ... |
||
VCD | mplayer [opcje] -vcd trackno
/dev/cdrom |
||
DVD | mplayer [opcje] -dvd titleno
[-dvd-device /dev/dvd] |
||
net | mplayer [opcje] http://site.com/file.asf
(tu również może być użyta playlista) |
||
Najnowsze wersje MPlayera również akceptuje ścieżki VCD i DVD w stylu URL,
tak, jak to robi Xine: mplayer dvd://1
albo 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
MPlayer ma w pełni konfigurowalny, strerowany z klawiatury panel sterowania, który pozwala ci sterować MPlayerem za pomocą klawiatury, myszy, joysticka bądź pilota (z użyciem lirc).
Klawiatura
<- lub -> | poszukiwanie wstecz/naprzód o 10 sekund | ||
strzałka w górę lub w dół | poszukiwanie wstecz/naprzód o 1 minutę | ||
pgup/pgdown | poszukiwanie wstecz/naprzód o 10 minut | ||
< lub > | poszukiwanie wstecz/naprzód po playliście | ||
p lub spacja | zatrzymanie filmu (wciśnij jakikolwiek przycisk) | ||
q lub ESC | zakończenie odgrywania i wyjście z programu | ||
+ lub - | dopasuj opóźnienie dźwięku o +/- 0.1 sekundy | ||
r lub t | dopasuj pozycję napisów | ||
> lub < | idź do następnej/poprzedniej pozycji w playtree | ||
HOME lub END | idź do następnej/poprzedniej pozycji w rodzicielskiej liście | ||
INSERT lub DELETE | idź do następnego/poprzedniego alternatywnego źródła (dostępne tylko w playlistach asx) | ||
/ lub * | zmniejsz/zwiększ głośność | ||
o | włącz/wyłącz OSD: nic /pasek poszukiwania / pasek poszukiwania + zegar | ||
m | włącz/wyłącz używanie dźwięku master/pcm | ||
z lub x | dopasuj opóźnienie napisów o +/- 0.1 sekundy | ||
(następujące klawisze są ważne tylko wtedy, gdy używasz
opcji |
|||
1 lub 2 | dostosuj kontrast | ||
3 lub 4 | dostosuj jasność | ||
5 lub 6 | dostosuj odcień | ||
7 lub 8 | dostosuj nasycenie |
GUI
, i . | poprzedni / następny plik | ||
szary - lub + | zmniejsz / zwiększ głośność | ||
enter | rozpocznij odgrywanie | ||
spacja | pauza | ||
s | stop | ||
a | informacje o programie | ||
l | wczytaj plik | ||
b | przeglądarka skórek | ||
e | włącz/wyłącz equalizer | ||
p | włącz wyłącz listę odtwarzania | ||
f | włącz/wyłącz pełny ekran | ||
m | włącz/wyłącz wyciszenie dźwięku |
TV
h lub l | wybierz porzedni / następny kanał | ||
n | zmień normę | ||
b | zmień listę kanałów |
MPlayer pozwala ci podpiąć dowolny klawisz/przycisk do dowolnej komendy MPlayera za pomocą prostego pliku konfiguracyjnego. Składnia pliku ma postać: nazwa klawisza, a po niej polecenie. Domyślny plik konfiguracyjny jest umieszczony w $HOME/.mplayer/input.conf, ale można go przesłonić za pomocą przełącznika -input conf (względna ścieżka jest traktowana względem $HOME/.mplayer). Przykład:
## ## 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
Możesz obejrzeć pełną listę, wywołując mplayer -input
keylist
.
Klawiatura
Mysz
Uwaga : mysz działa tylko w X-ach
Joystick
Uwaga : obsługa joystick-a musi zostać włączona podczas kompilacji
Pełną listę zobaczysz, wywołując mplayer -input cmdlist
Przeskocz do konkretnego miejsca w filmie.
Type 0 to skok względny o +/- val sekund.
Type 1 to skok do val % filmu.
Dostosuj opóźnienie dźwięku o val sekund
Wyjdź z MPlayera
Zatrzymaj/wznów odgrywanie
Ktoś wie?
Idź do nast/poprz pozycji w drzewie. Znak val określa kierunek.
Jeśli nie ma żadnego dostępnej pozycji w podanym kierunku - nie
stanie się nic, o ile force jest niezerowe.
Jak pt_step ale skacze do nast/poprz w liście rodzicielskiej. To jest użyteczne do przerwania wewnętrznej pętli w playtree.
Kiedy dostępne jest więcej niż jedno źródło, wybiera nast/poprz (tylko z asx playlist).
Dostosouje opóźnienie napisów o +/- val sekund albo ustawia je na val skund, gdy abs jest niezerowe.
Przełącza tryb osd albo ustawia na dany poziom, gdy level > 0.
Zwieksza/zmniejsza głośność
Ustawia/Dostosowuje parametry obrazu. Zakres val: od -100 do 100.
Przełącza/Ustawia tryb opuszczania klatek.
Dostosowuje pozycję napisów.
Przełącza do trybu pełnoekranowego (fullscreen).
Wybiera nast/poprz kanał tv.
Zmienia TV norm.
Zmienia listę kanałów.
Akcje GUI
3.2.3. Sterowanie za pomocą LIRC
Linux Infrared Remote Control - użyj łatwego w budowie, domowej roboty odbiornika IR, (prawie) dowolnego pilota i kontroluj za jego pomocą swoje linux box! Więcej na ten temat na www.lirc.org.
Jeśli zainstalowałeś pakiet lirc, configure wykryje go automatycznie. Jeśli inicjalizacja LIRC zakończyło się dobrze, MPlayer poinformuje cię o tym na starcie w następujący sposób: "Setting up lirc support...". Zawiadomi cie także wtedy, gdy pojawią się błędy. Jeśli nie wspomni o LIRC w ogóle, oznacza to, że obsługa LIRC nie została wkompilowana. To tyle :-)
Nazwa aplikacji dla MPlayera, to - nie zgadłbyś - 'mplayer'. Możesz używać dowolnych poleceń mplayera, nawet kilka na raz, oddzielając je za pomocą "\n". Nie zapomnij włączyć flagi powtarzania w .lircrc, kiedy to ma sens (seek, volume, itp.). Oto wyrywek z mojego .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
Jeśli nie odpowiada ci standardowa lokalizacja pliku lirc-config (~/.lircrc) użyj przełącznika -lircconf <nazwa_pliku>, aby podać inny plik.
Tryb slave pozwala na zbudowanie prostego frontend-u dla MPlayera. Kiedy jest włączony (za pomocą przełącznika -slave), MPlayer bedzie czytał polecenia rozdzielone nowymi liniami (\n) ze standardowego wejścia.
3.3. Przesyłanie przez sieć i rurki
MPlayer potrafi odgrywać pliki przesyłane przez sieć, za pomocą protokołu HTTP lub MMS.
Odtwarzanie uruchamia się przez zwyczajne podanie adresu URL w linii poleceń. MPlayer honoruje również zmienną środowiskową http_proxy i używa proxy jeśli jest ono dostępne. Proxy może być również wymyszone:
mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf
MPlayer potrafi czytać ze standardowego wejścia (NIE z nazwanych potoków (pipes)). Można to zastosować do odgrywania z FTP:
wget ftp://micorsops.com/something.avi -O - | mplayer -
Uwaga:rekomendowane jest włączenie CACHE podczas odgrywania przez sieć:
wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -
Aby zbudować pakiet, zdobądź wersję cvs, albo .tgz i rozpakuj ją. Przejdź do katalogu z programami:
cd main fakeroot debian/rules binary
(... mplayer wykrywa sprzęt/oprogramowanie, buduje się i ... ) dpkg-deb: building package `mplayer' in `../mplayer_0.18-1_i386.deb'.
A teraz jako root:
dpkg -i ../mplayer_0.18-1_i386.deb as root.
Oto, jak to wygląda:
eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb Password: (Reading database ... 26946 files and directories currently installed.) Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb) Unpacking replacement mplayer ... Setting up mplayer (0.18-1) ...
Aby zbudować pakiet, będziesz potrzebował GNU make (gmake, /usr/ports/devel/gmake), pochądzący z BSD make nie zadziała.
Aby uruchomić MPlayera, będziesz musiał rekompilować jądro z "options USER_LDT" (o ile nie używasz -CURRENT, gdzie to jest domyślne). Jeśli masz CPU z SSE, uzyj również "options CPU_ENABLE_SSE", aby go używać (FreeBSD-STABLE jest wymagane, albo użyj łat na jądro).
Jeśli MPlayer narzeka, że: "CD-ROM Device '/dev/cdrom' not found!",
stwórz link symboliczny: ln -s /dev/(your_cdrom_device)
/dev/cdrom
Nie ma obsługi DVD dla FreeBSD jak dotąd.
MPlayer powinien działać na Solaris 2.6 lub nowszym.
Odtwarzanie plików AVI najlepiej działa na Solaris x86, ponieważ jest opcja do użycia kodeków win32 na platformie x86 lub mogą być użyte instrukcje MMX/MMX2/3DNow/utp do MP3/DivX/DVD/czegokolwiek. Na Solaris SPARC naprawdę rzadko spotkać się możesz z niedziałaniem obrazu lub dźwięku w plikach AVI z powodu braku kodeków video/audio używających biblioteki Win32 DLL. Natomiast powinny działać filmy DivX/OpenDivX z kodekiem libavcodec.
Na systemach UltraSPARC, MPlayer korzysta z rozszerzeń VIS (równoważnym MMX), aktualnie tylko w libmpeg2, libvo i libavcodec, ale nie w mp3lib. Możesz oglądać plik VOB na 400Mhz CPU. Trzeba zainstalować mLib.
Aby zbudować pakiet, potrzebny ci będzie GNU make (gmake, /opt/sfw/gmake), pochądzący z Solarisa make nie zadziała. Typowy błąd, jaki się pojawi podczas budowania za pomocą solarisowego make zamiast GNU make, to:
% /usr/ccs/bin/make make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
Na Solaris SPARC potrzebować będziesz kompilatora GNU C/C++ Compiler; nie ma znaczenia czy kompilator GNU C/C++ jest skonfigurowany z czy bez GNU assemblera.
Na Solaris x86 potrzebny jest GNU assembler i kompilator GNU C/C++
skonfigurowany tak, aby używał GNU assemblera! Kod mplayera na platformie x86
dużo korzysta z instrukcji MMX, SSE i 3DNOW!, które nie mogą być skompilowane
za pomocą assemblera Sun'a /usr/ccs/bin/as
.
Skrypt configure usiłuje dowiedzieć się, który program assemblera jest używany przez twoje polecenie "gcc" (w przypadku nieudanej autodetekcji, użyj opcji "--as=/tam/gdzie/zainstalowales/gnu-as", aby poinformować skrypt configure, gdzie może on znaleźć GNU "as" w twoim systemie).
Komunikat o błędzie z configure w systemie Solaris x86, stosującym GCC bez GNU assemblera:
% configure ... Checking assembler (/usr/ccs/bin/as) ... , failed Please upgrade(downgrade) binutils to 2.10.1...
(Rozwiązanie: Zainstaluj i użyj gcc skonfigurowanego z "--with-as=gas")
Typowy błąd podczas użycia kompilatora GNU C nie stosującego GNU as:
% 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 ...
Dla obsługi DVD musisz mieć zainstalowane libcss z nałożoną łatą. Łatę znajdziesz tu: http://www.tools.de/solaris/mplayer/.
Z powodu dwóch błędów w systemie solaris 8 x86, nie możesz wydajnie odtwarzać DVD przy pojemności >4GB:
On Solaris with an UltraSPARC CPU, you can get some extra speed by using the CPU's VIS instructions for certain time consuming operations. VIS acceleration can be used in MPlayer by calling functions in Sun's mediaLib.
VIS accelerated operations from mediaLib are used for mpeg2 video decoding and for color space conversion in the video output drivers.
MPlayer, jak doniesiono, kompiluje się na StrongARM. Zastosuj następującą linię poleceń:
./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib --with-x11incdir=/usr/arm/lib --disable-gcc-checking
6.5. Silicon Graphics Indigo / IRIX
Doniesiono, że pracuje. Najprawdopodobniej musisz użyć sterownika sgi ao. Może ktoś ma bliższe informacje?
Działa. Musisz ściągnąć i zainstalować SDL dla QNX. Następnie uruchom
MPlayera z opcjami: -vo sdl:photon
i -ao
sdl:nto
, a powinno działać szybko.
Wyjście -vo x11
jest wolniejsze nawet niż w Linuksie, gdyż QNX
ma tylko emulację X-ów, która jest BARDZO wolna. Używaj więc SDL.
Aby zbudować pakiet, będziesz potrzebował GNU make (gmake, /usr/ports/devel/gmake), native BSD make nie zadziała, a także najnowsze binutils (włączając objcopy).
Z powodu ograniczeń w różnych wersjach gas (relocation vs mmx),
musisz przeprowadzić dwa kroki kompilacji: najpierw upewnij się, że
non-native jest jako pierwszy w PATH i wykonaj
'gmake -k
', a następnie się upewnij, że
wersja native jest używana i wykonaj 'gmake
'.
Aby użyć Win32 DLLs z MPlayerem, musisz przekompilować
jądro z opcją "USER_LDT
".
Jeżeli MPlayer zgłasza problem ze znalezieniem '/dev/cdrom' lub
'/dev/dvd', zrób link symbolliczny, np. ln -s
/dev/rcd0c /dev/dvd
UWAGA: *NIE* wysyłaj raportów o błędach, próśb o pomoc i życzeń na przyszłość wprost do autorów!
Przeczytaj dodatek C i zasubskrybuj listę dyskusyjną użytkowników Mplayera
Projekt MPlayer:
zr
Główni testerzy:
Kodeki i biblioteki:
Ich kod nie jest używany w obecnej wersji odgrywarki, ale otrzymuję pewne pomysły i techniczne wsparcie z ich strony:
Dodatek A/2 - maintainerzy kodu i dokumentacji MPlayera
Strona domowa
Dokumentacja w języku angielskim
Tłumaczenia dokumentacji
Platformy sprzętowe/porty:
Kod MPlayera:
Sterowniki libvo:
Sterowniki VIDIX:
Sterowniki libao2:
Narzędzia:
Istnieje kilka publicznych list dyskusyjnych o MPlayerze. Zasubskrybować je można pod podanymi adresami:
Jest to lista o rozwijaniu Mplayera! Mówi się tam o zmianach w interfejsie/API, nowych bibliotekach, optymalizacji kodu, zmianach w ./configure. Tu też są wysyłane łaty. NIE wysyła się na tę listę raportów o błędach, pytań użytkowników, żądań na przyszłość! Na tej liście powinien być zachowany mały ruch.
Tu możesz wysyłać:
Wysyłaj tu pytania związane z matrox
Sprawy związane ze sprzętowo dekodującą kartą DVB. (Nie jest to dxr3!)
Wysyłaj tu pytania związane tylko ze zmianami w CVS (jeśli np. nie rozumiesz, dlaczego zmiana jest wymagana, albo jeśli masz lepszą poprawkę, albo też, jeśli zauważyłeś problem/błądn w łacie). Bądź pewien, że developer zajmujący się zagadnieniem, o które pytasz, czyta tą listę!
UWAGA: Językiem powyższych list jest ANGIELSKI o ile nie zaznaczono wyraźnie, że jest inaczej. Nie wysyłaj, proszę, wiadomości w innych językach!
UWAGA: Możesz skorzystać z przeszukiwalnego archiwum list tutaj.
Dodatek C - Jak zgłaszać błędy
Błędy/problemy związane z konkretnym systemem/procesorem:
-ac ffmpeg
)Różne problemy z synchronizacją A-V dźwięku:
Ogólnie, opóźnienia dźwięku albo szarpany dźwięk (pojawiające się w wielu, bądź wszystkich plikach):Problemy z wyjściem wideo:
Pierwsza uwaga: opcje: -fs -vm i -zoom są tylko zalecane, nie są jak dotąd obsługiwane przez wszystkie sterowniki. Więc to nie jest błąd, jeśli nie działają. Tylko kilka sterowników wspiera skalowanie/zooming (zbliżanie/oddalanie), nie oczekuj tego od z11 czy dga.
Migotanie OSD/napisów:
- sterownik x11: przykro mi, ale na razie nie może to zostać naprawione
- sterownik xv: użyj opcji -double
Zielony obraz podczas używania mga_vid (-vo mga / -vo xmga):
- mga_vid źle wykryta ilość pamięci RAM w twojej karcie, przeładuj to używając
opcji mga_ram_size