# HG changeset patch # User diego # Date 1066592931 0 # Node ID 005360a754a65db2d18e781fcf4977059bf884b1 # Parent 92ea2b3d40acf14e6e1f605b8844a40e662abe17 Polish docs are now available as XML. diff -r 92ea2b3d40ac -r 005360a754a6 DOCS/pl/bugreports.html --- a/DOCS/pl/bugreports.html Sun Oct 19 18:19:43 2003 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,292 +0,0 @@ - - - -
-Dobry raport o błędzie jest bardzo wartościowym wkładem w rozwój każdego - z projektów oprogramowania. Ale tak jak pisanie dobrego oprogramowania, tak - dobry raport problemu wymaga trochę pracy. Prosimy, o zrozumienie, że większość - programistów to ludzie ekstremalnie zajęci i otrzymują nieprzyzwitą ilośc e-maili. - Więc, dopóki twoja reakcja jest decydująca w poprawianiu MPlayera i bardzo doceniana, - prosimy zrozum, że musisz dostarczyć wszystki informacje których wymagamy - i wykonyeać wszystkie polecenia zaarte w tym dokumencie.
- - -Jeżeli czyjesz, że masz wystarczające umiejętności, jesteś zaproszony do - naprawienia błędu własnoręcznie. Może już to zrobiłeś? Prosimy, przeczytaj - ten krótki dokument by dowiedzieć sie, jak - dodać twój kod do MPlayera. Ludzie na grupie duskusyjnej - mplayer-dev-eng - pomogą ci, jeżeli będziesz miał jakieś pytania.
- - -Po pierwsze, wypróbuj najnowszej wersji MPlayera z CVSa, możliwe że twój - błąd został już tam naprawiony. Programiści poruszają się naprawdę szybko, - większość problemów z oficjalnego wydania jest raportowane w przeciągu dni - lub nawet godzin, więc prosimy o używanie tylko CVS do raportowania - błędów. Dotyczy to także pakietów binarnych MPlayera. Prosimy o nieraportowanie - błędów z różnych pakietów RPM lub Debiana. Instrukcję do CVS można znaleźć na dole - tej strony lub w - README. Jeżeli to nie pomogło, przeczytaj - listę znanych błędów i pozostałą - część dokumentacji. Jeżli twój problem nie jest znany lub nasze instrukcje - nie rozwiązują problemu, wtedy prześlij raport o błędzie.
- -prosimy o nie przesyłanie raportów o błedach bezpośrednio do programistow. - Pracujemy zbiorowo, tak więc wielu użytkowników może się zainteresować tym problemem. - Czasami inni użytkownicy, mający doświadczenie z twoim kłopotem, wiedzą jak - ominąć problem, nawet jeżeli jest to błąd w kodzie MPlayera.
- -Prosimy, opisz swój problem możliwie najdokładniej. Wykonaj małe dochodzenie - by znaleźć okoliczności, w których problem się pojawia. Może błąd pojawia się - tylko w oktreślonych sytuacjach? Występuje ze pojedyńczym plikiem lub typem - plików? Występuje tylko z jednym kodekiem lub niezależnie od kodeka? Możesz - powtórzyć błąd ze wszystkimi sterownikami wyjścia? Im więcej informacji dostarczysz, - tym większe szanse na naprawienie twojego problemu. Prosimy, nie zapomnij umieścić - wymaganych cennych inforamcji (patrz niżej), w przeciwnym wypadku, nie będziemy - w stanie porawnie zdiagnowzować twojego problemu.
- -Świetne i dobrze napisany poradnik zadawania pytań w publicznych forach dyskusyjnych to - How To Ask Questions The Smart Way - (Jak Zadawać Pytania W Mądry Sposób) autorstwa Eric S. Raymond. - Jest też inny nazwany - How to Report Bugs Effectively - (Jak Efektywnie Raportować Błędy) autorstwa Simon Tatham. - artykuł w języku polskim to - Jak mądrze zadawać pytania - Jeżeli będziesz postępował zgodnie z tymi przewodnikami powinieneś uzyskać pomoc. - Ale zrozum, że my wszyscy odpowiadamy na grupie dyskusyjnej w formie wolontariatu - poświęcając nasz wolny czas. Jesteśmy bardzo zajęci i nie możemy gwarantować, że - rozwiążemy twój proble, lub nawet odpowiemy na twój list.
- - -Zapisz się na grupę dyskusyjną mplayer-users:
- http://mplayerhq.hu/mailman/listinfo/mplayer-users
- i wyślij swój raport o błędzie do:
- mplayer-users@mplayerhq.hu
Językiem grupy jest Angielski. Prosimy o dostosowanie sie do standardu - Netiquette Guidelines i - nie wysyłać e-maili w HTML do której kolwiek z naszyć grup dyskusyjnych. - Zostaniesz po prostu zignorowany lub zbanowany. Jeżli nie wiesz co to jest e-mail - w HTML lub dlaczego jest zły, przeczytaj ten świetny dokument. - Wyjaśnia wszystkie detale i daje instrukcje, jak wyłączyć HTML. Ponad to zauważ, - że nie będziemy odpowiadać indywiduaknie CC (carbon-copy), tak więc jest dobrym pomysłem - zasubskrybować grupę, by odebrać odpowiedź na swój list.
- - -Być może, że będziesz musiał załączyć plik log, konfigurację lub próbkę pliku - w swoim raporcie o błędzie. Jeżeli będzie on dośc spory, wtedy lepiej będzie, - gdy prześlesz go na nasz serwer FTP - w skompresowanym formacie (preferowany gzip i bzip2) i dołącz tylko ścieżkę i nazwę - pliku do twojego raportu o błędzie. Nasze grupa dyskusyjna ma ograniczeni rozmiaru - wiadomości na 80k, jeżeli masz coś większego, musisz to skompresować lub wysłać na - serwer.
- - -uname -a
ls -l /lib/libc[.-]*
X -version
gcc -v
- ld -v
as --version
xdpyinfo | grep "depth of root"
cat /proc/cpuinfo
lspci -vv
w systemie Linux.Jeżeli doświadczysz błędów podczas uruchamiania ./configure
lub autodetekcja
- czegoś nie wykryje, przeczytaj configure.log
. Może znajdziesz tam odpowiedź,
- dla przykładu, kilka wersji tej samej biblioteki wymieszało się w twoim systemie,
- lub zapomniałeś zainstalować pakiety deweloperskie (które mają przyrostek -dev). Jeżeli sądzisz,
- że to błąd, dołącz configure.log
do twojego raportu o błędzie.
config.h
config.mak
Gui/config.mak
libvo/config.mak
libao2/config.mak
Prosimy, dołącz wyjście MPlayera za 1 poziomie gadatliowości, ale pamiętaj - nie przycinaj wyjścia podczas wlejania go do twojego listu. - Programiści potrzebują wszystkich komunikatów by poprawnie zdiagnozować problem. - Możesz przekierować wyjście do pliku komendą podobną do:
- - mplayer -v [opcje] [nazwa_pliku] > mplayer.log 2>&1
Jeżeli twój proble jest specyficzny dla jednego lub więcej plików, wtedy - prześlij go (je) na:
- -ftp://mplayerhq.hu/MPlayer/incoming/
- -Ponad to prześlij mały plik tekstowy zawierający tę samą nazwę podstawową co twój plik, - tyle że z rozszerzeniem .txt. Opisz problem który występuje z danym plikiem - i dołącz twój adres e-mail i najlepiej jeszcze wyjście MPlayera na 1 poziomie - gadatliwości. Zazwyczaj pierwsze 1-5 MB pliku wystarcza na odtworzenie problemu, - ale dla pewności prosimy cię o:
- - dd if=twój_plik of=mały_plik bs=1024k count=5
Wytnie to pierwsze pięć megabajtów z 'twój_plik' i zapisze - to do 'mały_plik'. Potem wypróbuj mały plik, jeżeli błąd - dalej się pojawia, próbka jest dla nas wystarczająca. Prosimy, - nigdy nie wysyłaj takich plików przez e-mail! Wyślij na serwer, - i podaj tylko ścieżkę/nazwę pliku na serwerze FTP. Jeżli plik jest dostępny przez - Internet, wysłany dokładny URL jest wystarczający.
- - -Musisz uruchomić MPlayera wewnątrz gdb
i wysłać nam kompletne
- wyjście lub jeżeli masz zrzut rdzenia (ang. core dump) po wywaleniu się, możesz wyciągnąć użyteczne
- informacje z pliku Core
. Poniżej pokazano jak:
./configure --enable-debug=3
- make
gdb ./mplayer
run -v [opcje_dla_MPlayera] nazwa_pliku
bt
- disass $pc-32 $pc+32
- info all-registers
Prosimy, stwórz podany plik rozkazowy (skrypt):
- -bt
- disass $pc-32 $pc+32
- info all-registers
Potem po prostu uruchom podaną komendę:
- - gdb mplayer --core=core -batch --command=command_file > mplayer.bug
Jeśli stworzyłeś poprawny raport o błędzie, postępując zgodnie z podanymi
- wskazówkami oraz jesteś pewien, że to błąd mplayera, nie kompilatora, czy
- zepsutego pliku, przeczytałeś dokumentację i nadal nie znalazłeś rozwiązania,
- a twoje sterowniki karty dźwiękowej są w porządku, wówczas możesz zasubskrybować
- listę dyskusyjną mplayer-advusers i wysłać swój raport, aby dostać szybszą
- i lepszą odpowiedź.
- Prosimy o rozwagę. bo jeżeli wyślesz pytanie w stylu początkującego lub
- pytanie na które jest odpowiedź w manualu, wtedy zostaniesz zignorowany
- lub obrażony zamiast otrzymania właściwej odpowiedzi.
- Więc nie obrażaj nas i zasubskrybuj -advusers tylko jeżeli naprawdę wiesz
- co robisz i czyjesz się jakbyś był zaawansowanym użytkownikiem MPlayera lub
- programistą. Jeżeli spełniasz te kryteria, nie powinno być dla ciebie kłopotem
- znalezienie sposobu, jak się zasubskrybować..
uryweg z dokumentacji Linuksa:
- -Nowoczesne napędy CD-ROM mogą osiągać bardzo wysokie prędkości głowicy, jeszcze niektóre napędy CD-ROM - są w stanie działać przy zmniejszonej prędkości. Jest kilka powodów, które mogą spowodować, że - rozważysz zmianę prędkości napędu CD-ROM:
- -Możesz zmniejszyć prędkość napędu CD-ROM IDE programem hdparm
- lub programem o nazwie setcd
. Działa to miej więcej tak:
hdparm -E [prędkość] [napęd cdrom]
setcd -x [prędkość] [napęd cdrom]
Możez ponad to spróbować
- - echo current_speed:4 > /proc/ide/[napęd cdrom]/settings
ale będziesz uprawnień roota. Poniższa komenda także może pomóc:
- - echo file_readahead:2000000 > /proc/ide/[napęd cdrom]/settings
Ustawi to pobranie wstępne odczytu pliku na 2MB, co pomaga z porysowanymi CD-ROMami.
- Jeżeli ustawisz zbyt wysoką wartość, napęd będzie ciągle zwiększał i zmniejszał obroty, co
- radykalnie zmniejszy wydajność.
- Zalecane jest byś ponad to wyregulował twój napęd CD-ROM programem
- hdparm
:
hdparm -d1 -a8 -u1 (napęd cdrom)
Włązcy to DMA, read-ahead, i odmaskowanie IRQ (przeczytaj stronę man dla
- hdparm
po szczegółowe wyjaśnienie).
Prosimy o odwołanie sie do "/proc/ide/[napęd cdrom]/settings
" by
- lepiej dostroić twój CD-ROM.
Napędy SCSI nie mają jednolitego sposobu ustawiania ich parametrów (Znasz jakiś? - Powiedz nam!) Jest narzędzie, które działa z - napędami Plextor SCSI drives.
- -FreeBSD:
- - Prędkość: cdcontrol [-f urządzenie] speed [prędkość]
DMA: sysctl hw.ata.atapi_dma=1
Po kompletną listę dostępnych opcji, prosimy o przeczytanie manula.
- -MPlayer używa libdvdread
i libdvdcss
do
- deszyfrowania i odtwarzania DVD. Te dwie biblioteki są zawarte w podkatalogu
- libmpdvdkit2/
w drzewie kodu źródłowego MPlayera, nie musisz
- instalować ich osobno. Zdecydowaliśmy się na takie rozwiązanie ponieważ
- musieliśmy naprawić błąd w libdvdread
i nałożych nakładkę która
- dodawałą do libdvdcss
obługę buforowania (cache) skrakowanych kluczy CSS.
- Dało to duży przyrost sprędkości, ponieważ klucze nie muszą być krakowane za
- każdym razem przed odtwarzaniem.
MPlayer może również używać systemowych bibliotek libdvdread
i
- libdvdcss
, ale to rozwiązanie nie jest polecane,
- ponieważ może to powodować błędy, niekompatybilność bibliotek i wolniejszą prędkość.
Wsparcie dla DVD navigation (menu na płycie DVD, z wyborem scen, napisów itp.; przyp.tłum.).
- przez dvdnav
zaczęło działać, ale nigdy nie zostało poprawnie zakończone
- i aktualnie nie jest rozwijane. Kto wie, może jeszcze zostanie ukończone.
Przydatne jeżeli chcesz odtworzyć zakodowane VOBy z twardego dysku. W tym celu
- skompiluj i zainstaluj libcss 0.0.1 (nie nowszy) (Jeżeli MPlayer nie
- wykryję go, użyj opcji -csslib /ścieżka/do/libcss.so
). By go użyć,
- musisz być rootem, używać MPlayera z suid root lub kazać MPlayerowi użyć
- programu wrapera z suid-root o nazwie fibmap_mplayer.
Dyski DVD mają po 2048 bajtów na sektor z ECC/CRC. Mają zazwyczaj system plików UDF - na pojedyńczej ścieżce, zawierającej różne pliki (małe pliki .IFO i .BUK - i duże (1GB) pliki .VOB). To są prawdziwe pliki które możesz kopiować/odtwarzać - z zamontowanego systemu plików na niezaszyfrowanym DVD.
- -Pliki .IFO zawierają informacje nawigacyjne filmu (rozdziały/tytułu/kąty - kamery, tablice języków, itd.) i są wymagane do odczytu i interpretacji zawartości .VOB - (filmu). Pliki .BUK są ich kopiami zapasowymi. Wszędzie wykorzystują sektory, - więc musiał użyć adresowania sektorów raw na dysku by użyć nawigacji DVD lub zdeszyfrować zawartość.
- -Całe wsparcie dla starego-stylu DVD jest przez libcss
, zatem potrzebuje
- zamontowanego systemu plików DVD i dostępu dla raw opartego na sektorach do urządzenia.
- Na nieszczęście musisz być (w Linuksie) rootem by pobrać adres sektora pliku. Masz
- następujące rozwiązania:
libcss
).libdvdread
0.9.x i libmpdvdkit
robią to (wsparcie
- nowego-stylu DVD). System plików UDF kernela nie jest potrzebny, ponieważ
- biblioteki te mają już własny wbudowany sterownik systemu plików UDF. Ponad to
- DVD nie muszą być montowane, ponieważ tylko dostęp raw oparty na sektorach jest użyty.Czasami /dev/dvd
nie możę być odczytany przez użytkownikóws, więc autorzy
- libdvdread
zaimpletowali emulację która przesyła adresy sektorów do
- nazwplików+przesunięć, by zemulować dostęp raw na zamontowanym systemie plików
- lub nawet na dysku twardym.
libdvdread
akceptuje nawet pukty mantowania (ang. mountpoint) zamiast
- nazwy urządzenia dla dostępy raw i sprawdza /proc/mounts
by pobrać nazwę urządzenia.
- Zrobione to zostało dla Solarisa, gdzie nazwy urządzeń są dynamicznie przydzielane.
Domyślnym urządzeniem DVD jest /dev/dvd
. jeżeli ustawiłeś inne,
- stwórz link symboliczny, lyb podaj poprawne urządzenie w linii komend opcją
- -dvd-device
.
Wspacia dla autentyfikacji i metod deszyfrowania nowego-stylu DVD są ukończone,
- używają poprawionej biblioteki libdvdcss
(patrz wyżej). Metoda może być
- określona poprzez zmienną systemową DVDCSS_METHOD
, która może być ustawiona na
- key (klucz)
, disk (dysk)
lub title (tytuł)
.
Jeżeli nic nie jest określone, biblioteka próbuje poniższych metod - (domyślnie: key, title request):
- -~/.mplayer/DVDKeys
(szybkie ;).ioctl()
.
- Kod regionu (dla USA, Japoni, Europy inny, kwestia zabezpieczeń; przyp. tłum.) urządzeń RPC-2 jest sprawdzany w tym
- kroku i może się nie powieść w takich urządzeniach. Jeżeli się powiedzie, klucz tytułu
- zostanie zdeszyfrowany z magistralą (bus) i kluczem dysku.Napędy DVD RPC-1 chronią ustawienia regionu tylko programowo. Napędu RPC-2 - mają sprzętową ochronę która pozwala tylko na 5 zmian. Możliwe, że będziesz - potrzebował/będzie zalecany upgrade firmware'u do RPC-1, jeżli masz napęd DVD RPC-2. - Upgrade'y firmware'u można znaleść tej - stronie firmware'owej. Jeżeli nie ma tam - upgrade'u firmware'u dostępnego dla twojego urządzenia, użyj - narzędzia regionset - by ustawić kod regionu twojego napędu DVD (pod Linuksem). - Ostrzeżenie: Możesz zmienić region tylko 5 razy.
- - -Po kompletną listę dostępnych opcji, prosimy o przeczytanie manuala. - Składnia dla standardowego Video CD (VCD) jest następująca:
- -mplayer vcd://<ścieżka> [-cdrom-device <uządzenie>]
Przykład: mplayer vcd://2 -cdrom-device /dev/hdc
Domyślnym użądzeniem VCD jest /dev/cdrom
. Jeżeli twoje ustawienia są inne,
- stwórz link symboliczny lub podaj poprawne urządzenie w lini komend opcją
- -cdrom-device
.
Informacja: Najnowsze napędy Plextora i niektóre CD-ROMy SCSI Toshiba - mają straszną osiągi w czytaniu VCDików. Jest tak, ponieważ CDROMREADRAW ioctl - nie jest w pełni zaimpletowany dla tych napędów. Jeżli masz jakąś wiedzę na temat - programowania SCSI, prosimu pomóż nam wprowadzić - ogólne wsparcie dla SCSI VCD.
- -Tymczasem możesz wydobyć dane z VCDików programem - readvcd - i odtworzyć wynikowy plik MPlayerem.
- -Dyski VCD składają się z jednej lub więcej ścieżek:
- -vcd://2
.Widoczny plik ~600 MB na pierwszej ścieżce w zamontowanym VCD nie jest prawdziwym
- plikiem! Jest on więc przekierowaniem ISO z własną nazwą, stworzonym by pozwolić Windowsom
- przechwycenie tych ścieżek (Windowsy w ogóle nie pozwalają na dostęp raw urządzenia).
- Pod Linuksem nie możesz kopiować lub odtwarzać tych plików (zawierają śmieci). Pod
- Windowsami jest to możliwe, ponieważ ich sterownik iso9660 emuluje odczyt raw
- ścieżek w tym pliku. By odtworzyć pliki .DAT potrzebujesz sterownika kernela który
- możesz znaleść w wersji linuksowej PowerDVD. Zawiera on zmodyfikowany sterownik systemu
- plików iso9660 (vcdfs/isofs-2.4.X.o
), który ma dostępną emulację
- ścierzek raw bezpośrednio do ukrytych plików .DAT. Jeżeli zamontujesz dysku używając
- tego sterownika, możesz kopiować i nawet odtwarzać pliki .DAT MPlayerem. Ale to
- nie zadziała ze standardowym sterownikiem iso9660 kernela Linuksa!
- Użyj zamiast tego opcji -vcd
. Alternatywami dla kopiowania VCD są:
- nowy sterownik kernela cdfs
- (nie jest częścią oficjalnedo kernela) który pokazuje sesje CD
- jako pliki obrazów i cdrdao, aplikacja
- do grabowania/kopiowania CD metodą bit-by-bit.
Zobacz tabelę statusu kodeków - po kompletną, codziennie tworzoną listę.
- -Najważniejsze z nich to:
-Jeżeli masz kodeka Win32 nie wyszczególnionego tutaj, który nie jest jeszcze wspierany, - prosimy, przeczytaj HOWTO importowania kodeków i pomóż nam dodać - obsługę dla niego.
- - -Nowa generacja tych kodeków potrafi nawet dekodować filmy zrobione - z użyciem niesławnych kodeków DivX! W dodatku, są one dużo szybsze, - niż natywne DLLe Win32 DivX, ale wolniejsze niż libavcodec. W związku z tym, - używanie ich jako kodera jest ODRADZANE. Jednak, da się nimi kodować. - Jedną wadą jest to, że nie są one dostępne na licencji Open Source.
- -DivX4Linux pracuje w dwóch trybach:
- --vc odivx
-vc divx4
Metoda -vc odivx
Metoda 'odivx' jest zazwyczaj szybsza, ze
- względu na fakt, że przenosi ona dane obrazu do formatu YV12 (planar YUV 4:2:0),
- a to wymaga dużo mniejszego pasma przenoszenia na szynie. W trybie
- spakowanego YUV (YUY2, UYVY) stosuj metodę -vc divx4
.
- W trybie RGB prędkości są takie same, różnią się być może tylko
- w odniesieniu do aktualnej głębi kolorów.
Informacja: Jeżeli twój sterownik -vo
wspiera bezpośrednie renderowanie,
- wtedy -vc divx4
może być szybszy lub być najszybszym rozwiązaniem.
Kodek możesz pobrać z -
Binarne biblioteki kodeka Divx4/5 możesz pobrać z
- avifile lub
- divx.com.
- Rozpakuj go, jako root uruchom ./install.sh
i nie zapomnij dodać
- /usr/local/lib
do twojego /etc/ld.so.conf
i uruchom
- ldconfig
.
Pobierz wersję CVS STARYCH bibliotek jądra OpenDivx w taki sposób (lub podobny):
- -cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore
- cd divxcore/decore/build/linux - make - cp libdivxdecore.so /usr/local/lib - ln -s libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 - cp ../../src/decore.h /usr/local/include --
- cd ../../../encore/build - mkdir linux - cd linux - cp path/Makefile . - make - cp libdivxencore.so /usr/local/lib - ln -s libdivxencore.so /usr/local/lib/libdivxencore.so.0 - cp ../../src/encore.h /usr/local/include --
MPlayer automatycznie wykrywa, czy DivX4/DivX5 jest poprawnie zainstalowany, - po prostu skompilować tak jak zwykle. Jeżeli nie został wykryty, nie zainstalowałeś - go, lub skonfiguruj go poprawnie.
- - -FFmpeg zawiera pakiet - kodeków open source, które są zdolne dekodować strumienie - wideo skodowane do - H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV - i kodeki audio WMA (Windows Media Audio). Nie dość, że niektórymi z nich możesz - kodować, oferują również wyższą prędkość niż kodeki Win32 - lub biblioteki DivX.com DivX4/5!
- -Zawiera wiele niezłych kodeków, z czego najistotniejszymi są warianty MPEG4: - DivX3, DivX4, DivX5, Windows Media Video 7 (WMV1). Ponad to, jednym z bardziej - interesujących jest dekoder WMA.
- -Jeżeli używasz wydania MPlayera (nie CVS) masz libavcodec i pakiecie, po prostu - skompiluj go jak zazwyczaj. Jeżeli używasz MPlayera z CVS musisz wydobyć - libavcodec z drzewa CVS FFmpeg, ponieważ wydanie FFmpeg nie - działa z MPlayerem. By to zrobić, wykonaj:
- -cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
libavcodec
ze źródeł FFmpeg sources do
- głównego katalogu drzewa CVS MPlayera. To powinno wyglądać mniej więcej tak:
- main/libavcodec
Informacja: MPlayer z CVS zawiera podkatalog libavcodec, ale - nie zawiera kodu libavcodec! - Musisz podążać za powyższymi krokami, by uzyskać kod tej biblioteki.
- -Z FFmpeg i moim Matroxem G400, Mogę oglądać nawet filmy DivX w wysokiej rozdzielczości - DivX bez gubienia klatek na moim K6/2 500.
- - -- Musisz wiedzieć, że binarne kodeki XAnim są pakietami częściowo objętymi - prawem własności, po to, by mogły być legalnie rozprowadzane, zawierają - również licencję która, zawierając inne restrykcje, zabrania użytkownikom - używanie kodeków wraz z programami innymi niż XAnim. - Jednak autorzy XAnim nie prowadzą już żadnych działań prawnych - w sprawach związanych z kodekami. -
- -MPlayer potrafi używać kodeków XAnim do kodowania. Podążaj za poniższymi - instrukcjami, by je włączyć:
- ---with-xanimlibdir
by podać do configure, gdzie ma
- ma szukać kodeków XAnim. Domyślnie, szuka ich w
- /usr/local/lib/xanim/mods, /usr/lib/xanim/mods i /usr/lib/xanim
.
- Alternatywnie, możesz ustawić zmienną środowiskową XANIM_MOD_DIR na
- katalog z kodekami XAnim.vid_cvid.xa, vid_h263.xa, vid_iv50.xa
.XAnim należy do rodziny kodeków xanim
, więc możliwe że będziesz chciał
- użyć opcji -vfm xanim
by poinformować MPlayera, że ma ich używać,
- jeżeli jest to możliwe.
Testowane kodeki zawierają: Indeo 3.2, 4.1, 5.0, CVID, - 3ivX, h263.
- - -MPlayer może odtwarzać wideo Vivo (1.0 i 2.0). Najbardziej odpowiednim kodekiem
- dla plików 1.0 jest dekoder H263 z FFmpeg, możesz użyć go opcją -vc ffh263
- Dla plików 2.0 używaj DLL'i Win32 poprzez opcję -vc vivo
. Jeżeli nie podasz
- opcji w linii komend MPlayer automatycznie wybierze najlepszy kodek.
MPEG1 i MPEG2 są dekodowane przez wieloplatformową natywną bibliotekę
- libmpeg2, której kod jest dołączony do MPlayera. Odtwarzamy błędne
- pliki wideo MPEG 1/2 poprzez wyłapywanie Signal 11 (Segmentation fault)
,
- i szybką reinicjalizację kodeka, kontynuując dokładne z miejsca, gdzie błąd
- wystąpił. Ta technika odzyskiwania, nie powoduję wymiernych strat na prędkości.
Jest bardzo stary i bardzo zły kodek Microsoftu. W przeszłości był on
- dekodowany z kodekiem Win32 msvidc32.dll
, teraz mamy własną
- implementację open source (wykonaną przez
- Mike'a Melansona).
MPlayer posiada teraz swój własny opensource, wieloplatformowy dekoder Cinepak - (wykonany przez Dr. Tim Ferguson), - wybierany jako domyślny. Obsługuje on wyjścia YUV, więc skalowanie sprzętowe - jest możliwe, jeżeli sterownik wyjścia pozwala na to.
- - -Zalecane jest pobranie i instalacja RealPlayera8 lub RealONE, ponieważ
- MPlayer może używać ich bibliotek do dekodowania plików wideo RealVideo 2.0 -
- 4.0. Skrypt configure MPlayera powinien wykryć biblioteki RealPlayera w
- standardowej lokalizacji pełnej instalacji. Jeżeli tego nie zrobił, przekarz
- do configure, gdzie ma ich szukać opcją --with-reallibdir
.
Informacja: Biblioteki RealPlayera aktualnie działają tylko z Linuksem, - FreeBSD, NetBSD i Cygwinem na platformach x86, Alpha i PowerPC - (Linux/Alpha i Linux/PowerPC zostały przetestowane).
- - -XViD jest odgałęzieniem od projektu - kodeka OpenDivX. Stało się to, gdy ProjectMayo przeniósł OpenDivX na zamknięto - źródłowy DivX4 (teraz DivX5), i ludzie nie-ProjectMayo pracujący nad OpenDivX - rozzłościli się, wtedy postał XviD. Więc oba projekty mają to samo źródło.
- -Aktualnie XviD jest dostępny tylko z CVS. Tutaj znajduje się instrukcja - pobrania i instalacji(potrzebujesz przynajmniej autoconf 2.50, automake i libtool):
- -cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
cd xvidcore/build/generic
./bootstrap.sh
./configure
./configure --help
).make && make install
--enable-divxcompat
, skopiuj plik
- nagłówkowy divx4.h
z xvidcore/src/
- do /usr/local/include/
.--with-xvidcore=/path/to/libxvidcore.a
.Sorenson jest rodziną kodeków rozwijaną przez Sorenson Media i - licencjonowaną na Apple który rozprowadza go z ich QuickTime Playerem. - Aktualnie jesteśmy w stanie zdekodować wszystkie wersje plików wideo Sorenson - podanymi kodekami:
- --vc svq1
i -vc ffsvq1
.
- Niektóre pliki mogą działać z jednym, a nie z innym, więc przetestuj oba dekodery.
- Dekodery zostały napisane (reverse engineered) przez autorów
- xine.INFORMACJA: aktualnie wspierane są tylko platformy 32bit Intel.
- -$ ./configure --enable-qtx-codecs
/usr/lib/win32
)Najważniejsze kodeki audio:
Jest to domyślny dekoder używany do plików z dźwiękiem AC3.
- -Dekoder AC3 może tworzyć wyjściowego dźwięku dla 2, 4 lub 6 głośników. - Skonfigurowany dla 6 głośników, dekoder ten dostarcza oddzielne wyjścia - dla wszystkich kanałów AC3 do sterownika karty dźwiękowej, umożliwiając - doświadczenie wrażenia pełnego "dźwięku otaczającego", bez wymagania od - zewnętrznego dekodera AC3 użycia kodeka hwac3.
- -Użyj opcji -channels
, aby wybrać ilość kanałów wyjściowych.
- Użyj opcji -channels 2
dla stereo downmix. Dla czterokanałowego
- downmix (wyjścia lewo-przód, prawo-przód, lewo-tył, prawo-tył), użyj opcji
- -channels 4
. W tym przypadku jakikolwiek centralny kanał będzie
- miksowany odpowiednio do przednich kanałów. -channels 6
będzie
- wyprowadzało wszystkie kanały AC3 tak, jak są zakodowane - w kolejności lewy,
- prawy, lewy-tylny, prawy-tylny, centralny oraz LFE.
Domyślna liczba kanałów wyjściowych wynosi 2.
- -Aby korzystać z więcej niż dwóch kanałów wyjściowych, musisz użyć OSS, - i posiadać sterownik dla karty dźwiękowej, który obsługuje odpowiednią liczbę - kanałów wyjściowych przez SNDCTL_DSP_CHANNELS ioctl. Na przykład odpowiednim - sterownikiem jest emu10k1 (używanego z kartami SB Live!) z lub nowszy niż - z sierpnia 2001 (ALSA z CVS także powinien działać).
- - -Potrzebujesz karty dźwiękowej, zdolnej do obsługi AC3, z cyfrowym wyjściem (SP/DIF).
- Sterownik karty dźwiękowej musi obsługiwać format AFMT_AC3 (C-Media). Podłącz
- swój dekoder AC3 do wyjścia SP/DIF i użyj opcji -ac hwac3
.
- Jest to eksperymantalne, ale działa z kartami C-Media, Soundblaster Live! używający
- sterownika ALSA (ale nie OSS) i kartami dekodującymi DXR3/Hollywood+ MPEG.
libmad jest wieloplatformową biblioteką - dekodowania dźwięku MPEG. Nie obsługuje zbyt dobrze uszkodzonych plików i ma - pewne problemy z przeszukiwaniem.
- -Aby włączyć obsługę, skompiluj z opcją configure --enable-mad
.
Kodek dźwięku używany do plików VIVO zależy od tego, czy jest to plik VIVO/1.0, - czy VIVO/2.0. Pliki VIVO/1.0 zawierają dźwięk g.723, zaś pliki VIVO/2.0 mają - Vivo Siren. Oba formaty są obsługiwane.
- -By dowiedzieć się, jak zainstalować biblioteki RealPlayer, patrz sekcja - RealVideo.
- - -Strumienie audio QDesign (fourcc: QDMC, QDM2) znajdują się w plikach - MOV/QT. Obie wersje tych kodeków mogą być dekodowane bibliotekami QuickTime. - Po instrukcję instalacji, prosimy zobacz sekcję kodeki wideo - Sorenson.
- - -Strumienie audio Qualcomm (fourcc: Qclp) znajdują się z plikach MOV/QT. - Mogą być dekodowane bibliotekami QuickTime. Po instrukcję instalacji, prosimy zobacz sekcję kodeki wideo - Sorenson.
- - -AAC (Advanced Audio Coding) jest kodekiem audio czasami znajdowanym w plikach - MOV i MP4. Dekoder open source FAAD jest dostępny na - AudioCoding.com. - Możesz pobrać drugą generację kodeka FAAD2 na ich - stronie download. - Niestety FAAD2 1.1 nie kompiluje się na Linuksie, więc musisz użyć wersji - z CVS. Poniżej instrukcja jak:
- -Pakiety nie są dostępne na audiocoding.com, ale możesz je pobrać (apt-get) - pakiety Debiana - Christian Marillat's homepage - i RPMy Mandrake'a z - P.L.F.
- - - -VfW (Video for Windows), jest starym Video API dla Windows. Jego kodeki mają - rozszerzenia .DLL lub (rzadziej) .DRV. - Jeśli MPlayer nie potrafi odtworzyć twojego AVI i wyświetla komunikat - o takim typie:
- - UNKNOWN video codec: HFYU (0x55594648)
To oznacza, że twój AVI jest zakodowany za pomocą kodeka, który ma fourcc
- HFYU fourcc (HFYU = kodek HuffYUV, DIV3 = DivX Low Motion, itd....). Teraz,
- gdy już to wiemy, będziemy musieli dowiedzieć się, którą bibliotekę DLL z Windows
- załadować, aby móc odtworzyć ten plik. W naszym przypadku system.ini
- tę informację w linii:
VIDC.HFYU=huffyuv.dll
Tak więc, potrzebujesz pliku huffyuv.dll
. Zauważ, że kodeki dźwięku
- są wyróżnione za pomocą prefiksu MSACM:
msacm.l3acm=L3codeca.acm
To jest kodek MP3. Mając już wszystkie potrzebne informacje (fourcc, - plik z kodekiem, próbka AVI), wyślij żądanie wsparcia dla twojego kodeka mailem - i załaduj te pliki przez FTP:
- - ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa_kodeka]/
Informacja: W Windows NT/2000/XP szukaj tych informacji w rejestrze. np - szukaj "VIDC.HFYU". By dowiedzieć się więcej, przeczytaj poniższą metodę na - stare DirectShow.
- -DirectShow to najnowsze Video API, które jest nawet gorsze, niż jego poprzednik. - Sprawy się bardziej komplikują, odkąd
- -system.ini
nie zawiera potrzebnych informacji, a w zamian
- za to jest przechowywany w rejestrze iNowa metoda: Użycie Microsoft GraphEdit (szybka)
- -graphedit.exe
(Spróbuj także:
- SysEnum.exe
, przyp. tłumacza).DirectShow Filters
.DisplayName
spójż na tekst w nawiasie po ukośniku
- (backslashu) i zapisz go (pięć ograniczonych kreskami bloków, GUID).Filename
.Informacja: Jeżeli nie ma nic w Filename
i DisplayName
- zawiera coś w stylu device:dmo
, wtedy jest to DMO-Codec.
Stara metoda: Weź głęboki oddech i zacznij przeszukiwać rejestr...
- -regedit
.Ctrl-f
, odznacz pierwsze dwa pola i zaznacz trzecie.
- Wpisz fourcc kodeka (np. TM20).C:\WINDOWS\SYSTEM\TM20DEC.AX
).Informacja: Jeżeli szukanie zawodzi, spróbuj zaznaczyć wszystkie pola. Możesz - uzyskać nieprzydatne wyszukania, ale być może dostaniesz te właściwe przy okazji ...
- -Mając teraz wszystkie niezbędne informacje, (fourcc, GUID, plik kodeka, próbka AVI), - wyślij zgłoszenie wsparcia dla swojego kodeka mailem, i prześlij te pliki na adres FTP:
- - ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa kodeka]/
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
-
Po kompletną listę dostępnych opcji i przykładów MEncoder, proszę zobaczyć - stronę manuala. Po serie ręcznych przykładów i detali używania różnych - parametrów kodowania, czytaj - sztuczki-kodowania gdzie zgromadzone są - rożne wątki mailowe - mplayer-users. - Szukaj w archiwach - zbiorach dyskusyjnych o wszystkich aspektach problemów dotyczących kodowania - MEncoderem.
- - -Kodowanie 2-krokowe: jak sama nazwa wskazuje, metoda ta koduje - plik dwukrotnie. Krok pierwszy (krok zdybingujący) - tworzy pliki podręczne (*.log) z rozmiarem kilku megabajtów, nie kasuje ich - jeszcze (możesz usunąć AVI). W drugim kroku, plik 2-kroku (sic!) jest tworzony - używając bitreatu danych z pliku podręcznego. Plik wynikowy będzie miał lepszą - jakość obrazu. Jeśli spotkałeś się z tym po raz pierwszy powinieneś zasięgnąć - rad dostępnych w Internecie. - -
Przykłady te pokazują jak kodować DVD do 2-krokowego MPEG-4 ("DIVX") AVI. Tylko
- dwie komendy są potrzebne:
- rm frameno.avi
- usuń plik, który może
- pochodzić z poprzedniego 3-krokowego kodowania (może kolidować z obecnym)
- mencoder dvd://2 -ovc lavc -lavcopts
- vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
- mencoder dvd://2 -ovc lavc -lavcopts
- vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
Kodowanie 3-krokowe: to przedłużenie 2-krokowego kodowania, - gdzie kodowanie audio zajmuje miejsce w osobnym kroku. Tam metoda włącza - ocenę sugerowania bitreatu wideo dla dopasowania do CD. Także audio kodowane - jest tylko tak, nie tak jak w trybie 2-krokowym. Schematy:
- -rm frameno.avi
mencoder <file/DVD> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi
Zostanie utworzony plik avi zawierający tylko audio, tylko z pożądanym strumieniem audio.
- Nie zapomnij o -lameopts
, jeśli chcesz je ustawić.
- jeśli kodowałeś długi film, MEncoder wyświetla sugerowane wartości bitrate dla 650Mb,
- 700Mb, i 800Mb rozmiarów docelowych po ukończeniu kroku pierwszego.
mencoder <file/DVD> -oac copy
- -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<bitrate>
To pierwszy krok kodowania wideo. - Opcjonalnie określony bitreate wideo MEncoder wyświetlił na końcu poprzedniego - kroku.
mencoder <file/DVD> -oac copy
- -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<bitrate>
Jest to drugi krok kodwania wideo.
- Określ ten sam bitreat, co w poprzednim kroku, chyba, że naprawdę wiesz, co
- robisz. W tym kroku audio z frameno.avi
zostanie
- wsunięte do docelowego pliku... i wszytko jest gotowe!
rm frameno.avi
- usuń plik, który może
- pochodzić z poprzedniego 3-krokowego kodowania (może kolidować z obecnym)
- mencoder dvd://2 -ovc frameno
- -o frameno.avi -oac mp3lame -lameopts vbr=3
- mencoder dvd://2 -ovc lavc
- -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
- mencoder dvd://2 -ovc lavc
- -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
MEncoder może stworzyć wyjściowy plik z formatem MPEG (MPEG-PS). Jes to prawdopodobnie - użyteczne tylko z kodekiem libavcodeca mpeg1video, ponieważ odtwarzacze - - poza MPlayer - poza wideo MPEG1, i MPEG1 warstwa 2 (MP2) strumieniują audio - w plikach MPEG.
- -Cecha ta jest niezbyt użyteczna w tej chwili, na marginesie prawdopodobnie - zawiera pełno błędów, ale ważna ponieważ MEncoder obecnie nie potrafi kodować audio - MPEG1 warstwy 2 (MP2), którego wszytskie inne odtwarzacze oczekują w plikach MPEG.
- -Aby zmienić format plików wynikowych MEncodera, użyj opcji -of mpeg
.
Przykład:
- mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
- -oac copy <other options> media.avi -o output.mpg
Często potrzebna jest zmiana rozmiarów obrazów filmu. Powodów może być wiele, - na przykład dopasowywanie rozmiarów pliku wyjściowego, szerokośc pasma sieci, itp. - Wiele ludzi często skaluje filmy kiedy konwertują DVD lub SVCD do DivX AVI. Jes to błądne. - Zamiast tego czytaj sekcję Zachowując aspekt stosunku.
- -Proces skalowanie nadzorowany jest przez filter wideo 'scale':
- -vf scale=szerokość:wysokość
. Jego jakość może zostać ustawiona
- przez opcję -sws
. Jeśli nie zostanie określona, MEncoder użyje 0:
- fast bilinear.
mencoder input.mpg -ovc lavc -lavcopts
- vcodec=mpeg4 -vf scale=640:480 -oac copy -o
- output.avi
MEncoder potrafi przechwycić strumień wejściowy na dwa sposoby: kodując lub - kopiując go. Ta sekcja jest o kopiowaniu.
- --ovc copy
): niezła robota
- może zostać wykonana :)-oac copy
): chyba jasne.
- Możliwe jest przejęcie zewnętrznego pliku audio (MP3, Vorbis) i jego zapis
- do strumienia zewnętrznego. Użyj do tego opcji
- -audiofile <filename>
.Prosto kopiujemy strumienie audio i wideo, a MEncoder generuje indeks.
- Oczywiście nie naprawi to błądów strumieni wideo i/lub audio. Naprawia
- to także pliki z uszkodzonym przeplataniem, tak więc opcja -ni
- będzię potrzebna tak, czy inaczej.
Polecenie: mencoder -idx input.avi -ovc copy -oac copy -o output.avi
Taki efekt uboczny, finkcja naprawiająca uszkodzone AVI włącza MPlayera do łączenia - 2 (lub więcej) plików AVI:
- -Polecenie: cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -
Inforamcja: Oczekuje to 1.avi
i 2.avi
aby użyc tego samego kodeka,
- rozdzielczości, stosunku strumieniowania itp, i co najmniej 1.avi nie mże być uszkodzony.
- Może musisz najpierw naprawić twój wchodzący AVI, jak opisano wyżej.
libavcodec zapewnia proste kodowanie do różnych interesujących -formatów wideo i audio (obecnie kodeki audio są niedostępne). Możesz kodować do następującch kodeków:
- -Pierwsza kolumna zawiera nazwy kodeków, które powinny być podane po konfiguracji
- vcodec
, czyli: -lavcopts vcodec=msmpeg4
Przykład z kompresją MJPEG:
- mencoder dvd://2 -o title2.avi -ovc lavc
- -lavcopts vcodec=mjpeg -oac copy
MEncoder jest w stanie utworzyć filmy z jednego lub więcej plików JPEG, PNG lub TGA. - Z prostym kopiowaniem klatek potrafi utworzyć MJPEG (Ruchome JPEG), MPNG - (Ruchome PNG) lub MTGA (Ruchome TGA) files.
- -Objeśnienie procesu: - -libjpeg
- (kieedy dekoduje PNGsy, użyje libpng).Wyjaśnienie opcji -mf
, które możesz znaleść niżej opisane
-są w manualu.
Tworzenie pliku DivX4 ze wszytskich plików JPEG w obecnym katalogu:
- mencoder -mf on:w=800:h=600:fps=25 -ovc divx4
- -o output.avi \*.jpg
Tworzenie pliku DivX4 z niektórych plików JPEG w obecnym katalogu:
- mencoder -mf on:w=800:h=600:fps=25
- -ovc divx4 -o output.avi frame001.jpg,frame002.jpg
Tworzenie pliku Rychomego JPEG (MJPEG) ze wszystkich plików JPEG w obecnym katalogu:
- mencoder -mf on:w=800:h=600:fps=25 -ovc copy
- -o output.avi \*.jpg
Tworzenie pliku nieskompresowanego ze wszytskich plików PNG w obecnym katalogu:
- mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb
- -o output.avi \*.png
Informacja: Szerokość musi być całkowitą wielokrotnością 4, to limity formatu -RAW RGB AVI.
- -Tworzenie Ruchomego PNG (MPNG) ze wszytskich plików w obecnym katalogu:
- mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
- -o output.avi \*.png
Tworzenie Ruchomego TGA (MTGA) ze wszystkich plików TGA w obecnym katalogu:
- mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy
- -o output.avi \*.tga
MEncoder potrafi wyciągnąc napisy z DVD do pliku o formacie Vobsub.
- Polegają one na parach kodowanych plików w
- .idx
i .sub
i zazwyczaj pakowane są w pojedyncze archiwum
- .rar
. MPlayer potrafi je odtwarzać z opcjami
- -vobsub
i -vobsubid
.
Ty określasz nazwę główną (tj. bez rozszerzenia .idx
lub
- .sub
) pliku wyjściowego z -vobsubout
- i indeks dla tych napisów w pliku wynikowym z -vobsuboutindex
.
Jeśli plik wejścowy nie pochodzi z DVD powinienieś użyć -ifo
, aby
- wskazać plik .ifo
wymagany do konstrukcji pliku wynikowego
- .idx
.
Jeśli plik wejściowy nie pochodzi z DVD, a ty nie masz pliku .ifo
- będziesz musiał użyć opcji -vobsubid
aby poinformować, który id języka
- należy włożyć do pliku .idx
.
Każde uruchomienie będzie dodawać uruchamiane napisy jeśli pliki .idx
i
- .sub
już istnieją. Powinieneś więc usunąć jakieś przed startem.
Kopiowanie dwóch napisów z DVD podczas kodowania 3-krokowego
- rm subtitles.idx subtitles.sub
- mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 0
- -sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3
- mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=1
- mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=2 -vobsubout
- subtitles -vobsuboutindex 1 -sid 5
Kopiowanie francuskich napisów z pliku MPEG
- rm subtitles.idx subtitles.sub
- mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles
- -vobsuboutindex 0 -vobsuboutid fr -sid 1
Pliki DVD i SVCD (tj. MPEG1/2) zawierają wartość stosunku, która opisuje, jak - odtwarzacze powinny skalować strumień wideo (np.: 480x480 + 4:3 = 640x480). - Jednak, kiedy kodujesz do plików AVI (DivX), powinieneś wiedzieć, - że nagłówki AVI nie zapamiętują takiej wartości. - W taki sposób jedynym rozwiąznaniem jest skalowanie!
- -MPEG4 posiada niespotykaną cechę: strumień wideo może zawierać jego wymagany - stosunek. Tak, tylko takie pliki jak MPEG1/2 (DVD, SVCD). - Przesadzając, nie ma odtwarzaczy wideo które obsługują tą cechę. - Za wyjątkiem MPlayera.
- -Cecha ta może być użyta tylko z kodekiem mpeg4
libavcodeca.
- Zatrzymaj w świadomości: chociaż MPlayer poprawnie odtwrza stworzone pliki,
- inne odtwarzacze użyją błędnego stosunku.
Powinineś poważnie ściąć czarne obramówki na około i poniżej obrazu filmu.
- Zobacz manual odnośnie użytku filtrów cropdetect
i
- crop
.
$ mencoder sample-svcd.mpg -ovc lavc -lavcopts
- vcodec=mpeg4:aspect=16.0/9.0 -vf crop=714:548:0:14 -oac copy -o output.avi
- In file included from mplayer.c:34: - mw.h: In function `mplMainDraw': - mw.h:209: Internal compiler error in print_rtl_and_abort, at flow.c:6458 - Please submit a full bug report, - with preprocessed source if appropriate. --
"Your gcc does not support even i386 for '-march' and '-mcpu'."
"Twoje gcc nie wspiera nawet i386 dla '-march' i '-mcpu'."
- config.log
- po więcej szczegółów.- In file included from /usr/include/g++-v3/bits/std_cwchar.h:42, - from /usr/include/g++-v3/bits/fpos.h:40, - from /usr/include/g++-v3/bits/char_traits.h:40, - from /usr/include/g++-v3/bits/std_string.h:41, - from /usr/include/g++-v3/string:31, - from libwin32.h:36, - from DS_AudioDecoder.h:4, - from DS_AudioDec.cpp:5: - /usr/include/wchar.h: In function Long long int wcstoq(const wchar_t*, - wchar_t**, int)': - /usr/include/wchar.h:514: cannot convert `const wchar_t* __restrict' to - `const --
--No i mamy ideg'i. I nasz licznik ideg przepełnia się raz za razem.
- -Niestety MPlayer jest poza naszą kontrolą. Jest używany przez lamerów, - użytkowników Linuksa którzy nie potrafią korzystać nawet z Windowsa, i nigdy - nie próbowali skompilować jądra. Zainstalowują oni (ze standardowymi opcjami) - Mandrake'a lub Red Hata lub SuSE, i bez RTFM'owania wysyłają wiadomości - mówiące 'to ne działa! pomóżcie mi! proszę! jestem nowy w Linuksie! pomóżcie! - oh! pomóżcie mi!'. Nie możemy ich zatrzymać, ale ostatnio próbujemy zmusić - ich do RTFM i do czytania komunikatów ./configure i MPlayera.
- -I wy sprytni goście przychodzący i obrażający nas z gcc 2.96 i binarnymi - pakietami. Zamiast pomagać użytkownikom lub tworzyć poprawki, które rozwiązałyby - problemy.
- -Połowa naszego dodatkowego/wolnego czasujest poświęcana na odpowiadanie na - głupie listy tutaj i tworzenie nowych sztuczek i kontroli w konfiguracji by - uniknąć takich listów.
- -I tu jest równowaga. Po jednej stronie wy, sprytni goście, mówiący że jesteś - bardzo źli, bo nie lubimy zapluskwionego gcc 2.96, a po drugiej stronie - są ci 'nowi w Linuksie', którzy pokazują nam, że gcc 2.96 ma błędy.
- -Wniosek: Nie możemy być dobrzy. Połowa ludzi zawsze będzie mówiła, że - jesteśmy źli.
- -Może powinniśmy zakończyć projekt, zrobić go zamknięto-źródłowym, komercyjnym - i dostarczać pomoc do instalacji. Potem mogliśmy porzucić aktualne prace, no coż, - programiści mogli być szybsi, i mogliśmy zarobić dużo pieniędzy i kupić - duży dom, itd. itp. Naprawdę tego chcecie? Wydaję się że tak.
-
cp etc/inttypes.h .
) i spróbuj ponowie..../configure
- nie wykrywa SSE.../usr/X11
i /usr/include/X11
- są zrobione (to może być problemem w systemach Mandrake). Mogą one być stworzone
- tymi komendami:$ ln -sf /usr/X11R6 /usr/X11
$ ln -sf /usr/X11R6/include/X11 /usr/include/X11
BACKGROUND = y
.> error while loading shared libraries: lib*.so.0: cannot load
- shared object file: No such file or directory
> bład podczas ładowania biblioteki współdzielonej: lib*.so.0: nie można
- załadować docelowego pliku: Nie ma takiego pliku ani katalogu
/usr/local/lib
.../usr/local/lib
do /etc/ld.so.conf
i uruchom
- ldconfig
.Warning: loading mga_vid.o will taint the kernel: no license
Warning: ładowanie mga_vid.o zanieczyści jądro: nie ma licencji
o
i spróbuj opcji -osdlevel
.-xy
lub -fs
nie działają ze sterownikiem
- x11 (-vo x11
)...-zoom
. Lepiej użyj wsparcia dla XF86VidMode:
- Musisz dodać opcje -vm
i -fs
, i zrobione. Upewnij się
- czy masz poprawne modeline w pliku XF86Config i spróbuj zrobić by
- sterownika DGA
- steronika SDL z DGA działały u ciebie.
- To jest o wile szybsze. Jeżeli SDL z DGA działa, użyj go, to może działać jeszcze
- szybciej.A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%
- -autoq
)-quiet
i przeczytaj stronę manuala.-vo null
i potem -vo ...
i sprawdzić różnice
- prędkości video_out./usr/lib/win32/
...mplayer
zamiast
- mplayer_lirc
? Zauważ, że mplayer_lirc
było dawno
- temu, jeszcze za wersji 0.60, ale ostatnio zostało przeniesione do
- mplayera
../configure
, zedytuj config.h
- i zastąp #undef FAST_OSD
na #define FAST_OSD
.
- Potem przekompiluj.-double
. Spróbuj także -vf expand
-fstype layer
i zgłoś to na grupę dyskusyjną
- mplayer-users.mplayer <opcje> <nazwa pliku> < /dev/null &
- Detected audio codec: [divx] afm:4 (DivX audio (WMA)) - Requested audio codec family [divx] (afm=4) not available (enable it at - compile time!) - - Wykryty kodek audio: [divx] afm:4 (DivX audio (WMA)) - Wymagana rodzina kodeków audio [divx] (afm=4) nie jest dostępna (włącz je - podczas kompilacji!) --
-bps
lub -nobps
. Jeżli to nie pomoże
- przeczytaj to i wyślij plik na FTP.ldd /usr/local/bin/mplayer
. Jeżeli zawieralibc.so.6 => /lib/libc.so.6 (0x4???????)
libc.so.6 => /lib/libc.so.6 (0x00??????)
-afm 1
by wyłączyć użycie l3codeca.acm../configure --enable-runtime-cpudetection
). Nie używaj
- MPlayera na procesorach innym od tego, na którym był kompilowany,
- chyba że z funkcją o której przed chwilą wspomniano.~/.mplayer/
.
- Zrób jego upgrade z /etc/
.vc=
lub czegoś podobnego
- w twoim pliku(ach) konfiguracyjnym(nych).-ao arts
). Jeżli to nie zadziała, lub nie jest
- wkompilowane, wypróbuj SDL (-ao sdl
) i upewnij się, że twój SDL może
- przechwytywać dźwięk arts. Są jeszcze inne opcje, by uruchomić MPlayera z
- artsdsp.-vc odivx
- i zielony z -vc divx4
.DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
-ni
.-ao oss
.
- Zobacz sekcję o kartach dźwiękowych.-nobps
, i/lub
- -mc 0
.codecs.conf
, lub użyj opcji opcji
- -vc ffmjpeg
(aby to zadziałalo skompiluj MPlayer z libavcodec).Linux RTC init: ioctl (rtc_pie_on): Permission denied
Detected video codec: [null] drv:0 (NULL codec (no decoding))
codecs.conf
.-nortc
.- AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) - audio_setup: Can't open audio device /dev/dsp: Device or resource busy - couldn't open/init audio device -> NOSOUND - Audio: no sound!!! - Start playing... --
-ao arts
lub
- -ao esd
, by MPlayer używał ARTS lub ESD../configure
automatycznie wykrywa sterownik DGA. Jeżeli
- -vo help
nie pokazuje DGA, wtedy to problem z instalacją X.
- ./configure --enable-dga
i przeczytaj
- dokumentację. Alternatywnie, wypróbuj steronik
- DGA SDLa opcją -vo sdl:dga
.-vo help
pokazuje sterownik DGA, ale skarży się
- na uprawnienia. Pomóżcie mi!su -
), i spróbować ponownie.
- Innym rozwiązaniem jest nadanie MPlayerowi SUIDa roota, ale to
- nie jest zalecane!chown root /usr/local/bin/mplayer
chmod 755 /usr/local/bin/mplayer
chmod +s /usr/local/bin/mplayer
- Ostrzeżenie: zagrożenie dla bezpieczeństwa-
- Jest to dużym zagrożeniem dla bezpieczeństwa! Nigdy nie rób - tego na serwerach lub na komputerach, nad którymi nie masz całkowitej - kontroli, ponieważ inni użytkownicy uzyskają uprawnienia przez MPlayera - z SUIDem roota. Zostałeś ostrzzeżony. -
X Error of failed request: BadAccess (attempt to access private
- resource denied)
- Major opcode of failed request: 147 (MIT-SHM)
- Minor opcode of failed request: 1 (X_ShmAttach)
- Serial number of failed request: 26
- Current serial number in output stream:27
-vo gl
) nie działa (zwis/czarny ekran/błędy
- X11/...).x11
,
- ale nie xv
!x11
. Teraz wypróbuj
- -vo x11 -fs -zoom
. Widzisz różnice? Nie?! OK, tutej przychodzi
- oświecenie: podsterownik SDLa x11
używa xv gdy jest dostępne,
- nie musisz się o to martwić ... Informacja: możesz wymusić/wyłączyć używanie
- Xv przez SDL using -forcexv
i -noxv
mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion
- nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.
/dev/
).-chapter
.-cache
(opisano w stronie manuala)
- i spróbuj włączyć DMA w napędzie DVD narzędziem hdparm (opisano
- w rozdziale o CD w dokumentacji).Badly interleaved AVI file detected - switching to -ni
- mode...
- -cache
nie działają razem
- za dobrze. Spróbuj -nocache
.film.avi.conf
w którym umieścisz
- specyficzne dla pliku opcje i umieścisz go w ~/.mplayer
lub
- w katalogu tym samym co film.mencvcd
z podkatalogu TOOLS
.
- Możesz nim zakodować płyty DVD lub inne filmy do formatu VCD lub SVCD,
- a nawet wypalić je bezpośrednio na płytę CD.cat file1 file2 > file3
mencoder -ovc copy -oac copy -o out.avi -forceidx file3.avi
-sid
!-chapter
, np.:
- -chapter 5-7
Ważne jest, by wyjaśnić podstawową pomyłkę. Gdy ludzie widzą plik z rozszerzeniem - .AVI, natychmiast wywnioskowują, że to nie jest plik MPEG. To jednak - nie jest prawdą, a przynajmniej nie całkowitą. W przeciwieństwie do popularnego - poglądu, te pliki mogą zawierać wideo w MPEG.
- -Zauważ, że kodek to nie to samo co format pliku.
- Przykładami kodeków wideo są: MPEG1, MPEG2, DivX, Indeo5, 3ivx.
- Przykładami formatów plików są: MPG, AVI, ASF.
Teoretycznie, możesz umieścić wideo OpenDivX dźwięk MP3 w formacie pliku - MPG. Jednak, większość odtwarzaczy nie odtworzy tego, ponieważ oczekują one - wideo MPEG1 i dźwięk MP2 (w odróżnieniu od AVI, MPG nie posiada - niezbędnych pól do określania jego strumieni wideo i audio). Możesz też umieścić - wideo MPEG1 w pliku AVI. - FFmpeg i - MEncoder potrafią tworzyć takie pliki.
- - - -Pliki MPEG występują w różnych odmianach:
- --vcd
by odtworzyć Video CD.Klatki w pliki MPEG nie są powiązane w grupy. Oznacza to, że możesz
- ciąć/łączyć pliki MPEG przy pomocy standardowych narzędzi plikowych (takich jak
- dd
, cut
) i pozostaną one całkowicie funkcjonalne.
Jedną z ważnych cech plików MPG jest to, że mają one pole, w którym określa się
- stosunek obrazu dla strumienia wideo. Dla przykładu, SVCD rozdzielczość wideo to 480x480
- i w nagłówku tego pola ustawione jest 4:3, więc będzie on odtwarzany jako
- 640x480. Pliki AVI nie zawierają tego pola, więc muszą być przeskalowywane w czasie
- kodowania lub odtwarzane z opcją -aspect
.
Stworzony przez Microsoft, AVI (Audio Video Interleaved) jest - rozpowszechnionym, używanym do różnych celów formatem, aktualnie używany głównie - dla wideo DivX i DivX4. Ma on wiele znanych wad i mankamentów (na przykład - w strumieniowym przesyłaniu). Wspiera jeden strumień wideo i od 0 do 99 strumieni - audio. Rozmiar pliku jest ograniczony do 2 GB, ale jest rozwiązanie pozwalające - na większe pliki o nazwie OpenDMS. Aktualnie Microsoft bardzo odradza - jego używanie i zachęca do ASF/WMF. Nikogo to jednak nie obchodzi.
- -Jest rozwiązanie, które pozwala na umieszczenie strumienia audio Ogg Vorbis - w plikach AVI, ale powodujące niezgodności ze standardem AVI. MPlayer - potrafi odtwarzać te pliki. Przeszukiwanie także jest dodane, ale poważnie - utrudnione przez źle zakodowane pliki z mylącymi nagłówkami. Na nieszczęście - jedyny koder, który aktualnie potrafi tworzyć takie pliki, NanDub, ma ten - problem.
- -Informacja: Kamery DV tworzą surowy strumień DV który narzędzia przechwytujące - DV konwertują do dwóch różnych typów plików AVI. Plik AVI zawiera później wcześniej - oddzielone strumienie wideo i audio, który MPlayer potrafi odtworzyć - lub surowy strumień DV, dla którego wsparcie jest w budowie.
- -Są dwa rodzaje plików AVI:
--ni
).MPlayer Wspiera dwa sposoby odwzorowania czasu w plikach AVI:
-Każdy kodek dźwięku i wideo jest dozwolony, ale zauważ, że dźwięk VBR nie jest - dobrze wspierany przez większość odtwarzaczy. Format pliku pozwala na użycie - dźwięku VBR, ale większość odtwarzaczy oczekuje dźwięku CBR (stały bitrate), - tak więc nie potrafią dobrze odtworzyć filmu z dźwiękiem VBR. VBR jest - niestandardowy i specyfikacja AVI Microsoftu zawiera tylko dźwięk CBR. Większość - koderów/edytorów tworzy złe pliki gdy używa dźwięku VBR. Są tylko dwa znane wyjątki: - NanDub i MEncoder.
- - -ASF (active streaming format) pochodzi z Microsoftu. Stworzyli dwa warianty - ASF, v1.0 i v2.0. v1.0 jest używana przez ich narzędzia (Windows - Media Player i Windows Media Encoder) i jest ściśle tajny. v2.0 jest upubliczniony - i opatentowany :). Oczywiście, różnią się one, w ogóle nie są one ze sobą kompatybilne - (jest to po prostu inne zagranie prawne). MPlayer wspiera tylko v1.0, ponieważ nikt nigdy nie widział - plików v2.0 :). Zauważ, że pliki ASF obecnie są z rozszerzeniem .WMA lub .WMV.
- - -Ten format został stworzony przez Apple i może zawierać dowolny kodek, CBR lub VBR.
- Mają zazwyczaj rozszerzenie .QT lub .MOV. Od czasu gdy grupa MPEG4 wybrała QuickTime'ma
- jako rekomendowany format pliku dla MPEG4, ich pliki MOV mają rozszerzenia
- .MPG lub .MP4 (Interesujące strumienie video i audio w tych plikach
- to naprawdę pliki MPG i AAC. Możesz je wydobyć opcjami
- -dumpvideo
i -dumpaudio
.).
Informacja: Większość nowych plików QuickTime używa wideo Sorenson i dźwięku - QDesign Music. Zobacz naszą sekcję o kodeku Sorenson.
- - -MPlayer pomyślnie dekoduję pliki w formacie VIVO. Największą wadą tego formatu jest - to, że nie ma on bloku z indeksem, ani ustalonego rozmiaru pakietu lub bajtów - synchronizacyjnych i większość plików nie ma nawet klatek kluczowych (keyframe), - więc zapomnij o przeszukiwaniu!
- -Kodekiem wideo plików VIVO/1.0 jest standardowy h.263. Kodekiem wideo - plików VIVO/2.0 jest zmodyfikowany, niestandardowy h.263v2. Dźwięk jest taki sam, - może to być g.723 (standard), lub Vivo Siren.
- -Zobacz sekcje Kodek wideo VIVO i - Kodek audio VIVO po instrukcje - instalacji.
- - -FLI jest to bardzo stary format używany przez Autodesk Animator, ale jest on
- podstawowym formatem pliku dla krótkich animacji w sieci. MPlayer demuksuje (demuxed)
- i dekoduje filmy FLI i potrafi nawet je przeszukiwać (użyteczne przy zapętleniu
- opcją -loop
). Pliki FLI nie mają klatek kluczowych (keyframe),
- więc obraz może być zniekształcony przez krótki czas po przeszukiwaniu.
Tak, MPlayer potrafi czytać (demux) pliki RealMedia (.rm). Przeszukiwanie działa,
- ale musisz wyraźnie podać opcję -forceidx
(format wspiera keyframe'y).
- Oto listy wspieranych kodeków
- RealVideo
- i RealAudio.
NuppelVideo - jest narzędziem przechwytującym TV (AFAIK:). MPlayer może odczytać jego pliki - .NUV (tylko NuppelVideo 5.0). Te pliki mogą zawierać nieskompresowane YV12, - skompresowane YV12+RTJpeg, skompresowane YV12 RTJpeg+lzo, i skompresowane YV12+lzo klatki. - MPlayer dekoduje je wszystkie (i również koduje je MEncoderem do DivX/itp!). - Przeszukiwanie działa.
- - -yuv4mpeg / yuv4mpeg2 jest formatem pliku - używanym przez programy mjpegtools. - Możesz przechwytywać, tworzyć, filtrować lub kodować wideo w tym formacie formacie - używając tych programów. Ten format pliku jest tak naprawdę sekwencją nieskompresowanych - obrazów YUV 4:2:0.
- - -Ten format jest używany w starych CD-Romach z grami dla Segi Saturn.
- - -Pliki RoQ są multimedialnymi plikami używanymi w niektórych grach ID takich jak Quake III - i Return to Castle Wolfenstein.
- - -Jest to nowy format pliku z Xiphophorus.
- Może zawierać dowolny kodek wideo lub audio, CBR lub VBR. Będziesz musiał
- zainstalować libogg
i libvorbis
przed
- kompilacją MPlayera, by móc je odtworzyć.
SDP - jest standardowym formatem IETF do opisywania strumieni RTP wideo i/lub audio. - (wymagane są biblioteki "LIVE.COM - Streaming Media".)
- - -PVA jest formatem podobnym do MPEG używanym przez oprogramowanie dostarczane - z kartami DVB TV (np.: MultiDec, WinTV) w Windowsie.
- -Specyfikację PVA możesz pobrać z poniższego adresu: - http://www.technotrend.de/download/av_format_v1.pdf
- - -Format GIF jest podstawowym formatem graficznym w sieci. Są dwie wersje
- specyfikacji GIFa, GIF87a i GIF89a. Główną różnicą jest to, że GIF89a
- umożliwia tworzenie animacji. MPlayer wspiera oba formaty poprzez użycie
- biblioteki libungif lub innej kompatybilnej z libgif. Nie-animowane GIFy będą
- wyświetlone jako jednoklatkowe wideo. (Użyj opcji -loop
i
- -fixed-vo
by wyświetlić je dłużej.)
Aktualnie MPlayer nie wspiera przeszukiwania w plikach GIF. Pliki GIF - nie mają wymaganego ustalonego rozmiaru klatki, ani ustalonego tempa klatek. - Raczej, każda klatka ma niezależny rozmiar i jest przypuszczalnie pozycjonowana - w określonym miejscu w polu o określonym rozmiarze. Tempo klatek jest kontrolowane - przez opcjonalny blok przed każdą klatką, który określa opóźnienie następnej klatki - w setnych sekundy.
- -Standardowy plik GIF zawiera klatkę 24-bitową RGB z w większości 8-bitową paletą kolorów. - Klatki te są zazwyczaj skompresowane przy użyciu LZW, jednak niektóre - kodery GIF tworzą nieskompresowane klatki by ominąć patenty na kompresje - LZW.
- -Jeżeli twoja dystrybucja nie zawiera libungif, pobierz kopie ze - strony domowej libungif. - Po dokładne techniczne informacje, zobacz - specyfikację GIF89a.
- - -MPlayer jest odtwarzaczem Filmów a nie Media, chociaż - potrafi odtworzyć niektóre pliki formatów audio (są one wypisane w sekcji poniżej). - To nie jest zalecane użycie MPlayera, lepiej używaj - xmms.
- - -Możesz mieć problemy z odtwarzaniem pewnych plików MP3 ponieważ MPlayer źle
- wykrywa MPEGi i odtwarza je niepoprawnie lub w ogóle. Nie może to być naprawione
- bez dołączeni wsparcia dla konkretnych popsutych plików MPEG, tak więc
- pozostawiamy takie sprawy na najbliższą przyszłość. Flaga -demuxer
określona
- w stronie manuala może pomóc w tych przypadkach.
Wymaga poprawnie zainstalowanych libogg
i
- libvorbis
.
MPlayer może używać cdparanoia (bibliotek) by odtwarzać CDDA (Audio CD). - Zakres tego rozdziału nie pozwala na wyliczenie funkcji cdparanoia'i.
- -Zobacz opcję -cdda
w manualu, która może być użyta do podawania opcji
- do cdparanoia.
MPlayer może używać pluginów wejścia XMMS by odtwarzać wiele formatów plików. Są tam - pluginy dla melodii gry SNES, melidii SID (z Commodore 64), wielu formatów Amigii, - .xm, .it, VQF, musepack, Bonk, shorten i wielu innych. Możesz je znaleźć na - stronie z pluginami do XMMSa.
- -Do tej funkcji musisz mieć XMMSa i skompilować MPlayera z
- ./configure --enable-xmms
. Jeżeli to nie działa, możliwe, że musisz
- podać ścieżki do katalogów z pluginami i bibliotekami XMMS poprzez opcje
- --with-xmmsplugindir
i --withxmmslibdir
.
Celem tej dokumentacji jest opisanie formatu skór MPlayera. Informacje zawarte - w tym dokumencie mogą być błędne, ponieważ:
- -Więc nie bądź zaskoczony jeżeli coś nie będzie działało w sposób w jaki zostało tutaj opisane.
- -Podziękowania dla Zoltán Ponekker za jego pomoc.
- -András Mohari <mayday@freemail.hu>
- - -To nie ma tak naprawdę żadnego związku z formatem skór, ale powinieneś wiedzieć, - że MPlayer nie ma wbudowanej skórki, więc musisz mieć zainstalowaną chociaż - jedną skórę, aby mieć możliwość używania GUI.
- - -Katalogi przeszukiwane przez MPlayera w poszukiwaniu skór to (w kolejności szukania):
- -- $(DATADIR)/Skin/ - $(PREFIX)/share/mplayer/Skin/ - ~/.mplayer/Skin/ -- -
Zauważ, że pierwsza ścieżka może być zależna od tego, jak MPlayer został skonfigurowany
- podczas kompilacji (zobacz argumenty --prefix
i --datadir
- skryptu configure
).
Każda skórka jest zainstalowana w swoim własnym katalogu znajdującym się w jednym - z folderów wymienionych powyżej, na przykład:
- -- $(PREFIX)/share/mplayer/Skin/default/ -- - -
Obrazki muszą to być PNG z głębią kolorów truecolor (24, albo 32 bity).
- -W głównym oknie i w pasku odtwarzania (zobacz niżej) możesz używać obrazków - z 'przeźroczystością': obszary wypełnione przy użyciu koloru #FF00FF - (magenta) są dla MPlayera w pełni przeźroczyste. - Oznacza to, że możesz używać dowolnych kształtów okna głównego, jeżeli - twój X serwer posiada rozszerzenie XShape.
- - -Skórki są całkowicie konfigurowalne (w przeciwieństwie np. do skór Winampa/XMMS) - (chodzi o to, że możesz umieścić dowolny przycisk np. 'play' w dowolnym miejscu - swojej skóry, format XMMSa i Winampa ma z góry ustalone położenie każdego elementu - i nie można tego zmienić - przyp. tłumacza), więc tylko od ciebie zależy, - czy stworzysz coś naprawdę fajnego.
- -Na dzień dzisiejszy są trzy okna do skonfigurowania: okno główne - (main window), okno ekranu (subwindow), - pasek odtwarzania (playbar) oraz menu skóry - (skin menu) (które może zostać uaktywnione poprzez naciśnięcie prawego przycisku myszy).
- -Okno główne i/lub pasek odtwarzania to okno w którym kontrolujesz - MPlayera. Tło tego okna jest obrazkiem. Różne elementy mogą (i muszą) być umieszczone - w tym oknie: przyciski (buttons), potencjometry (suwaki, ang. potmeters, sliders) - i etykiety (labels). Dla każdego elementu musisz określić jego pozycję oraz rozmiar.
- -Przycisk ma trzy fazy (wciśnięty, uwolniony oraz nieaktywny), więc ich obrazki - muszą być podzielone na trzy części w pionie. Zobacz sekcję przyciski, - aby uzyskać więcej informacji.
- -Potencjometry (zazwyczaj używane do określania pozycji filmu (seek bar) oraz do - kontroli głośności/balansu dźwięku) mogą posiadać dowolną liczbę faz poprzez podzielenie - jego obrazka na części, gdzie następna faza jest poniżej poprzedniej. - Zobacz sekcję hpotmeter i potmeter, - aby dowiedzieć się więcej na ten temat.
- -Etykiety są bardzo specyficzne: znaki służące do ich opisania są - brane z poliku graficznego, a litery, które są w nim zawarte w pliku graficznym - są opisane przez plik opisujący fonty. Jest to plik tekstowy, - który określa pozycję x, y oraz rozmiar każdego symbolu znajdującego się w obrazku - (a więc "plik graficzny z fontami" i "plik opisujący fonty" tworzą razem fonty). - Zobacz dlabel i slabel, - po więcej szczegółów.
- -Informacja: wszystkie obrazki mogą posiadać przeźroczystość tak, - jak opisano to w sekcji formaty plików graficznych. Jeżeli - serwer X nie obsługuje rozszerzenia XShape, część oznaczona jako przezroczysta, będzie - czarna. Jeżeli chcesz używać tej funkcji, szerokość obrazka tła głównego okna musi - być podzielna przez 8.
-# menu skóry to po prostu jeden ze sposobów do kontrolowania MPlayera - poprzez polecenia z menu. Wymagane są tutaj dwa obrazki: pierwszy z nich jest - podstawowym obrazkiem pokazującym menu w "normalnym" stanie, drugi natomiast jest - używany do wyświetlania wybranych elementów. Kiedy aktywujesz menu pokazywany jest - pierwszy obrazek. Kiedy najeżdżasz kursorem na którąś z pozycji, jej zaznaczenie - jest kopiowane z drugiego obrazka na obszar menu znajdujący się pod wskaźnikiem myszy - (a więc drugi obrazek nigdy nie jest pokazany w całości).
- -Obszar menu znajdujący się pod kursorem jest zdefiniowany poprzez jego pozycję - i rozmiar w obrazku (zobacz sekcję menu skóry aby dowiedzieć - się więcej na ten temat).
-Jest jeszcze jedna ważna rzecz, która nie została jeszcze wspomniana: dla przycisków, - potencjometrów i obszarów menu, MPlayer musi wiedzieć co ma zrobić jeżeli zostaną one - kliknięte. Zajmują się tym sygnały (zdarzenia). Dla wszystkich - tych elementów muszą być zdefiniowane sygnały, które mają zostać wywołane po naciśnięciu - przycisku myszy.
- - -Aby stworzyć skórę będziesz potrzebował następujących plików:
- -Poza plikiem konfiguracyjnym skóry, możesz nazwać wszystkie inne pliki
- jak tylko chcesz (ale pamiętaj, że plik opisujący fonty musi mieć rozszerzenie .fnt
).
Jak wspomniano powyżej jest to plik konfigurujący skórę. Potrafi on rozpoznawać
- typy wierszy: wiersze komentarza rozpoczyna średnik, czyli ';
'
- (przed nim mogą znajdować się tylko spacje, lub znaki tabulacji).
Plik podzielony jest na sekcję. Każda z nich opisuje poszczególny element - skóry dla każdej z aplikacji i ma następującą postać:
- -
--section = section name -. -. -. -end -- |
-
Na dzień dzisiejszy istnieje tylko jedna aplikacja, więc potrzebujesz tylko jednej sekcji: - jej nazwa to movieplayer (odtwarzacz filmów).
- -W tej sekcji każde z okien jest opisane poprzez dany blok w taki sposób:
- -
--window = window name -. -. -. -end -- |
-
gdzie window name może być jednym z następujących ciągów znaków:
- -(wpisy sub i menu są opcjonalne - nie musisz tworzyć menu, ani dekorować - okna ekranu jeżeli nie chcesz.)
- -W każdym z bloków możesz zdefiniować poszczególne elementy (items) dla danego - okna w sposób przedstawiony poniżej:
- -item = parameter
item
jest ciągiem znaków identyfikującym typ danego
- elementu GUI, parametr jest numeryczną, lub tekstową wartością
- (lub listą wartości oddzieloną przecinkami).Łącząc to wszystko ze sobą, uzyskujemy plik wyglądający mniej więcej tak:
- -
--section = movieplayer - window = main - ; ... elementy dla okna głównego ... - end - - window = sub - ; ... elementy dla okna ekranu ... - end - - window = menu - ; ... elementy dla menu skóry ... - end - - window = playbar - ; ... elementy dla paska odtwarzania ... - end -end -- |
-
Nazwa obrazk musi być podana bez żadnych głównych katalogów - obrazki są
- poszukiwane w katalogu ze skórką
. Możesz (ale nie musisz) podać
- rozszerzenie plików. Jeżeli plik nie istnieje, MPlayer próbuje załadować plik
- <nazwa pliku>.<rozszerzenie>
, gdzie png
- i PNG
są próbowane jako <rozszerzenie>
(w tej
- kolejności). Wykorzystany zostanie pierwszy pasujący plik.
Na koniec kilka słów o pozicjonowaniu. Główne okno i okno ekranu mogą
- być umieszczone w różnych narożnikach ekranu poprzez podanie parametrów
- X
i Y
. 0
jest górą lub lewą stroną,
- -1
wyśrodkowuje, a -2
jest dołem lub prawą stroną,
- jak pokazano na ilustracji:
- -(0, 0)----(-1, 0)----(-2, 0) - | | | - | | | -(0,-1)----(-1,-1)----(-2,-1) - | | | - | | | -(0,-2)----(-1,-2)----(-2,-2) - -- -
Tutaj jest przykład, który powinien to wyjaśnić. Przypuśćmy, że masz obrazek
- o nazwie main.png , który używasz do głównego okna:
-
-
- MPlayer próbuje załadować main , main.png ,
- main.PNG .
- |
-
Poniżej możesz zobaczyć listę elementów, które mogą być użyte w bloku
- 'window = main
' . . . 'end
', i w
- 'window = playbar
' . . 'end
'.
base = obrazek, X, Y
x,y
pozycji na ekranie.
-Okno to będzie rozmiarów obrazka tła.
- button = obrazek, X, Y, szerokość, wysokość,
- sygnał
szerokość
* wysokość
- na pozycji X
,Y
. Określony sygnał
jest generowany,
- kiedy przycisk zostanie kliknięty. Obrazek określony przez obrazek
- musi być podzielony na trzy części umieszczone jedna pod drugą (podzielony według
- możliwych faz przycisku), w ten sposób:
--+------------+ -| wciśnięty | -+------------+ -| uwolniony | -+------------+ -| nieaktywny | -+------------+ --
decoration = enable|disable
- hpotmeter = przycisk, szer_przycisku, wys_przycisku,
- fazy, liczbafaz, domyślna, X, Y, szerokość, wysokość, sygnał
vpotmeter = przycisk, szer_przycisku, wys_przycisku, fazy, liczbafaz,
- domyślna, X, Y, szerokość, wysokość, sygnał
szerokość
* wysokość
- na pozycji X
,Y
. Obrazek może być podzielony na różne części
- dla różnych faz potencjometru (np. możesz mieć potencjometr głośności, który zmienia się
- z zielonego na czerwony podczas zmiany głośności z minimalnej do maksymalnej).
- hpotmeter
może mieć przycisk który jest przesuwany w poziomie.
-
- przycisk
- obrazek który ma być użyty jako suwak (musi mieć
- trzy części umieszczone jedna pod drugą, tak jak w przypadku
- przycisku)szer_przycisku
, wys_przycisku
-rozmiar suwakafazy
- obrazek, który ma być użyty dla różnych faz hpotencjometru.
- Specjalna wartość NULL
może być użyta, jeżeli nie chcesz
- żadnego obrazka. Obrazek musi być podzielony w pionie na liczbęfaz
,
- w ten sposób:
--+------------+ -| faza #1 | -+------------+ -| faza #2 | -+------------+ - ... -+------------+ -| faza #n | -+------------+ --
liczbafaz
- liczba faz znajdująca się w obrazku
- z fazami
- domyślna
- domyślna wartość dla hpotencjometru (w przedziale od
- 0 do 100)X
, Y
- pozycja hpotencjometruszerokość
, wysokość
- szerokość i wysokość
- hpotnecjometru
sygnał
- sygnał który ma być wywołany, kiedy zmienia się wartość
- hpotnecjometru
potmeter = fazy, liczbafaz, domyślna, X,
- Y, szerokość, wysokość, sygnał
Potencjometr
bez suwaka. (Myślę, że chodzi tu o to żeby nim kręcić, ale
- reaguje on tylko na poziome przesuwanie.) Aby zobaczyć opis parametrów
- zobacz hpotmeter. fazy
mogą mieć wartość
- NULL
, ale jest to bezużyteczne, jeżeli nie możesz zobaczyć gdzie znajduje
- się potencjometr
.font = plikfontów, fontid
fontfile
jest nazwą pliku opisującego fonty
- z rozszerzeniem .fnt
nie trzeba tu określać rozszerzenia).
- fontid
jest używany do odsyłania się do danego fonta (zobacz
- dlabel i slabel).
- Możesz określić ponad 25 znaków.slabel = X, Y, fontid, "text"
- X
,Y
.
- text
jest wyświetlany używając fontid
. Text
- jest po prostu nieprzetworzonym ciągiem znaków (zmienne $x
- nie działają) który musi znajdować się w cudzysłowiu (" nie może być częścią
- tekstu). Etykieta jest wyświetlana używając fontid
.dlabel = X, Y, długość, align, fontid,
- "text"
X
,Y
.
- Etykieta nazywana jest dynamiczną, ponieważ tekst w niej jest regularnie
- odświeżany. Maksymalna długość etykiety jest ustalona przez długość
- przez
- label is called dynamic because its text is refreshed periodically. The
- maximum length of the label is given by length
(jej wysokość
- jest wysokością fontów). Jeżeli tekst który ma być wyświetlony jest dłuższy
- od tej wartości, wtedy będzie on przewijany, w innym przypadku będzie on
- wyrównany do określonej przez align
(wyrównanie) przestrzeni.
- 0
dla wyrównania do prawej, 1
dla wyśrodkowania,
- 2
dla wyrównania do lewej.text
:
- musi być on opisany w cudzysłowiu (ale "
nie może być częścią
- tekstu). Etykieta jest wyświetlana używając fontid
. Możesz
- użyć poniższych zmiennych w tekście:
-
- Zmienna | Znaczenie |
---|---|
$1 | -play time in hh:mm:ss format |
$2 | -odtwarza czas w formacie mmmm:ss |
$3 | -odtwarza czas w formacie hh (godziny) |
$4 | -odtwarza czas w formacie mm (minuty) |
$5 | -odtwarza czas w formacie ss (sekundy) |
$6 | -wyświetla długość filmu w formacie hh:mm:ss |
$7 | -wyświetla długość filmu w formacie mmmm:ss |
$8 | -odtwarza czas w formacie h:mm:ss |
$v | -głośność w formacie xxx.xx% |
$V | -głośność w formacie xxx.x |
$b | -balans w formacie xxx.xx% |
$B | -balans w formacie xxx.x |
$$ | -znak $ |
$a | -znak określający typ dźwięku (żaden: n ,
- mono: m , stereo: t ) |
$t | -Numer ścieżki (w playliście) |
$o | ->nazwa pliku |
$f | -nazwa pliku małymi literami |
$F | -nazwa pliku dużymi literami |
$T | -znak określający typ strumienia (plik: f ,
- Video CD: v , DVD: d , URL: u )
- |
$p | -znak "p" (jeżeli film jest odgrywany i font ma określony symbol "p") |
$s | -znak "s" (jeżeli film jest zatrzymany i font ma określony symbol "s") |
$e | -znak "e" (jeżeli włączona jest pauza i font ma określony symbol "e") |
$x | -szerokość filmu |
$y | -wysokość filmu |
$C | -nazwa użytego kodeka |
||
). Powinieneś mieć fonty dla normalnych znaków
- i osobne dla znaków specjalnych. Zobacz sekcję symbole,
- aby dowiedzieć się więcej.
- Poniżej możesz zobaczyć listę elementów, które mogą być użyte w bloku
- 'window = sub
' . . . 'end
'.
base = obrazek, X, Y, szerokość, wysokość
- X
,Y
na ekranie(0,0
- umieszcza obrazek w lewym górnym rogu). Możesz tu użyć także następujących
- wartości: -1
dla wyśrodkowania, -2
dla wyrównania
- do prawej (dla wartości X
) i do dołu (dla wartości Y
).
- Okno to będzie rozmiarów obrazka. szerokość
i wysokość
- określa rozmiar okna. Te zmienne są opcjonalne (jeżeli ich nie będzie, okno będzie
- takich samych rozmiarów jak obrazek).background = R, G, B
R
, G
i B
określają czerwoną, zieloną
- i niebieską wartość koloru (każda z nich jest określona w przedziale od 0 do 255).Jak wspomnianow wcześniej, menu jest wyświtlane przy użyciu dwóch obrazków.
- Normalny stan menu jest brany z obrazka określonego jako base
,
- podczas gdy zaznaczony obszar jest brany z obrazka określonego jako
- selected
. Musisz zdefiniować pozycję i rozmiar każdego z elementów
- menu poprzez element menu
.
Te elementy mogą zostać wykorzystane w bloku 'window = menu
'
- . . . 'end
'.
base = obrazek
selected = obrazek
menu = X, Y, szerokość, wysokość, sygnał
- X,Y
i rozmiar poszczególnych elementów menu
- w obrazku. sygnał
jest sygnałem, który ma być uaktywniony, kiedy
- klikniesz tą pozycję.Tak jak wspomniano w sekcji o częściach skóry, fonty są zdefiniowane przez - obrazek i plik opisujący fonty. Możesz umieścić znaki w dowolnym - miejscu obrazka, ale upewnij się, że ich pozycja i rozmiar są dokładnie - określone w pliku opisującym fonty.
- -Plik opisujący fonty (z rozszerzeniem .fnt
) może mieć linie komentarza
- rozpoczęte średnikiem ';
'. Plik musi mieć tę linie w formacie:
image = obrazek
obrazek
jest nazwą pliku w którym znajdują się fonty (nie
- musisz podawać rozszerzenia)."znak" = X, Y, szerokość, wysokość
- X
i Y
określają pozycję znaku
- w obrazku (0,0
to lewy górny róg). szerokość
- i wysokość
wymiary znaku w pikselach.Poniżej możesz zobaczyć przykład definiujący znaki A, B, C znajdujące
- się w pliku font.png
:
--; może być "font" zamiast "font.png". -image = font.png - -; Trzy znaki są wystarczające, aby zademonstrować jak to działa. :-) -"A" = 0,0, 7,13 -"B" = 7,0, 7,13 -"C" = 14,0, 7,13 -- |
-
Niektóre znaki mają specjalne znaczenia kiedy są zmiennymi używanymi w -dlabel. Te znaki są wyświetlane jako symbole co oznacza, że - kiedy odgrywasz strumień DVD, możesz wyświetlić fajne logo DVD zdefiniowane - pod znakiem 'd'.
- -Poniższa tabelka zawiera wszystkie znaki, które mogą być wykorzystane -do wyświetlania symboli (i wymagają one osobnych fontów).
- -Znak | Symbol |
---|---|
p | -odtwarzanie |
s | -stop |
e | -pauza |
n | -bez dźwięku |
m | -dźwięk mono |
t | -dźwięk stereo |
f | -strumień jest plikiem |
v | -strumień to VideoCD |
d | -strumień to DVD |
u | -strumień to URL |
Tutaj znajdują się sygnały które mogą zostać wywołane przez przyciski, -potencjometry i elementy menu.
- -Informacja: Niektóre z sygnałów mogą działać nieprawidłowo - (albo w ogóle nie działać). Jak wiesz, GUI jest ciągle w fazie rozwoju.
- - --- - --
-- evNext
-- Przeskakuje do następnej ścieżki z playlisty.
- -- evPause
-- Wstrzymuje odgrywanie.
- -- evPauseSwitchToPlay
-- Przełącza między sobą użuwając
- -evPlaySwitchToPause
. - Może to zostać wykorzystane aby utworzyć jeden przycisk spełniający - równocześnie funkcje odgrywania i pauzy. Oba sygnały powinny być - przydzielone do przycisków wyświetlanych w tym samym miejscu w oknie. - Ten sygnał wstrzymuje odtwarzanie i wyświetlany jest obrazek dla - przyciskuevPlaySwitchToPause
(aby zaznaczyć, że ten przycisk - może być wciśnięty, aby kontynuować odgrywanie).- evPlay
-- Rozpoczyna odgrywanie.
- -- evPlaySwitchToPause
-- Przeciwieństwo
- -evPauseSwitchToPlay
. Ten sygnał rozpoczyna - odgrywanie i wyświetlany jest obrazek dla przyciskuevPauseSwitchToPlay
- (aby zaznaczyć, że ten przycisk może być wciśnięty, aby wstrzymać odgrywanie).- evPrev
-- Przeskakuje do poprzedniej ścieżki z playlisty.
- -- evStop
-- Zatrzymuje odgrywanie.
-
-- - --
-- evBackward10sec
-- evBackward1min
-- evBackward10min
-- Przeskakuje w tył o 10 sekund / 1 minutę / 10 minut.
- -- evForward10sec
-- evForward1min
-- evForward10min
-- Przeskakuje w przód o 10 sekund / 1 minutę / 10 minut.
- -- evSetMoviePosition
-- Ustawia pozycję (może być zmieniane za pomocą suwaka; wykorzystywane są - relatywne (0-100%) wartości potencjometru).
-
-- - --
-- evDoubleSize
-- Ustawia podwójny rozmiar okna z filmem.
- -- evFullScreen
-- Włącza/wyłącza tryb pełnoekranowy.
- -- evNormalSize
-- Ustawia oryginalny rozmiar okna z filmem.
-
-- - --
-- evDecAudioBufDelay
-- Zmniejsza opóźnienie buffera dźwięku.
- -- evDecBalance
-- Zmniejsza balans.
- -- evDecVolume
-- Zmniejsza głośność.
- -- evIncAudioBufDelay
-- Zmniejsza opóźnienie buffera dźwięku.
- -- evIncBalance
-- Zwiększa balans.
- -- evIncVolume
-- Zwiększa głośność.
- -- evMute
-- Wycisz/włącz dźwięk.
- -- evSetBalance
-- Ustawia balans (może być używane przez suwak; wykorzystywane są relatywne - (0-100%) wartości potencjometru).
- -- evSetVolume
-- Ustawia głośność (może być używane przez suwak; wykorzystywane są relatywne -(0-100%) wartości potencjometru).
-
-- - - diff -r 92ea2b3d40ac -r 005360a754a6 DOCS/pl/sound.html --- a/DOCS/pl/sound.html Sun Oct 19 18:19:43 2003 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,848 +0,0 @@ - - - - --
-- evAbout
-- Otwiera okno "o programie".
- -- evDropSubtitle
-- Wyłącza aktualnie używane napisy.
- -- evEqualizer
-- Włącza/wyłącza equalizer.
- -- evExit
-- Zamyka program.
- -- evIconify
-- Minimalizuje okno.
- -- evLoad
-- Wczytuje plik (poprzez otwarcie przeglądarki plików, w której możesz wybrać - plik).
- -- evLoadPlay
-- Robi dokładnie to samo co
- -evLoad
z tym, że po wczytaniu pliku - automatycznie rozpoczyna jego odtwarzanie.- evLoadSubtitle
-- Wczytuje plik napisów (poprzez otwarcie przeglądarki plików)
- -- evLoadAudioFile
-- Wczytuje plik z dźwiękiem (poprzez otwarcie przeglądarki plików)
- -- evNone
-- Pusty sygnał, nic nie robi. (No może nie dotyczy to wersji CVS :-)).
- -- evPlayList
-- Otwiera/zamyka okno playlisty.
- -- evPlayDVD
-- Próbuje otworzyć dysk z podanej stacji DVD-ROM.
- -- evPlayVCD
-- Próbuje otworzyć dysk z podanej stacji CD-ROM.
- -- evPreferences
-- Otwiera okno preferencji.
- -- evSetAspect
-- Ustawia stosunek obrazu (aspekt).
- -- evSetURL
-- Wyświetla okno dialogowe, gdzie podaje się URL.
- -- evSkinBrowser
-- Otwiera okno z przeglądarką skórek.
-
Interfejs do dźwięku w MPlayerze nazywa się libao2. Aktualnie -zawiera następujące sterowniki:
- -/dev/audio
) dla użytkowników BSD i Solaris8- Sterowniki kart dźwiękowych w Linuxie mają problemy z kompatybilnością. - Wynika to z tego że MPlayer polega na wbudowanych właściwościach prawidłowo - napisanych sterowników które pozwalają utrzymać prawidłową synchronizację audio/video. - Niestety, niektórzy autorzy sterowników nie wysilają się z zaprogramowaniem tych właściwości, - gdyż nie są wymagane do odgrywania plików MP3.
- -Inne odgrywarki multimedialne jak aviplay - czy xine działają - prosto-z-pudełka z tymi sterownikami, prawdopodobnie dlatego że używają one - 'prostych' metod korzystających z wewnętrznego licznika. - Jak wskazują doświadczenia metody te nie są tak wydajne jak te używane przez MPlayera.
- -Używanie MPlayera z prawidłowo napisanymi sterownikami audio, nigdy nie spowoduje - desynchronizacji A/V związanej z dźwiękiem, z wyjątkiem wyjątkowo źle stworzonych plików - (zajrzyj do dokumentacji man by dowiedzieć się jak sobie z nimi poradzić).
- -Jeśli jesteś zmuszony używać złego sterownika, spróbuj opcji -autosync
- powinna ona rozwiązać Twoje problemy. Zajrzyj do manuala po dokładniejsze informacje.
Informacje:
- --ao oss
- (to jest ustawienie standardowe). Jeśli napotkasz problemy, trzaski, wstrzymania dźwięku
- lub cokolwiek niespotykanego, spróbuj -ao sdl
(UWAGA: bedziesz musial mieć
- zainstalowane biblioteki i nagłówki SDL). Sterownik SDL pomaga w wielu przypadkach, i
- dodatkowo obsługuje ESD (GNOME) i ARTS (KDE).-ao alsa5
, gdyż
- ALSA 0.5 ma błędną emulację OSS, i potrafi wywrócić MPlayera z komunikatem takim jak ten:
- DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
-ao sun
,
- inaczej ani obraz ani dźwięk nie będzie działał.hdparm -u1 /dev/cdrom
(man hdparm
).
- Ta opcja generalnie pomaga, i jest dokładniej opisana w sekcji o CD-ROM.Na Linuxie zalecane jest jądro 2.4.x. Jądro 2.2 nie było testowane.
- -Linux sound drivers are primarily provided by the free version of OSS. These - drivers have been superceded by ALSA - (Advanced Linux Sound Architecture) in the 2.5 development series. If your - distribution does not already use ALSA you may wish to try their drivers if - you experience sound problems. ALSA drivers are generally superior to OSS in - compatibility, performance and features. But some sound cards are only - supported by the commercial OSS drivers from - 4Front Technologies. They also support - several non-Linux systems.
- -SOUND CARD | -DRIVER | -Max kHz | -Max Channels | -Max Opens[1] | -|||
---|---|---|---|---|---|---|---|
OSS/Free | -ALSA | -OSS/Pro | -other | -||||
VIA onboard (686/A/B, 8233, 8235) | -via82cxxx_audio | -snd-via82xx | -- | - | 4-48 kHz or 48 kHz only, depending on the chipset | -- | - |
Aureal Vortex 2 | -none | -none | -OK | -Linux Aureal Drivers - buffer size increased to 32k |
- 48 | -4.1 | -5+ | -
SB Live! | -Analog OK, SP/DIF not working | -Both OK | -Both OK | -Creative's OSS driver (SP/DIF support) | -192 | -4.0/5.1 | -32 | -
SB 128 PCI (es1371) | -OK | -? | -- | - | 48 | -stereo | -2 | -
SB AWE 64 | -max 44kHz | -48kHz sounds bad | -- | - | 48 | -- | - |
GUS PnP | -none | -OK | -OK | -- | 48 | -- | - |
Gravis UltraSound ACE | -not OK | -OK | -- | - | 44 | -- | - |
Gravis UltraSound MAX | -OK | -OK (?) | -- | - | 48 | -- | - |
ESS 688 | -OK | -OK (?) | -- | - | 48 | -- | - |
C-Media cards (which ones?) | -not OK (hissing) (?) | -OK | -- | - | ? | -- | - |
Yamaha cards (*ymf*) | -not OK (?) (maybe -ao sdl ) |
- OK only with ALSA 0.5 with OSS emulation AND
- -ao sdl (!) (?) |
- - | - | ? | -- | - |
Cards with envy24 chips (like Terratec EWS88MT) | -? | -? | -OK | -- | ? | -- | - |
PC Speaker or DAC | -OK | -none | -- | Linux PC speaker OSS driver | -The driver emulates 44.1, maybe more. | -mono | -1 | -
[1]: the number of applications that are able to use the - device at the same time.
- -Feedback to this document is welcome. Please tell us how MPlayer - and your sound card(s) worked together.
- - -The old audio plugins have been superseded by a new audio filter layer. Audio
- filters are used for changing the properties of the audio data before the
- sound reaches the sound card. The activation and deactivation of the filters
- is normally automated but can be overridden. The filters are activated when
- the properties of the audio data differ from those required by the sound card
- and deactivated if unnecessary. The -af filter1,filter2,...
- option is used to override the automatic activation of filters or to insert
- filters that are not automatically inserted. The filters will be executed as
- they appear in the comma separated list.
Example:
- mplayer -af resample,pan movie.avi
would run the sound through the resampling filter followed by the pan filter. - Observe that the list must not contain any spaces, else it will fail.
- -The filters often have options that change their behavior. These options - are explained in detail in the sections below. A filter will execute using - default settings if its options are omitted. Here is an example of how to use - filters in combination with filter specific options:
- - mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1
- -srate 11025 media.avi
would set the output frequency of the resample filter to 11025Hz and downmix - the audio to 1 channel using the pan filter.
- -The overall execution of the filter layer is controlled using the
- -af-adv
option. This option has two suboptions:
force
0
1
2
3
4
5
6
7
list
The filter layer is also affected by the following generic options: - -
-v
-channels
-srate
-format
MPlayer fully supports sound up/down-sampling through the
- resample
filter. It can be used if you
- have a fixed frequency sound card or if you are stuck with an old sound card
- that is only capable of max 44.1kHz. This filter is automatically enabled if
- it is necessary, but it can also be explicitly enabled on the command line. It
- has three options:
srate <8000-192000>
sloppy
srate
. This option can be
- used if the startup of the playback is extremely slow. It is enabled by
- default.type <0-2>
0
and 2
that
- selects which resampling method to use. Here 0
represents
- linear interpolation as resampling method, 1
represents
- resampling using a poly-phase filter-bank and integer processing and
- 2
represents resampling using a poly-phase filter-bank and
- floating point processing. Linear interpolation is extremely fast, but
- suffers from poor sound quality especially when used for up-sampling. The
- best quality is given by 2
but this method also suffers from
- the highest CPU load.Example:
- mplayer -af resample=44100:0:0
would set the output frequency of the resample filter to 44100Hz using exact - output frequency scaling and linear interpolation.
- - -The channels
filter can be used for adding and removing
- channels, it can also be used for routing or copying channels. It is
- automatically enabled when the output from the audio filter layer differs from
- the input layer or when it is requested by another filter. This filter unloads
- itself if not needed. The number of options is dynamic:
nch <1-6>
1
and 6
that is used for
- setting the number of output channels. This option is required, leaving it
- empty results in a runtime error.nr <1-6>
1
and 6
that is used for
- specifying the number of routes. This parameter is optional. If it is
- omitted the default routing is used.from1:to1:from2:to2:from3:to3...
0
and 5
that define
- where each channel should be routed.If only nch
is given the default routing is used, it works as
- follows: If the number of output channels is bigger than the number of input
- channels empty channels are inserted (except mixing from mono to stereo, then
- the mono channel is repeated in both of the output channels). If the number of
- output channels is smaller than the number of input channels the exceeding
- channels are truncated.
Example 1:
- mplayer -af channels=4:4:0:1:1:0:2:2:3:3 media.avi
would change the number of channels to 4 and set up 4 routes that swap - channel 0 and channel 1 and leave channel 2 and 3 intact. Observe that if - media containing two channels was played back, channels 2 and 3 would contain - silence but 0 and 1 would still be swapped.
- -Example 2:
- mplayer -af channels=6:4:0:0:0:1:0:2:0:3 media.avi
would change the number of channels to 6 and set up 4 routes that copy - channel 0 to channels 0 to 3. Channel 4 and 5 will contain silence.
- - -The format
filter converts between different sample formats. It
- is automatically enabled when needed by the sound card or another filter.
bps <number>
1
, 2
or 4
and denotes the
- number of bytes per sample. This option is required, leaving it empty
- results in a runtime error.f <format>
alaw
, mulaw
or
- imaadpcm
, float
or int
,
- unsigned
or signed
, le
or
- be
(little or big endian). This option is required, leaving it
- empty results in a runtime error.Example:
- mplayer -af format=4:float media.avi
would set the output format to 4 bytes per sample floating point - data.
- - -The delay
filter delays the sound to the loudspeakers such that
- the sound from the different channels arrives at the listening position
- simultaneously.
- It is only useful if you have more than 2 loudspeakers. This filter has a
- variable number of parameters:
d1:d2:d3...
To calculate the required delay for the different channels do as follows:
- -Example:
- mplayer -af delay=10.5:10.5:0:0:7:0 media.avi
would delay front left and right by 10.5ms, the two rear channels and the sub - by 0ms and the center channel by 7ms.
- - -Software volume control is implemented by the volume
audio
- filter. Use this filter with caution since
- it can reduce the signal to noise ratio of the sound. In most cases it is best
- to set the level for the PCM sound to max, leave this filter out and control
- the output level to your speakers with the master volume control of the mixer.
- In case your sound card has a digital PCM mixer instead of an analog one, and
- you hear distortion, use the MASTER mixer instead.
- If there is an external amplifier connected to the computer (this is almost
- always the case), the noise level can be minimized by adjusting the master
- level and the volume knob on the amplifier until the hissing noise in the
- background is gone. This filter has two options:
v <-200 - +60>
-200
and +60
- which represents the volume level in dB. The default level is 0dB.c
Example:
- mplayer -af volume=10.1:0 media.avi
would amplify the sound by 10.1dB and hard-clip if the sound level is too - high.
- -This filter has a second feature: It measures the overall maximum sound level - and prints out that level when MPlayer exits. This volume estimate can be used - for setting the sound level in MEncoder such that the maximum dynamic range is - utilized.
- - -The equalizer
filter represents a 10 octave band graphic
- equalizer, implemented using 10 IIR
- band pass filters. This means that it works regardless of what type of audio
- is being played back. The center frequencies for the 10 bands are:
Band No. | Center frequency |
0 | 31.25 Hz |
1 | 62.50 Hz |
2 | 125.0 Hz |
3 | 250.0 Hz |
4 | 500.0 Hz |
5 | 1.000 kHz |
6 | 2.000 kHz |
7 | 4.000 kHz |
8 | 8.000 kHz |
9 | 16.00 kHz |
If the sample rate of the sound being played back is lower than the center - frequency for a frequency band, then that band will be disabled. A known bug - with this filter is that the characteristics for the uppermost band are not - completely symmetric if the sample rate is close to the center frequency of - that band. This problem can be worked around by up-sampling the sound using - the resample filter before it reaches this filter.
- -This filter has 10 parameters:
- -g1:g2:g3...g10
-12
and +12
- representing the gain in dB for each frequency band.Example:
- mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi
would amplify the sound in the upper and lower frequency region while - canceling it almost completely around 1kHz.
- - -Use the pan
filter to mix channels arbitrarily. It is basically
- a combination of the volume control and the channels filter. There are two
- major uses for this filter:
This filter is hard to use, and will require some tinkering before the - desired result is obtained. The number of options for this filter depends on - the number of output channels:
- -nch <1-6>
1
and 6
and is used for
- setting the number of output channels. This option is required, leaving it
- empty results in a runtime error.l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...
0
and 1
.
- l[i][j]
determines how much of input channel j is mixed into
- output channel i.Example 1:
- mplayer -af pan=1:0.5:0.5 -channels 1 media.avi
would down-mix from stereo to mono.
- -Example 2:
- mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 media.avi
would give 3 channel output leaving channels 0 and 1 intact, and mix channels - 0 and 1 into output channel 2 (which could be sent to a sub-woofer for - example).
- - -The sub
filter adds a sub woofer channel to the audio stream.
- The audio data
- used for creating the sub-woofer channel is an average of the sound in channel
- 0 and channel 1. The resulting sound is then low-pass filtered by a 4th
- order Butterworth filter with a default cutoff frequency of 60Hz and added to
- a separate channel in the audio stream. Warning: Disable this filter when you
- are playing DVDs with Dolby Digital 5.1 sound, otherwise this filter will
- disrupt the sound to the sub-woofer. This filter has two parameters:
fc <20-300>
ch <0-5>
0
and 5
which
- determines the channel number in which to insert the sub-channel audio.
- The default is channel number 5
. Observe that the number of
- channels will automatically be increased to ch
if
- necessary.Example:
- mplayer -af sub=100:4 -channels 5 media.avi
would add a sub-woofer channel with a cutoff frequency of 100Hz to output - channel 4.
- -Matrix encoded surround sound can be decoded by the surround
- filter. Dolby Surround is
- an example of a matrix encoded format. Many files with 2 channel audio
- actually contain matrixed surround sound. To use this feature you need a sound
- card supporting at least 4 channels. This filter has one parameter:
d <0-1000>
0
and
- 1000
used for setting the delay time in ms for the rear
- speakers. This delay should be set as follows: if d1 is the distance from
- the listening position to the front speakers and d2 is the distance from
- the listening position to the rear speakers, then the delay d
- should be set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2.
- The default value for d
is 20ms.Example:
- mplayer -af surround=15 -channels 4 media.avi
would add surround sound decoding with 15ms delay for the sound to the rear - speakers.
- - -MPlayer has support for audio plugins. Audio plugins can be used to
- change the properties of the audio data before it reaches the sound
- card. They are enabled using the -aop
option which takes a
- list=plugin1,plugin2,...
argument. The list
argument
- is required and determines which plugins should be used and in which order they
- should be executed. Example:
mplayer media.avi -aop list=resample,format
would run the sound through the resampling plugin followed by the format - plugin.
- -The plugins can also have options that change their behavior. These - options are explained in detail in the sections below. A plugin will execute - using default settings if its options are omitted. Here is an example of how - to use plugins in combination with plugin specific options:
- - mplayer media.avi -aop
- list=resample,format:fout=44100:format=0x8
would set the output frequency of the resample plugin to 44100Hz and the - output format of the format plugin to AFMT_U8.
- -Currently audio plugins cannot be used in MEncoder.
- - -MPlayer fully supports up/downsampling of the sound. This plugin can
- be used if you have a fixed frequency sound card or if you are
- stuck with an old sound card that is only capable of max 44.1kHz.
- MPlayer autodetects whether or not usage of this plugin is necessary.
- This plugin has one option, fout
, which is used for setting the
- desired output sample frequency. The value is given in Hz, and defaults to
- 48kHz.
Usage:
- mplayer media.avi -aop list=resample:fout=<required
- frequency in Hz, like 44100>
Note that the output frequency should not be scaled up from the default value. - Scaling up will cause the audio and video streams to be played in slow motion - and cause audio distortion.
- - -MPlayer has an audio plugin that can decode matrix encoded - surround sound. Dolby Surround is an example of a matrix encoded format. - Many files with 2 channel audio actually contain matrixed surround sound. - To use this feature you need a sound card supporting at least 4 channels.
- -Usage:
- mplayer media.avi -aop list=surround
If your sound card driver does not support signed 16bit int
data type,
- this plugin can
- be used to change the format to one which your sound card can understand. It
- has one option, format
, which can be set to one of the numbers
- found in libao2/afmt.h
. This plugin is hardly ever needed and is
- intended for advanced users. Keep in mind that this plugin only changes the
- sample format and not the sample frequency or the number of channels.
Usage:
- mplayer media.avi -aop
- list=format:format=<required output format>
This plugin delays the sound and is intended as an example of how to develop - new plugins. It can not be used for anything useful from a users perspective - and is mentioned here for the sake of completeness only. Do not use this - plugin unless you are a developer.
- -If you have a file with a consistent A/V sync fault, use the +/-
- keys to adjust timings on-the-fly instead. Usage of the OSD is recommended
- to make this easier.
This plugin is a software replacement for the volume control, and
- can be used on machines with a broken mixer device. It can also be
- used if one wants to change the output volume of MPlayer
- without changing the PCM volume setting in the mixer. It has one
- option volume
that is used for setting the initial
- sound level. The initial sound level can be set to values between 0
- and 255 and defaults to 101 which equals 0dB amplification. Use this
- plugin with caution since it can reduce the signal to noise ratio of
- the sound. In most cases it is best to set the level for the PCM
- sound to max, leave this plugin out and control the output level to
- your speakers with the MASTER volume control of the mixer.
- In case your sound card has a digital PCM mixer instead of an analog one, and
- you hear distortion, use the MASTER mixer instead.
- external amplifier connected to the computer (this is almost always
- the case), the noise level can be minimized by adjusting the master
- level and the volume knob on the amplifier until the hissing noise
- in the background is gone.
Usage:
- mplayer media.avi -aop
- list=volume:volume=<0-255>
This plugin also has compressor or "soft-clipping" capabilities. - Compression can be used if the dynamic range of the sound is very - high or if the dynamic range of the loudspeakers is very - low. Be aware that this feature creates distortion and should be - considered a last resort.
- -Usage:
- mplayer media.avi -aop
- list=volume:softclip
This plugin (linearly) increases the difference between left and right - channels (like the XMMS extrastereo plugin) which gives some sort of "live" - effect to playback.
- -Usage:
- mplayer media.avi -aop list=extrastereo
- mplayer media.avi -aop list=extrastereo:mul=3.45
The default coefficient (mul
) is a float number that defaults
- to 2.5. If you set it to 0.0, you will have mono sound (average of both
- channels). If you set it to 1.0, sound will be unchanged, if you set it to
- -1.0, left and right channels will be swapped.
This plugin maximizes the volume without distorting the sound.
- -Usage:
- mplayer media.avi -aop list=volnorm
-
-
-
-
diff -r 92ea2b3d40ac -r 005360a754a6 DOCS/pl/users_against_developers.html
--- a/DOCS/pl/users_against_developers.html Sun Oct 19 18:19:43 2003 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-
-
-
-
Są taki dwa tematy, które zawsze wywołują wielkie dyskusje i ogniste boje na grupie dyskusyjnej - mplayer-users - . Tematem numer jeden jest:
- - -Tło historii: Seria GCC 2.95 jest oficjalnym wydaniem GNU, z czego - wersja GCC 2.95.3 ma najmniej błędów z całej serii. Nigdy nie zauważyliśmy - problemów kompilacji z GCC 2.95.3. Zaczynając od Red Hat Linux 7.0, Red Hat - dołączył do ich dystrybucji silnie połataną wersję GCC z CVS i nazwał ją 2.96. Red Hat - dołączył tę wersję do dystrybucji, ponieważ GCC 3.0 nie zostało ukończone na czas, - a oni potrzebowali kompilatora dobrze pracującego na wszystkich wspieranych przez nich - platformach, włączając IA64 i s390. Dystrybutor Linuksa - Mandrake, kierujący - się także przykładem Red Hata zaczął rozprowadzać GCC 2.96 razem z ich serią - Linux-Mandrake 8.0.
- -Oświadczenie: Zespół GCC wypiera się wszelkich powiązań z GCC 2.96 i wydał - oficjalną odpowiedź na temat GCC - 2.96. Wielu programistów na całym świecie zaczęło mieć problemy z GCC 2.96 i zaczęli - rekomendować inne kompilatory. Przykłady to: - MySQL, - avifile i - Wine. - Inne interesujące linki to: - - Linux kernel news flash about kernel 2.4.17 i - Voy Forum. - MPlayer także ucierpiał z powodu nieregularnych problemów, rozwiązywaliśmy je - zmieniając GCC na inną wersję. Kilka projektów zaczyna rozwiązywać problemy - z niektórymi wydaniemi 2.96, ale my odmawiamy naprawiania cudzych błędów, - zwłaszcza dlatego, że niektóre poprawki mogą spowodować utratę wydajności.
- -Możesz przeczytac o innej stronie tej historii - na tej stonie. - GCC 2.96 nie zezwala na znak | (potok) w komentarzach assemblera ponieważ - dobrze wspiera Intela w AT&T Syntax, a znak | jest symbolem w jednaj z odmian - Intela. problemem jest to, że po cichu ignoruje cały blok a assemblerze. - Podobno zostało to już naprawione, GCC wyświetla ostrzeżenie zamiast pomijania bloku.
- -Obecnie: Red hat twierdzi, że GCC 2.96-85 i kolejne są naprawione. Sytuacja
- istotnie, poprawiła się, lecz ciągle dostajemy raporty na naszej grupie dyskusyjnej,
- które znikają z innymi kompilatorami. W każdym wypadkunie ma to już znaczenia. Miejmy
- nadzieję, że dojrzewający GCC 3.x rozwiąże kwestię na dobre. Jeżeli chcesz kompilować
- z 2.96 dodaj flagę --disable-gcc-checking
do configure. Pamiętaj, że
- robisz to na własną odpowiedzialność i nie raportuj żadnych błędów. Jeżeli to zrobisz,
- zostaniesz zbanowany z naszej grupy dyskusyjnej, ponieważ mieliśmy więcej niż dosyć
- zaciekłych wojen o GCC 2.96. prosimy, zostaw sprawę w spokoju.
Jeżeli masz problemy z GCC 2.96, możesz pobrać pakiety 2.96-85 z - serwera ftp Red Hata, lub po prostu - odwołać się do pakietów 3.0.4 oferowanych w wersjach 7.2 i późniejszych. Możesz - również pobrać pakiety gcc-3.2-10 - (nieoficjalne, ale działają świetnie) i możesz zainstalować je równolegle z GCC 2.96, które - aktualnie masz. MPlayer wykryje go i użyje 3.2-10 zamiast 2.96. Jeżeli nie chcesz lub - nie możesz użyć pakietów binarnych, poniżej znajduje się instrukcja, kompilacji - najnowszego GCC ze źródeł:
- -gcc-core-XXX.tar.gz
gdzie XXX
jest numerem
- wersji. Archiwum zawiera kompletny kompilator C który jest wystarczający dla MPlayera.
- Jeżeli chcesz również C++, Java lub inne zaawansowane funkcje GCC,
- gcc-XXX.tar.gz
może bardziej odpowiadać twoim wymaganiom.tar -xvzf gcc-core-XXX.tar.gz
mkdir gcc-build
cd gcc-build
- ../gcc-XXX/configure
make bootstrap
make install
Wcześniej MPlayer zawierał kod z projektu OpenDivX, co nie pozwalało
- na dystrybucję binariów. Ten kod został usunięty w wersji 0.90-pre1
- a pozostały plik divx_vbr.c
pochodzący z kodu OpenDivX został
- przeniesiony na licencję GPL prze jego autorów, kiedy pojawiła się wersja
- 0.90-pre9. Jest teraz mile widziane, byś tworzył pakiety binarne,
- jakich potrzebujesz.
Inną przeszkodą w dystrybutowaniu binariów była optymalizacja dla architektur CPU.
- MPlayer wspiera teraz detekcję CPU w czasie rzeczywistym (wyszczególnij opcję
- --enable-runtime-cpudetection
podczas konfiguracji). Jest ona domyślnie
- wyłączona, ponieważ wymaga małych wyrzeczeń prędkości, ale teraz jest możliwe
- tworzenie binariów dla różnych członków rodziny procesorów Intel.
W rzeczywistości nie lubimy nVidii - ponieważ dostarcza tylko binarne sterowniki (dla XFree86), które są często z błędami. - Mamy wiele raportów na grupie - mplayer-users - dotyczących problemów z tymi zamknięto-źródłowymi sterownikami, ich kiepskiej jakości, - niestabilności i kiepskiego wsparcia dla użykownika i eksperta. - Kilka przykładów można znaleść na - - nVidia Linux Forum. - Wiele z tych problemów/kwestii pojawia się wielokrotnie. - Skontaktowaliśmy się ostatnio z nVidią, oni twierdzą że błędy nie występują, - niestabilność spowodowana jest złymi chipami AGP i że nie odbierali żadnych - raportów o błędach w sterownikach (takich jak różowa linia). Więcej jeżeli masz - problem z twoją kartą z nVidia, doradza się update sterowników nVidii i/lub kupno - nowej płyty głównej lub poproszenie nVidii o dostarczenie sterowników o otwartym kodzie. - We wszystkich przypadkach, jeżeli używasz binarnych sterowników nVidii i doświadczasz - ukrytych problemów ze sterownikami, prosimy, bądź świadomy tego, że otrzymasz bardzo - małą pomoc z nasze strony, ponieważ nie możemy wiele pomóc w tej sprawie.
- - -Joe Barr zyskał niesławę pisząc mniej niż przychylną - - recenzję MPlayera. Założył, że MPlayer jest trudny do zainstalowania, ale potem napisał, - że nie bardzo lubi - czytać dokumentację. - Wywnioskował również, że programiści są nieprzyjaźni i że dokumentacja jest - niekompletna i obelżywa. Sam osądź. - Oparł się o negatywną wzmiankę o MPlayerze w jego - 10 Linuksowych przewidywaniach na 2002 - Kontynuując, w - recenzji xine - dalej wywołuje kontrowersję. Ironicznie, na końcu tego artykułu, cytuje swój wywiad z Günter Bartsch, głównym autorem xine, - który doskonale streszcza całą sytuacje:
- -- Jednak, on także powiedział, że był "zaskoczony" moją kolumną o MPlayerze - i pomyślał że to było nieuczciwie, przypomina mi, że jest to wolny projekt - oprogramowania. "Jeżeli ci się nie podoba,"powiedział Bartsch, "nie musisz tego używać." -- -
Nie odpowiada na nasze e-maile. Jego wydawca nie odpowiada na nasze e-maile. - Oto kilka cytatów od różnych ludzi na temat Joe Barr, więc możesz wyrobić sobie o nim - opinię:
- -Marc Rassbach ma coś do powiedzenia - na temat tego faceta.
- -- Wszyscy pamiętacie LinuxWorld 2000, kiedy on twierdził, że Linus T. powiedział, - że FreeBSD, to garstka developerów. Linus nie powiedział NICZEGO w tym rodzaju. - Kiedy wypomniano to Joe'mu, jego reakcją było wyzwanie ludzi utrzymujących BSD - od dupków i głupków. -- -
Cytat - od Roberta Munro na grupie dyskusyjnej - mplayer-users - :
- --- - - diff -r 92ea2b3d40ac -r 005360a754a6 DOCS/pl/video.html --- a/DOCS/pl/video.html Sun Oct 19 18:19:43 2003 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1468 +0,0 @@ - - - - -On jest interesujący, ale kiepsko mu wychodzi unikanie ... kontrowersyjności. Joe Barr - był regularnym uczestnikiem forum Willa Zachmanna w Compuserve, kilka lat temu. - Był zwolennikiem OS/2 (ja również byłem zwolennikiem OS/2).
- -Często przekraczał wszelkie granice, rozwścieczając ludzi i podejrzewam, że to były - ciężkie czasy dla niego. Trochę złagodniał ostatnio, będąc ocenionym przez własny dział redakcyjny. - Stonowany, subtelny humor nie był jednak jego stylem w tamtych wczesnych dniach, w zupełności.
P> -
Jest bardzo sugerowane, by sprawdzić, czy rejestry MTRR są ustawione właściwie, -gdyż mogą one dużo zwiększyć wydajność.
- -Wykonaj 'cat /proc/mtrr
':
- --($:~)-- cat /proc/mtrr
- reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
- reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1
To prawda, pokazuje mojego Matrox G400 z 16Mb pamięci. Wykonałem to z - XFree 4.x.x , z ustawionymi automatycznie rejestrami MTRR.
- -Jeśli nic nie działa, powinienieś wykonać to ręcznie. Najpierw musisz odnaleść adres bazowy. - Możesz to zrobić na 3 sposoby:
- -(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
- (--) SVGA: Linear framebuffer at 0xD8000000
- 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
- Memory at d8000000 (32-bit, prefetchable)
-
dmesg
):
- mga_mem_base = d8000000
Następnie wyszukaj rozmiar pamięci. Jest to bardzo łatwe, wystarczy, że przekonwertujesz rozmiar pamięci - wideo do liczby heksadecymalnej, lub po prostu użyjesz poniższej tabeli:
- -1 MB | 0x100000 | ||
2 MB | 0x200000 | ||
4 MB | 0x400000 | ||
8 MB | 0x800000 | ||
16 MB | 0x1000000 | ||
32 MB | 0x2000000 |
Znasz już adres bazowy i rozmiar pamięci, więc zabierz się do ustawień! - Na przykład, dla powyższej karty Matrox (bazowy=0xd8000000) z 32MB ramu - (rozmiar=0x2000000) wystarczy, że uruchomisz:
- - echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr
Nie wszystkie procesory wspierają MTRRy. Na przykład starsze K6-2 [około 266Mhz,
- stepping 0] nie wspierają MTRR, ale stepping 12 już tak ('cat /proc/cpuinfo
'
- by to sprawdzić').
Pod XFree86 4.0.2, lub nowszymi, możesz używać sprzętowej procedury YUV twojej karty - używając rozszerzenia XVideo. Używa tego opcja '-vo xv'. Także sterownik ten wspiera - modyfikowanie jasności/kontrastu/hue/itp (chyba, że używasz starego, wolnego kodeka DirectShow - DivX, który wspiera to wszędzie), zobacz stronę manuala.
- -Żeby wykonać tą czynność, powinienieś sprawdzić następujące rzeczy:
- - (II) Loading extension XVideo
w /var/log/XFree86.0.log
- -INFORMACJA: to ładuje tylko rozszerzenia XFree86. W poprawnej instalacji zawsze - to ładuje, ale nie oznacza, że wsparcie XVideo _karty_ jest załadowane!
-- X-Video Extension version 2.2 - screen #0 - Adaptor #0: "Savage Streams Engine" - number of ports: 1 - port base: 43 - operations supported: PutImage - supported visuals: - depth 16, visualID 0x22 - depth 16, visualID 0x23 - number of attributes: 5 - (...) - Number of image formats: 7 - id: 0x32595559 (YUY2) - guid: 59555932-0000-0010-8000-00aa00389b71 - bits per pixel: 16 - number of planes: 1 - type: YUV (packed) - id: 0x32315659 (YV12) - guid: 59563132-0000-0010-8000-00aa00389b71 - bits per pixel: 12 - number of planes: 3 - type: YUV (planar) - (...itd...) --
Musi wspierać pakiet YUY2 i format płaskich pikseli YV12, by mógłbyć używany z - MPlayerem
-Starsze karty 3dfx znane były z problemów z akceleracją XVideo, - nie wspierały obydwu YUY2 lub YV12. Sprawdź, czy posiadasz XFree86 - w wersjii 4.2.0 lub nowszej, które pracują dobrze z YV12 i YUY2. Poprzednie wersje, - włączając 4.1.0 wywalały się przy YV12! - Jeśli twoje doznania dają dziwne efekty przy użytku -vo xv, spróbuj SDL (posiada także XVideo) - i zobacz, jeśli pomaga. Sprawdź sekcję SDLpo szczegóły.
- - -LUB, wypróbuj nowego sterownika -vo tdfxfb! Zobacz sekcję - tdfxfb.
- - -S3 Savage3D powinny pracować dobrze, ale dla Savage4, użyj XFree86 w wersji 4.0.3 - lub nowszej (w przypadku problemów z obrazem spróbuj 16bpp). Również dla S3 Virge... istnieje wsparcie - dla xv, lecz karta sama w sobie jest bardzo wolna, lepiej będzie więc jak ją sprzedaż.
- -INFORMACJA: nie jest obecnie jasne, które modele Savage nie posiadają - wsparcia YV12 i konwertacji przez sterownik (wolne). Jeśli podejrzeważ o to - twoją kartę, pobierz najnowsze sterowniki lub uprzejmie spytaj na liście mailingowej - mplayer-users o sterownik włączający MMX/3DNow.
- - -nVidia nie jest najlepszym wyborem dla Linuksa (według NVidii, - nie jest to prawdą).. Będziesz potrzebował - binarnych, zamkniętych (bez kodu źródłowego) sterowników nVidia, dostępnych na stronie nVidii. - Standardowe sterowniki XFree86 nie wspierają XVideo dla tych kard, należnych do zamkniętego - kodu/specyfikacji nVidii.
- -O ile wiem ostatnie sterowniki XFree86 zawierają wsparcie XVideo dla Geforce 2 i 3.
- -Karty Riva128 nie posiadają wsparcia XVideo również ze sterownikami nvidia :( - Skargi do NVidii.
- - -Karty te mogą być znalezione w dużej ilości laptopów. Niestety sterowniki w - X 4.2.0 nie potrafią wykonać Xv, ale mamy dla ciebie zmodyfikowane sterowniki zdolne do Xv. - Ściągnij stąd. - Sterownik dostarczony został przez Stefana Seyfrieda.
- -By udostępnić odtwarzanie DVD zadowalająco, zmień XF86Config tak jak niżej:
- -Section "Device"
- [...]
- Driver "neomagic"
- Option "OverlayMem" "829440"
- [...]
- EndSection
Jeśli chcesz używać Xv z kartą Trident, bądź pewnien, że nie pracuje ona - z 4.1.0, zainstaluj XFree 4.2.0. W 4.2.0 dodano wsparcie dla pełnoekranowego xv - wspieranego przez kartę Cyberblade XP.
- - -Jeśli chcesz używać Xv z kartami bazyjącymi na Kyro (na przykład Hercules Prophet - 4000XT), powninieneś pobrać sterowniki ze - strony PowerVR.
- - -Dokumant ten ma na celu wyjaśnić w kilku słowach, czym jest ogólnie DGA i - co sterowniki wyjścia wideo DGA mogą zrobić dla mplayera (i czego nie mogą).
- - -DGA jest skrótem od Direct Graphics Access (bezpośredni dostęp graficzny) - i oznacza to dla programu obejście X-Serwera i bezpośrednią modyfikację - pamięci framebuffera. Technicznie rzecz mówiąc, dzieje się to przez mapowanie - pamięci framebuffera w zakresie pamięci twojego procesu. - Zezwalane jest to przez jądro tylko jeśli posiadasz uprawnienia superużytkownika. - Możesz je otrzymać przez zalogowanie się jako roota, albo ustawiając bit suida - na pliku wykonalnym mplayera (nie sugerowane).
- -Istnieją dwie wersje DGA: DGA1 używane jest przez XFree 3.x.x i DGA2 wprowadzone - z 4.0.1.
- -DGA1 dostarcza tylo bezpośredni dostęp framebuffera, jak opisano wyżej. By - przełączać rozdzielczość sygnału wideo, musisz polegać na rozszerzeniu - VidMode.
- -DGA2 łączy cechy rozszerzenia XVidMode, a także zezwala na przełączanie - głębi wyświetlania. Możesz więc, choć podstawowo uruchamiasz XSerwer w głębi 32-bitowej, - przełączyć do głębi 15-bitowej i na odwrót.
- -DGA posiada jednak pewne wady. Jak widac jest trochę zależny od chipu graficznego, - jakiego używasz i od implementacji sterowników wideo XServera, które sterują chipem. - Więc nie działa on na wszystkich systemach
- - -Najpierw sprawdź, czy rozszerzenie DGA zostało załadowane przez serwer X, - zajrzyj do /var/log/XFree86.0.log:
- - (II) Loading extension XFree86-DGA
Spójrz, XFree86 4.0.x lub wyższe jest BARDZO REKOMENDOWANE! - Sterownik DGA MPlayera automatycznie wykrywana przez ./configure, ale możesz wymysić - go przez --enable-dga
- -Jeśli sterownik nie może przełączyć do mniejszej rozdzielczości, eksperymantuj z - przełączaniem -vm (tylko z X 3.3.x), -fs, -bpp, -zoom, by znaleść tryb wideo, który zgadza się - z filmem. Nie ma obecnie prawidłowego konwertera :(
- -Zostań ROOTEM. DGA wymaga dostępu roota, by móc zapisywać bezpośrednio do pamięci. - Jeśli zamierzasz uruchamiać go jako użytkownik, zainstaluj MPlayera z SUID roota:
- -
- chown root /usr/local/bin/mplayer
- chmod 750 /usr/local/bin/mplayer
- chmod +s /usr/local/bin/mplayer
Teraz będzie także pracował jako zwykły użytkownik.
- -- Ostrzeżenie: ryzyko bezpieczeństwa- -
- Jest to duże ryzyko bezpieczeństwa! Nigdy nie rób tego na serwerach, lub komputerach, - które są dostępne dla więcej ludzi niż tylko ciebie, ponieważ mogą oni zdobyć prawa roota - poprzez suida mplayera. -
Teraz użyj opcji -vo dga
i już (mam nadzieję :))!
- Powinieneś spróbować także opcji -vo sdl:dga
.
- Jest trochę szybsza.
Sterowniki DGA pozwalają na przełączenia rozdzielczości sygnału wyjściowego.
- Unikają one wykonywania (wolnego) skalowania sprzętowego i w tym samym czasie
- zapewniają pełnoekranowy obraz. Idealne wyjście, jeśli chciałeś przełączyć do
- ścisłej rozdzielczości (wykluczając zaszczytny stosynek) danych wideo, ale XSerwer
- zezwala tylko na przełączanie do zdefiniowanych wcześniej rozdzielczości w
- /etc/X11/XF86Config
(/etc/X11/XF86Config-4
odnośnie
- XFree 4.0.X).
-
Tamte zdefiniowane są przez tak zwane linie trybów i zależne są od zdolności
- twojego sprzętu wideo. Serwer X skanuje ten plik konfiguracyjny podczas startu,
- i wyłącza linie trybów nieodpowiednie dla towjego sprzętu.
- Możesz sprawdzić, które tryby znajdują się w logach X11. Znajdziesz je w:
- /var/log/XFree86.0.log
.
Wpisy te znane są z poprawnej pracy z chipem Riva128 chip, używającego
- modułów X serwera nv.o
.
- Section "Modes" - Identifier "Modes[0]" - Modeline "800x600" 40 800 840 968 1056 600 601 605 628 - Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 - Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 - Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan - Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 - Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan - Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan - EndSection -- - -
DGA jest używany w dwóch miejscach w MPlayerze: Sterowniki SDL - mogą być użyte przez niego (-vo sdl:dga) w wewnątrz sterownika DGA (-vo dga). - Rzeczy, które powiedziałem wyżej są zarówno prawdą; w następującej sekcji wyjaśnię - Jak sterownik DGA pracuje z MPlayerem.
- - -Serownik DGA wywoływany jest przez określenie -vo dga z lini poleceń. - Standardowe zachowanie przełącza do rozdzielczości zestawiając oryginalną - rozdzielczość wideo najbliższą z możliwych. - Rozmyślnie ignoruje przełączanie -vm i -fs (włączając przełączanie trybów - wideo i pełny ekran) - zawsze próbuje pokryć tyle obszaru twojego ekranu, - jak to możliwe, poprzez przełączanie trybu wideo, w ten sposób powstrzymuje - użycie pojedynczego okresu twojego CPU do skalowania obrazu. - Jeżeli nie lubisz trybu, jego wybór możesz wymysić przez określenie -x i -y. - Dostarczaną przez opcję -v, sterownik DGA wyświetli, spośród wielu innych - rzeczy, listę wszystkich wspieranych rozdzielczości przez twój obecny plik - konfiguracyjny XF86-Config. - Posiadając DGA2 możesz także wymusić użycie określonej głębi, używając do - tego opcji -bpp. Poprawne głębie to 15, 16, 24 i 32. Zależy od twojego sprzętu, - czy są one wspierane lub czy (możliwe, że wolne) konwersja została wykonana.
- - -Jeśli jesteś na tyle szczęściażem, że posiadasz dosyć miejsca, by umieścić - cały obraz, sterownik DGA użyje podwójnego buforowania, który daje bardziej - wygładzone odtwarzanie filmu. - Zostaniesz poinformowany, czy podówjne buforowanie jest włączone, czy też nie.
- -Podówjne buforowanie oznacza, że kiedy następna klatka twojego wideo jest przetwarzana - gdzieś w pamięci, obecna klatka jest wyświatlana. Kidy następna klatka jest gotowa - chip graficzny trzyma tylko miejsce w pamięci nowej klatki i po prostu dane przechodzą - do wyświetlenia stamtąd. - W tym czasie inny bufor w pamięci zostanie zajęty ponownie nowymi danymi wideo.
- -Podówjne buforowanie może zostać włączone porzez użycie opcji -double i wyłączone przez - -nodouble. Obecnie domyślna opcja wyłącza podówjne buforowanie. - Kiedy jest używany sterownik DGA, wyświatlanie na ekranie (ang. on screen display (OSD)) - pracuje tytlko przy włączonym podówjnym buforowaniu. Jednak włączenie podówjnego buforowania - może odbić się na spadku prędkości (na moim K6-II+ 525 używał dodatkowo 20% czasu CPU!) - w zależności od implementacji DGA dla twojego sprzętu.
- - -Ogólnie powiedziawszy, dostęp bufora klatki DGA powinno być przynajmniej - szybkie używając starownika X11 w dodatku z korzyścią otrzymywaniu pełnoekranowego obrazu. - Procentopwa wartość prędkości wyświatlana przez MPlayera, powinna być traktowana z - ostrożnością, bo na przykład ze sterownikiem X11 nie zawierają one czasu użytego przez - Serwer X wymagany do aktualnego przetwarzania. Sprawdź więc co dzieje się na twoim komputerze.
- -Ogólnie rzecz biorąc, osiągnięte przyśpieszenie poprzez użycie DGA wbrew 'normalnego' - użycia X11, wysoko zależne jest do twojej karty graficznej oraz jak dobrze - zoptymalizowane są moduły X-Serwera.
- -Używanie głębi 24 bitowej jest równie dobrym pomysłem jeśli twoje karta własnoręcznie - ubsługuje 32 bitową głębię, ponieważ odstępuje ona 25% mniej danych w porównaniu do - trybu 32/32.
- -Widziałem niektóre pliki avi odtwarzane już na Pentium MMX 266. Procesory AMD K6-2 - mogły by pracować na 400 MHZ i wyższych.
- - -Jak przyznają niektórzy deweloperzy XFree, DGA jest jak nieokiełznana bestia. - Mówią, że lepiej go nie używać. Jego implementacja nie zawsze jest idealna - ze wszystkimi sterownikami dla XFree.
- -SDL (Simple Directmedia Layer) jest głownie interfejsem wideo/audio. - Programy wykorzystujące go wiedzą tylko o SDLu, i nic z których sterownikach - audio lub wideo aktulanlnie korzysta. Na przykład port Dooma używający SDL - potrafi wystartować na svgalib, aalib, X, fbdev, i innych, musisz tylko mieć określone - (na przykład) sterowniki wideo używane ze środowiskiem - SDL_VIDEODRIVER. No to na tyle teorii
- -Z MPlayerem używamy sterowników X11 ze zdolnością sprzętowego skalowania dla kart/sterowników, - które nie wspierają XVideo, aż stworzymy nasz własny (szybszy, wygodniejszy) skalownik sprzętowy. - Także używamy jego wyjścia aalib, ale teraz posiadamy własny, który jest wygodniejszy. Jego tryb DGA - był lepszy od maszego, do niedawna. Pobrać go natychmiast? :)
- -Pomaga także z niektórymi dziurawymi starownikami/kartami jeśli wideo jest skokowe - (nie chodzi o problem z wolnym systemem), lub jeśli audio się opuźnia.
- -Wyjścia wideo SDL wspiera wyświetlanie napisów pod filmem, na czarnym pasku - (jeśli ten występuje).
- -Istnieją różne opcje linii poleceń dla SDLa:
--vo sdl:name
-ao sdl:name
-noxv
-forcexv
Klucze SDL: | |||
F | przełącza w tryb pełnoekranowy/okna | ||
C | obraca dostępnymi trybami pełnegoekranowymi | ||
W/S | mapowanie dla * i / (kontrola miksera) |
Oczywiście będziesz musiał zainstalować svgalib i jego pakiety, żeby MPlayer - zbudował jego sterownik SVGAlib (automatycznie wykryty, ale może być wymuszony), - i nie zapomnij wyedytować /etc/vga/libvga.config w dostosowaniu do twojej - karty & monitora.
- -Pamiętaj, żeby nie używać przełączenia -fs, odkąd przerzuca ono wywołanie
- sprzętowego skalera i jest obecnie wolne. Jeśli naprawdę tego potrzebujesz użyj
- opcji -sws 4
, która powoduje pogorszenie jakości, jednak jest poniekąd
- szybsza.
SVGAlib załącza EGAlib, a MPlayer posiada możliwość wyświetlania różnych filmów - w 16 kolorach, tak jest zdalny do użytku w następujących ustawieniach:
- -Bpp (bits per pixel - ilość bitów na piksel) wartość musi być ustawiona ręcznie na 4:
- -bpp 4
- Film prawdopodobnie będzie trzeba zmniejszyć, by dopasować się do trybu:
- -vf scale=640:350
lub
- -vf scale=320:200
- Do tego potrzebujemy szybkiego, ale w kiepskiej jakośći skalowania:
- -sws 4
- Może automatyczną korękcję stosunku potrzeba wyłączyć:
- -noaspect
INFORMACJA: według moich eksperymantów, najlepasza jakość obrazu na ekranach EGA
- można osiągnąć poprzez średnie obniżenie jasności: -vf
- eq=-20:0
. Często wymaga to także niskiego próbkowania audio na moim sprzęcie,
- ponieważ dźwięk popsuł się na 44kHz: -srate 22050
.
Możesz włączyć OSD i napisy tylko z filtrem expand
,
- zajrzyj do manuala, po dokładne parametry.
Czy do zbudowania obiektu FBdev jest on automatycznie wykryty - podczas ./configure. Czytaj dokomentację framebuffera w źródłach - jądra (Documentation/fb/*) dla informacji.
- -Jeśli twoja karta nie wspiera standardu VBE 2.0 (starsze karty ISA/PCI, - takie jak S3 Trio64), tylko VBE 1.2 (lub starszy?) : - Więc, VESAfb pozostaje dostępnym, ale potrzebujesz załadować SciTech - Display Doctor (wcześniej UniVBE) przed butowaniem Linuksa. Użyj dyskietek - butujących DOSa lub czegokolwiek innego. - I nie zapomnij zarejestrować swojego UniVBE ;))
- -Wyjście FBdev przyjmuje niektóre dodatkowe parametry ponad inne:
- --fb
-fbmode
-fbmodeconfig
-monitor_hfreq
-monitor_vfreq
-monitor_dotclock
example.conf
Jeśli zamierzasz ustawić określony tryb, użyj
- - mplayer -vm -fbmode (NazwaTrybu) nazwa_pliku
echo -e
- '\033[?25l'
lub setterm -cursor off
setterm -blank 0
echo -e '\033[?25h'
- lub setterm -cursor on
INFORMACJA: przełączanie trybów wideo FBdev _nie współpracuje_ z - framebuffer VESA, i nie pytaj o niego, odkiedy nie jest to ograniczenie - MPlayera.
- - -Sekcja ta jest odnośnie wsparcia Mtrox G200/G400/G450/G550 BES (Back-End Scaler) - sterowników jądra mga_vid. Jest one czynnie rozwijane przeze mnie (A'rpi), - i posiada ono wsparcie sprzętowe VSYNC z potrójnym buforowaniem. Działa zarówno - w konsoli z framebufferem i pod X.
- -INFORMACJA: Jest tak tylko na Linuksie! Na systemach nie-linuksowych (testowane na FreeBSD), - możesz użyć wzamian VIDIX!
- -Instalacja:
-cd drivers
- make
/dev/mga_vid
:
- mknod /dev/mga_vid c 178 0
i załaduj muduły za pomocą
-insmod mga_vid.o
dmesg
.
- Jeśli jest błędna użyj opcji mga_ram_size
(najpierw rmmod mga_vid
),
- by określić rozmiar pamięci w MB:
- insmod mga_vid.o mga_ram_size=16
/etc/modules.conf
:
- alias char-major-178 mga_vid
Następnie skopiuj moduł mga_vid.o
do odpowiedniego miejsca w
- /lib/modules/<wersja jądra>/coś
.
I uruchom
-depmod -a
configure
wykryje
- /dev/mga_vid
i zbuduje sterowniki 'mga'. Wykorzystuje się je w MPlayerze
- przez -vo mga
, jeśli posiadasz konsolę matroxfb,
- lub -vo xmga
pod XFree86 3.x.x, albo 4.x.x.Współpraca sterowników mga_vid z Xv.
- -Plik urządzenia /dev/mga_vid
może być czytany (np.: przez
- cat /dev/mga_vid
) dla jakiś informacji
- i zapisany dla zmiany jasności:
- echo "brightness=120" > /dev/mga_vid
Sterownik ten używa urządzenia framebuffer starownika jądra tdfx,
- by odtwarzać filmy z akceleracją YUV.
- Będziesz potrzebował jądra ze wsparciem tdfxfb, i rekompilacji z
- ./configure --enable-tdfxfb
MPlayer wspiera wyświetlanie filmów, używając do tego OpenGL lecz jeśli twoja - platforma/sterownik wspiera xv jak powinienno być na PeCecie z Linuksem, użyj zamiast - tego xv, OpenGL jest znacząco gorszy. Jeśli posiadasz implemantację X11 - bez wsparcia xv, OpenGL jest możliwą alternatywą.
- -Niestety nie wszystkie sterowniki zapewniają tę cechę. Sterowniki Utah-GLX - (dla XFree86 3.3.6) wspierają ją dla wszystkich kart. Odwiedź - http://utah-glx.sourceforge.net - po detale i informację jak je instalować.
- -XFree86(DRI) 4.0.3 lub późniejsze wspierają OpenGL z kartami Matrox i Radeon, - 4.2.0 lub późniejsze wspierają Rage128. Zajrzyj na - http://dri.sourceforge.net, - pobrać i zapoznać się z instrukcją instalacji.
- - -AAlib jest biblioteką do wyświetlania grafiki w trybie tekstowym, - używając pełnej renderacji ASCII. - Istnieje wiele programów, które to wspierają, tak jak np. Doom, - Quake, itp. MPlayer zawiera dla niego bardzo wygodny sterownik. - Jeśli ./configure wykrywa zainstalowane aalib, sterownik aalib libvo - zostanie zbudowany.
- - -Możesz użyć różnych kluczy w oknie AA, by zmienać opcje renderowania: | |||
1 | zmniejsz kontrast | ||
2 | zwiększ kontrast | ||
3 | zmniejsz jasność | ||
4 | zwiększ jasność | ||
5 | włącz/wyłącz szybsze renderowanie | ||
6 | ustaw tryb rozpraszania (none, error distribution, floyd steinberg) | ||
7 | odwróc obraz | ||
a | przełącz między kontrolą aa i MPlayera) |
Możesz użyć następujących opcji linii poleceń::
--aaosdcolor=V
-aasubcolor=V
gdzie V może być: (0/narmalny, 1/czarny, 2/pogrubione, 3/gruba czcionka, - 4/odwrotny, 5/specialny)
AAlib samo w sobie dostarcza ogromną liczbę opcjii. - Niżej znajdują się najważniejsze:
--aadriver
-aaextended
-aaeight
-aahelp
INFORMACJA: renderowanie bardzo intensywnie obciąza CPU, w szczególności
- kiedy używa AA-on-X (aalib na X), i najmniej obciąza CPU na standardowej konsoli
- bez framebuffera. Uzyj SVGATextMode, by ustawić duży tryb tekstowy, a następnie ciesz się!
- (dodatkowa głowica kard Hercules :)) (ale w moiej skromniej opinii, możesz użyć opcji
- -vf 1bpp
, by otrzymać grafikę na hgafb:)
Użyj opcji -framedrop
, jeśli twój komputer nie posiada wystarczającej
- prędkości do renderowania wszystkich klatek!
Odtwarzając w terminalu, otrzymasz lepszą prędkość i jakość, używając sterowników
- linuksa, nie curses (-aadriver linux
). Ale dlatego potrzebujesz praw zapisu do
- /dev/vcsa<terminal>
. Nie jest one automatycznie wykrywane przez aalib,
- ale vo_aa próbuje znaleść najlepszy tryb. Zobacz
- http://aa-project.sourceforge.net/tune/,
- by wspomódz wyniki tuningu.
Sterownik ten został zaprojektowany i wprowadzony jako ogólny sterownik
- dla kard, które mają BIOS kompatybilny z VESA VBE 2.0+. Inną zaletą tego sterownika,
- jest to, że próbuje on wymusić wyjście TV.
- VESA BIOS EXTENSION (VBE) Version 3.0 Data: 16 wrzesień, 1998 (Strona 70)
- mówi:
- Projekty Dual-Controller- -
- VBE 3.0 wspiera projekt dual-controller przypuszczając, że poniważ obydwa - kontrolery są typowo zapewniane przez ten sam OEM, pod kontrolą pojedynczego - na tych samych kartach graficznych. jest możliwe ukrycie faktu, że dwa kontrolery - rzeczywiście są prezentowane z aplikacji. Posiada to ograniczenia w powstrzymywaniu - równoczesnym użyciu niezależnych kontrolerów, ale pozwala zwolnionym aplikacjom - przed VBE 3.0 by działać normalnie. Funkcja VBE Function 00h - (Powrót Informacji Kontrolera) zwraca połączone informacje obydwu kontrolerów, - włączając połączone listy dostępnych trybów. - Kiedy aplikacja wybiera tryb, właściwy kontroler jest aktywowany. - Każda z pozostawia funkcii VBE, później działa na aktywnym kontrolerze. -
Więc masz szansę na pracę na wyjściu TV dzięku użyciu tego sterownika.
- (Przypuszczam, że wyjście TV-out często jest niezależnym nagłówiem lub
- przynajmniej niezależnym wyjściem.)
monitor_hfreq
,
- monitor_vfreq
, monitor_dotclock
(plik konfiguracyjny
- lub linia poleceń) otrzymasz najwyższe z możliwych tempo odświeżania. Używa
- Ogólnej Formóły Taktowania. By aktywować tą cechę, musisz określić wszystkie
- opcje twojego monitora.Nie używaj tych sterowników z GCC 2.96! Nie chcą działać!
- --vo vesa:opts
-double
. Informacja: możesz pominąć te paramerty włączając
- autodetekcję trybu dga.Jęśli jest to możliwe to unikaj go. Wyjście na X11 (używające rozszerzenia
- dzielonej pamięci), jest bez żadnej akceleracji sprzętowej. Wspiera
- (MMX/3DNow/SSE akcelerację, ale nadal pozostaje wolne skalowanie sprzętowe,
- użyj opcji -fs -zoom
. Wiele kart posiada wsparcie skalowania
- sprzętowego, użyj do tego wyjścia -vo xv
lub -vo xmga
- dla Matroksów.
Problem jest taki, że wiele sterowników kart nie posiada wsparcia sprzętowej - akceleracji na drugiej głowicy/TV. W tych przypadkach widzisz zielone/niebieskie - okno zamiast filmu. Występuje to w przypadku, kiedy twoje sterowniki są poręczne, - lecz wymagają silnego CPU, by użyć sprzętowe skalowanie. Nie używaj sprzętowgo - wyjścia+skalowania sterowników SDL, posiadają gorszą jakość obrazu!
- -Sprzętowe skalowanie jest bardzo wolne, lepiej jak zamiast tego spróbujesz - zmienić tryb wideo. Jest to bardzo proste. Zobacz - sekcję lini trybów DGA i wstaw je do twojego XF86Config.
- --vm
. Zmieni ona
- rozdzielczość do wymiarów filmu. Jeśli nie posiadasz:Jeżeli nie możesz znaleść trybów, które wstawiłeś, przejrzyj wyjście XFree86. - Niektóre sterowniki nie portafią użyć niskich pixelclocków, które są wymagane - do niskich trybów rozdzielczości wideo.
- - -VIDIX jest skrótem od VIDeo Interface for *niX (Interfejs wideo dla *niksów). - Został zaprojektowany i wydany jako interfejs dla szybkich sterowników przestrzeni - użytkownika dostarczających takie wrażenia wideo, jak mga_vid dla kart Matrox. - Jest także przenośny.
- -Interfejs ten został zaprojektowany jako próba przystosowanaia istniejących - interfejsów akceleracji wideo (znanych jako mga_vid, rage128_vid, radeon_vid, pm3_vid) do - stałego schematu. Dostarcza on wysokopoziomowych interfajsów do chipów, znanych - jako BES (BackEnd scalers) lub OV (Video Overlays). Nie dostarcza niskopoziompwych - interfejsów do rzeczy znanych jako serwery graficzne. (Nie chcę konkurować z - zespołem X11 w przełączaniu trybów graficznych). Głównym celem tego interfejsu - jest zapewnianie maksymalnej prędkości odtwarzania wideo.
- --vo xvidix
-vo vesa:vidix
(tylko Linux) oraz -vo fbdev:vidix
Kiedy VIDIX is używany jako podurządzenie (-vo vesa:vidix
), to
- konfiguracja trybu wideo jest ustawiona przez urzadzenie wyjścia wideo
- (vo_server w skrócie). Dlatego też możesz przekazywać z linii poleceń
- MPlayera te same klucze, co dla vo_server. W dodatku rozumie klucze
- -double
, jako globalnie widoczne parametry. (Proponuje używać
- tego klucza z VIDIX na ostatnich kartach ATI).
- Jako dla -vo xvidix
: obacnie uznaje następujące opcje:
- -fs -zoom -x -y -double
.
Możesz także określić bezpośrednoi sterownik VIDIX jako trzeci podargument
- w linii poleceń:
-
- mplayer -vo xvidix:mga_vid.so -fs -zoom -double
- file.avi
- lub
- mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp
- 32 file.avi
-
- Ale jest to niebezpieczne i nie powinienieś tego robić. W tym wypadku podany sterownik
- zostanie wymuszony i skutki są nieprzewidywalne (może zawiesić twój komputer).
- Powinieneś tak zrobić TYLKO, jeśli jesteś absolutnie pewny, że zadziała
- i MPlayer nie zrobi tego automatycznie. Proszę zwróć się z tym do deweroperów.
- Z poprawnej strony jest możliwość użycia VIDIX bez argumkentów, by włączyć autodetekcję.
VIDIX jest bardzo nową technologią i jest bardzo możliwe, że na twoim systemie - nie działa. W tym przypadku jedynym rozwiązniem dla ciebie jest jego przełożenie - (głownie libdha). Ale jest nadzieje, że będzie dziłał na tych systemach, gdzie X11.
- -Ponieważ VIDIX wymaga bezpośredniego dostępu do sprzętu, możesz uruchamiać go na dwa sposoby, - jako root lub możesz ustawić bit SUID na pliki binarnym MPlayera (Ostrzeżenie: Jest to ryzyko - związane z bezpieczeństwem!). Alternatywnie możesz użyć specialnych modułów jądra, takich jak te:
- -svgalib_helper
(możesz je znaleść
- wewnątrz katalogu svgalib-1.9.17/kernel/
jeśli masz pobrane źródła
- ze strony svgalib) i zainstaluj je insmodem.svgalib_helper
do
- mplayer/main/libdha/svgalib_helper
.libdha/Makefile
.Obecnie większość kart ATI jest wspieranych, począwszy od Mach64 do najnowszych - Radeonów.
- -Istnieją 2 skompilowane binaria: radeon_vid
dla Radeona oraz
- rage128_vid
dla kart Rage 128. Może wymusisz któryś bądź zezwolisz
- systemowi VIDIX automatycznie rozpoznać wszystkie gostępne sterowniki.
Matrox G200,G400,G450 i G550 zostały zgłoszone, że działają.
- -Sterowniki wspierają equalizery wideo i powinny być bliskie szybkości jako - framebuffer Matroksa.
- - -Istnieją sterowniki dostępne dla chipsetów Trident Cyberblade/i1, które znaleść -można na płuyach głównych VIA Epia.
- -Sterownik został napisany i jest utrzymywany przez Alastaira M. Robinsona, który - oferuje najnowsze starowniki do ściągnięcia z jego - strony domowej. - Sterowniki są dodane do MPlayera tylko z lekkim opuźnieniem, więc CVS powinien być - zawsze uaktualniany.
- - -Chciaż istanieją sterowniki dla chipów 3DLabs GLINT R3 oraz Permedia3, - nikt ich nie testował, raporty są więc mile widziane.
- - -"DirectFB jest graficzną biblioteką, którą zaprojektowano z przemyślanym systemem. - Oferuje maksymalną akcelerację przy minimalmyn zużyciu i obiciążeniu zasobów." - - cytowane z - http://www.directfb.org.
- -Wyklucze cechy DirectFB z tej sekcji.
- -Pomimo, że MPlayer nie jst utzrymany jako "dostawca wideo" w DirectFB, te - sterowniki wyjścia włączą odtwarzanie wideo - output driver will enable video playback przez DirectFB. Bezie - - oczywiści - akcelerowane, na moim Matroksie G400 prędkość DirectFB była taka sama - jak na XVideo.
- -Zawsze próbuj używać najnowszej wersji DirectFB. Możesz użyć opcji DirectFB
- w linii poleceń, używając opcji -dfbopts
.
- Warstwa selekcji może zostać określona przez metodę podurządzenia, np.: -vo
- directfb:2
(warstwa -1 jest domyślną: autodetekcja)
Proszę przeczytać główną sekcję DirectFB - po ogólne informacje.
- -Te sterowniki wyjścia włączą CRTC2 (na drugiej głowicy) na kartach - Matrox G400/G450/G550, wyświatlając wideo niezależnie od pierwszej głowicy.
- -Instrukcje, co zrobić, bu to działało możesz znaleść pod - sekcją techniczną - lub bezpośrednio na - stronie domowej - Ville Syrjala.
- -Informacja: nie byliśmy w stanie zrobić tego, by działałowo, - lecz inni tak. W każdym razie, przenoszenie kodu CRTC2 do mga_vid - jest w trakcie.
- - -MPlayer wspiera krty z chipsetam Siemens DVB od sprzedawców takich jak - Siemens, Technotrend, Galaxis lub Hauppauge. Ostatnie sterowniki DVB są - dostępne na stronie Linux TV. Jeśli chcesz - wykonywać programowe transkodowanie powinieneś posiadać co najmniej 1GHz CPU.
- -Configure powinien wykryć twoją kartę DVB. Jeśli tak nie zrobił, wymuś detekcję poprzez
- -- ./configure --enable-dvb -- -
Jeśli posiadasz nagłówki ost w niestandardowej ścieżce, ustaw ją przez
- -- ./configure --with-extraincdir=<DVB source directory>/ost/include -- -
Następnie skompiluj i zainstaluj, jak zazwyczaj.
- -Sprzętowe dekodowanie (odtwarzając standardowe pliki MPEG1/2) może zostać wykonane - z tym poleceniem:
- -- mplayer -ao mpegpes -vo mpegpes file.mpg|vob -- -
Sprzętowe dekodowanie lub transkodowanie różnych formatów do MPEG1 może być dokonane - używając polecenia podobnego do:
- -- mplayer -ao mpegpes -vo mpegpes yourfile.ext - mplayer -ao mpegpes -vo mpegpes -vf expand yourfile.ext -- -
Zauważ, że karty DVB wspierają tylko wielkości 288 i 576 dla PAL lub 240 i 480
- dla NTSC. Musisz zeskalować do innych wielkości poprzez dodawanie
- scale=szerokość:wysokość
z szerokością i wysokością chcesz opcji
- -vf
. Karty DVB akceptują rozmaite szerokośći, jak 720, 704,
- 640, 512, 480, 352 itd i wykonują skalowanie sprzętowe w poziomym kierunku, więc
- nie potrzebujesz skalowanie poziomego w większości wprzypadków. Dla 512x384 (stosunek
- 4:3) DivX wypróbuj:
- mplayer -ao mpegpes -vo mpegpes -vf scale=512:576 -- -
Jeśli masz szerokoekranowy film i nie chcesz skalować go do penej wysokości,
- możesz użyć filtra expand=s:w
, by dodać czarne bandy. Dla widoku
- 640x384 DivX, spróbuj:
- mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 file.avi -- -
Jeśli twój CPU jest zbyt wolny dla pełnych 720x576 DivX, wypróbuj zaniżone skalowanie:
- -- mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 file.avi -- -
Jeśli prędkość się nie poprawiła, spróbuj z zaniżeniem pionowym, także:
- -- mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 file.avi -- -
Dla OSD i podpisów użyj cechy OSD filtra. Więc zamiast
- of expand=s:w
lub expand=s:w:x:y
, użyj
- expand=s:w:x:y:1
(piąty parametr :1
na końcu
- włączy renderowanie OSD). Potrzebujesz może podnieść lekko obraz, by otzrymać większą,
- czarną przestrzeń dla napisów. Potzrebujesz może podnieść napisy, jeśli zą poza twoim
- ekranem TV, użyj opcji -subpos <0-100>
,
- by to wyregulować (-subpos 80
jest dobrym wyborem).
Żeby odtwarzać filmy, które nie mają 25 fpsów na PAL TV lub na wolnym CPU, dodaj opcję
- -framedrop
.
By zachować stosunek plików DivX i otrzymać optymalne parametry skalowania - (poziome skalowanie sprzętow oraz pionowe skalowanie programowe podczas zatrzymywania - poprawnego stosunku), użyj filtra dvbscale:
- --for 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1 -for 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1 -- -
Jeśli masz pytania lub chcesz poznać zgłoszenia i wziąść udział w dyskusji - na ten temat, wstąp do naszej listy mailingowej - MPlayer-DVB - Proszę pamiętać, że lista jest w języku angielskim.
- -W przyszłości możesz spodziewać się możliwości wyświetlania OSD i napisów, używając - rodzimych cech OSD kart DVB, jak również bardziej płynnego odtwarzania plików posiadających - inną ilość klatek na sekundę, niż 25 w transkodowaniu w czasie rzeczywistym - pomiędy MPEG2 i MPEG4 (czściowa dekompresja).
- - -MPlayer wspiera sprzętową akcelerację odtwarzania z kartą Creative DXR2.
- -Najpierw będziesz potrzebował odpowiednio zainstalowanych sterowników DXR2. - Sterowniki i instrukcje instalacji możesz znaleść na stronie - Centrum Zasobów DXR2.
- --vo dxr2
-vo dxr2:x11
lub -vo dxr2:xv
-dxr2 <option1:option2:...>
Chipset nakładkowania użyty w DXR2 jest dość kiepskiej jakości, lecz - domyślne ustawienia powinny działać dla każdego. OSD może być użytkowe z - nakładkowaniem (nie na TV) przez rysowanie w kolorze. Z domyślnymi ustawieniami - koloru, możesz otrzymać zmienne rezultaty, zazwyczaj zobaczysz kolorową obramówkę - wokól znaku lub inny zabawny efekt. Jeśli jednak właściwie dobrałeś - ustawienia kolorów powiniwnieś otrzymać dość pozytywne rezultaty.
- -Proszę zajrzeć do manuala po dostępne opcje.
- - -MPlayer wspiera sprzętową akcelerację dotwarzania z kartami Creative DXR3 - oraz Sigma Designs Hollywood Plus. Obydwie karty używają dekodera em8300 MPEG - z Sigma Designs.
- -Na początku potrzebujesz odpowiednio zainstalowanych sterowników DXR3/H+, - w wersji 0.12.0 lub późniejszej. Sterowniki i instrukcje instalacji możesz - znaleść na stronie - the DXR3 & Hollywood Plus dla - Linuksa. Configure powinien wykryć twoją kartę automatycznie, kompilacja powinna - przebiec bezproblemowo.
- --vo dxr3:prebuf:sync:norm=x:<device>
overlay
aktywuje nakładkowanie zamiast wyjścia TV. Do poprawnej
- pracy wymaga właściwie skonfigurawanego setupu. Najłatwiejszą drogą, by
- skonfigurowć nakładkowanie, jest najpierw uruchomienie autocal. Następnie
- uruchom MPayera z wyjściem dxr3 i bez włączonego nakładkowania, uruchom dxr3view.
- W dxr3view możesz ustawiać nakładkowanie i oglądać efektu w czasie rzeczywistym,
- być może ta cecha będzie wspierana w GUI MPlayera w przyszłości.
- Kiedy nakładkowanie ustawione jest odpowiednio, nie będziesz dłużej potrzebował
- dxr3view.prebuf
włącza prebuforowanie. Prebuforowanie jest cechą chipu
- em8300, włączającą tzrymanie więcej niż jednej klatki wideo w czasie.
- Oznacza to, że kierdy uruchamiasz prebuforowaniem, MPlayer spróbuje zatrzymać
- stały byfor wideo z danymi przez cały czas. Jeśli masz wolną maszynę, MPlayer
- prawdopodobnie użyje prawie cały lub dokładnie 100% CPU. Jest to
- wszczególności powszechne, kiedy odtwarzasz czyste strumienie MPEG
- (jak DVD, SVCD a.s.o.) od kiedy MPlayer nie miał przetwarzania go do
- MPEG użyje bardzo szybkiego zapełnianie bufora.-framedrop
, by uniknąc desynchronizacji.sync
włączy nowy silnik synchronizujący. Obecnie jest to w fazie
- eksperymentów. Z włączoną sunczegar wewnętrzny em8300 będzie monitorował przez
- cały czas, jeśli startuje z opóźnieniem zegar z MPlayera zresetuje powodując, że
- em8300 porzucki klatki powodujące opóźnianie.norm=x
ustawi normę TV karty DXR3 bez potrzeby użycia zewnętrznych
- narzędzi, takich jak em8300setup. Poprawne normy, to 5 = NTSC, 4 = PAL-60,
- 3 = PAL. Specialnymi są 2 (autodopasowanie używające PAL/PAL-60) i 1
- (autodopasowanie używające PAL/NTSC), ponieważ decydują one, którą normę użyć,
- przez zaglądanie do tempa klatek filmu. norm = 0 (domyślna) nie zmienia obecnej
- normy.<device>
= numer urządzenia, które ma być użyte, jeśli posiadasz więcej,
- niż jedną kartę em8300.:prebuf:sync
zdaje się, że świetnie pracuje podczas odtwarzanie filmów DivX.
- Osoby zgłaszały problemy podczas używania opcji prebuf
kiedy odtwarzały
- pliki MPEG1/2. Możesz spróbować uruchomić najpierw bez żadnych opcji, jeśli masz
- problem z synchronizacją lub problem z napisami DVD, spróbuj z :sync
.-ao oss:/dev/em8300_ma-X
X
jest numerem urządzenia (0 jeśli
- jest jedna karta).-aop list=resample:fout=xxxxx
-ac hwac3
).-vf lavc/fame
-vf lavc/fame
.-vf lavc=<quality>:25
, w szczególności, jeżeli używasz
- prebuforowania. Ale skąd 25, a nie 29.97? Więc, rzecz się ma tak, że kiedy
- używasz 29.97 obraz staje się lekko skokowy. Uzasadnienie tego jest nam nie
- znane. Ale kiedy ustawisz fpsy na gdzieś pomiędzy 25 i 27 obraz jest stabilny.-vf expand=-1:-1:-1:-1:1
-ac hwac3
-ao oss
,
- która musi być użyta do określenia wyjścia DXR3 zamiast karty dźwiękowej.Są to sterowniki wyświetlania (-vo zr
) dla członków kart
- przechwytujących/odtwarzających MJPEG (testowane na DC10+ i Buz i powinno
- działać dla LML33 i oryginalnej DC10). Sterowniki pracują, kodując klatkę
- do jpeg i przesyłając ją do karty. Dla kodowania jpeg libavcodec jest użyteczne,
- i sugerowane is. Ze specialnym trybem cinerama, możesz oglądać
- filmy w obnszernym ekranie pod warunkiem, że piosiadasz dwa beamery i dwie karty MJPEG.
- W zależności od rozdzielnczości i ustawień jakości, sterownik ten może wymagać dużo
- mocy obliczeniowej CPU, pamiętaj, by okreslić -framedrop
- jeśli twoja maszyna jest zbyt wolna. Informacja: Mój AMD K6-2 350MHz jest (z
- -framedrop
) dostatecznmie wystarczający do oglądania filmów VCD o zminienionym
- rozmiarze i z zmniejszeniem skali.
Sterownik ten kontaktuje się ze sterownikami jądra dostępnych na - http://mjpeg.sourceforge.net, więc - musisz zrobić je najpierw. Obecność karty MJPEG jest automatycznie wykrywana przez skrypt - configure, jeśli detekcje nie powiodła się, wymuś ją przez
- -- ./configure --enable-zr -- -
Wyjście może być kontrolowane przez różne opcje, obszerne ich objaśnienie możesz - znaleść w manualu, krótką listę opcji możesz otrzymać przez uruchomienie
- -- mplayer -zrhelp -- -
Rzeczy, takie ja skalowanie i OSD (on screen display - wyświetlanie na ekarnie)
- nie są utrzymywane przez ten sterownik, ale może byc to wykonane poprez filtry wideo.
- Na przykład, przypuśćmy, że masz film z rozdzielczością 512x272
, a
- chcesz oglądać go na pełnym ekarnie na twojej DC10+. Istnieją trzy główne możliwośći,
- możesz skalowac film do szerokości 768
, 384
lub 192
.
- W związku z quality powinienieś wybrać skalowanie do 384x204
używając szybkiego
- dwuliniowego skalowanika sprzętowego (fast bilinear). Polecenie jest takie
- mplayer -vo zr -sws 0 -vf scale=384:204 movie.avi -- -
Kadrowanie może być wykonane poprzez filter crop
i "własnoręcznie"
- przez sterownik. Przypuśćmy, że film jest zbyt szeroki, wyświeltać go na twojej
- Buz, a nie chcesz używać -zrcrop
. By zmniejszyć film powinienieć
- użyć następującego polecenia
- mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi -- -
Jeśli chcesz użyć filtra crop
, powinieneś wykonać
- mplayer -vo zr -vf crop=720:320:80:0 benhur.avi -- -
Ekstra zdarzenie -zrcrop
wzywa tryb cinerama, t.j.
- możesz rozdzialić film przez rożne beamery TV, by stworzyc większy ekran.
- Przypuśćmy, masz dwa beamery. Lewy podłączony do twojego Buz
- na /dev/video1
i prawy podłączony do DC10+ na
- /dev/video0
. Film ma rozdzielczość 704x288
.
- Przypuśćmy także, że chcesz prawy beamer w czarnobieli, a
- prawy powninien mieć klatki jpeg w jakośći 10
,
- powinieneś wykonać następujące polecenie
- mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \ - -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 movie.avi -- -
Widzisz, że opcje pojawiające się przed drugim -zrcrop
- zastosowują się tylko do DC10+, a te opcje op drugim -zrcrop
- do Buz.
- Maksymalna liczba kart MJPEG uczestniczących w cinerama to cztery, więc możesz
- zbudować vidiwall 2x2
.
Końcowa ważna uwaga: Nie startuje lub nie stopuj XawTV na urządzeniu - odtwarzającym, podczas odtwarzania, zawiesi to twój komputer. Jest tak, jednak, - NAJPIERW wystartuj XawTV, PÓŹNIEJ MPlayera, poczekaj, aż - MPlayer skończy i NASTĘPNIE zatrzymaj XawTV.
- - -Sterownik ten potrafi użyc protokołu Blinkenlights UDP. - Jeśli nie wiesz, czym jest Blinkenlights, - nie potrzebujesz tych sterowników.
- - -Pod Linuksem masz dwie możliwośći, otzrymanie działającego wyjścia TV dla G400:
- -WAŻNE: dla instrukcji wyjścia TV Matroksa G450/G550, proszę zajrzeć do - następnej sekcji!
- --vo x11 -fs -zoom
,
- lecz będzie ona WOLNA oraz posiada ona włączone zabezpieczenie przed kopiowaniem
- Macrovision (możesz obchodzić Macrovision używając
- tego skryptu perla.TVout/matroxset
i wytypuj make
. Zainstaluj
- matroxset
gdzieś w twojej ścieżce.fbset
, wejdź do
- TVout/fbset
i wytypuj make
. Zainstaluje
- fbset
gdzieś w twojej ścieżce.TVout/
w źródłach MPlayera i wykonaj
- ./modules
jako root. Twój tyrb tekstowy przejdzie do trybu
- framebuffera (nie ma drogi powrotnej!)../matroxtv
. Zaprezentuje się jako
- proste menu. Naciśnij 2 i ENTER. Teraz powinieneś mieć ten sam obraz na
- monitorze i na TV. Jeżeli obraz TV (domyślnie PAL) ma dziwne pasy, skrypt nie był w stanie
- ustawwić ustawić poprawnie rozdzielczości (domyślnie do 640x512). Spróbuj innych
- rozdzielczości z menu i/albo poeksperymentuj z fbset.Yoh. Następnym zandaniem jest utworzenie kursora na tty1 (lub cokolwiek) wyłączonegoto, - i wyłączebnie pustego ekranu. Urucham następujące polecenie:
- -echo -e '\033[?25l'
or setterm -cursor off
- setterm -blank 0
Możliwe, że chcesz umieścić powyższe polecenie wewnątrz skryput, a także wyczyścić ekaran..
- By przywrócić kursor:echo -e '\033[?25h'
- lub setterm -cursor on
Yeah kewl. Wystartuj odtwarzanie filmu przez mplayer -vo mga -fs -screenw 640
- -screenh 512 <filename>
- (jeśli używaszX, zmień teraz do matroxfb przez np. CTRL-ALT-F1!)
- Zmień 640x512 jeśli ustawiłeś rozdzielczość do innej.
- Ciesz się ultraszybkim, ultrauwydatnionym wyjściem TV Matrosa (lepsze niż Xv)!
Nikt nie bierze odpowiedzialności i nie poręcza za uszkodzenia wynikłe z tej dokumentacji.
- -Kabel dla G400: Czwarta końcówka złącza CRTC2 jest złożonym sygnałem wideo. Uziemienia - to szusta, siódma i ósma końcówka. (informacje zaczerpnięte od Balázsa Rácza)
- -Kabel dla G450: Pierwsza końcówka złącza CRTC2 jest złożonym sygnałem wideo. - Uziemienia to piąta, szusta, siódma i piętnasta końcówka (5, 6, 7, 15). (informacje zaczerpnięte - od Balázsa Kerekesa)
- -Wyjście tw wspierane dla tych kart zostało niedawno wprowadzone, i nie mag go jeszcze - w głównej gałęzi jądra. Obecnie moduł mga_vidjak mi wiadomo nie może być użyty, - ponieważ sterownik G450/G550 pracujue tylko na jednej konfiguracji: pierwszy chip CRTC - (z większośćią dodatków) na pierwszym wyświetlaniu (na monitorze) i drugi CRTC (nie BES - - po wyjaśnienia BES, proszę zajrzyj do powyższej sekcji G400) na TV. Więc obecnie możesz - użyć tylko sterowników wyjścia fbdev MPlayera.
- -Pierwszy CRTC obecnie nie może być przekierowany do drugiej głowicy. - Autor sterowników jądra matroxfb - Petr Vandrovec - możliwe, że napisze wsparcie - do tego, prze wyświetlanie pierwszego wujścia CRTC na obydwu głowicach jednocześnie - obecnie proponowane dla G400, zobacz sekcję wyżej.
- -Niezbędna łata na jądro oraz szczegółowe howto można popbrać z - http://www.bglug.ca/matrox_tvout/
- - -Obecnie ATI nie chce wsparcia dla jakichkolwiek wyjść TV pod Linuksem, - ponieważ są one licencjowane na technologi Macrovision.
- -Na innych kartach użyj tylko sterownika VESA, bez VIDIX. - Jednak silne CPU jest wymagane.
- -Jedyna rzecz, jaką musisz wykonać - musisz mieć podłączone złącze TV przed - butowaniem PeCta ponieważ BIOS inicjalizuje się tylko raz podczas - procedury POST.
- - -Sprawdź ten URL.
- - -Najpierw musisz pobrać zamknięte, binarne sterowniki z - http://nvidia.com. Nie będę opisywał procesu - instalacji i konfiguracji, ponieważ nie jest to celem tej dokumantacji.
- -Jeżeli XFree86, XVideo oraz akceleracji 3D poprawnie pracuje,
- wyedytuj swoją sekcję Urządzenie (Device) w pliku XF86Config
,
- według poniższego przykładu (przystosowanego do twojej karty/TV):
-Section "Device" - Identifier "GeForce" - VendorName "ASUS" - BoardName "nVidia GeForce2/MX 400" - Driver "nvidia" - #Option "NvAGP" "1" - Option "NoLogo" - Option "CursorShadow" "on" - - Option "TwinView" - Option "TwinViewOrientation" "Clone" - Option "MetaModes" "1024x768,640x480" - Option "ConnectedMonitor" "CRT, TV" - Option "TVStandard" "PAL-B" - Option "TVOutFormat" "Composite" - -EndSection -- -
Oczywiście najważniejszą rzeczą jest część TwinView.
- - -