mirror of
https://github.com/mpv-player/mpv
synced 2025-03-19 09:57:34 +00:00
Polish docs are now available as XML.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11178 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
0ec8cd2912
commit
656bc439ad
@ -1,292 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Zgłaszanie błędów - MPlayer - Odtwarzacz Filmów dla Linuksa</TITLE>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
|
||||
<H1><A NAME="appendix_b">Dodatek B - Jak zgłaszać błędy</A></H1>
|
||||
|
||||
<P>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ć <B>wszystki</B> informacje których wymagamy
|
||||
i wykonyeać wszystkie polecenia zaarte w tym dokumencie.</P>
|
||||
|
||||
|
||||
<H2><A NAME="fix">B.1 Jak naprawiać błędy</A></H2>
|
||||
|
||||
<P>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
|
||||
<A HREF="../tech/patches.txt">ten krótki dokument</A> by dowiedzieć sie, jak
|
||||
dodać twój kod do MPlayera. Ludzie na grupie duskusyjnej
|
||||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</A>
|
||||
pomogą ci, jeżeli będziesz miał jakieś pytania.</P>
|
||||
|
||||
|
||||
<H2><A NAME="report">B.2 Jak zgłaszać błędy</A></H2>
|
||||
|
||||
<P>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 <B>tylko CVS</B> 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
|
||||
<A HREF="http://www.mplayerhq.hu/homepage/dload.html">tej strony</A> lub w
|
||||
README. Jeżeli to nie pomogło, przeczytaj
|
||||
<A HREF="documentation.html#known_bugs">listę znanych błędów</A> 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.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Świetne i dobrze napisany poradnik zadawania pytań w publicznych forach dyskusyjnych to
|
||||
<A HREF="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions The Smart Way</A>
|
||||
(Jak Zadawać Pytania W Mądry Sposób) autorstwa <A HREF="http://www.catb.org/~esr/">Eric S. Raymond</A>.
|
||||
Jest też inny nazwany
|
||||
<A HREF="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report Bugs Effectively</A>
|
||||
(Jak Efektywnie Raportować Błędy) autorstwa <A HREF="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</A>.
|
||||
artykuł w języku polskim to
|
||||
<A HREF="http://rtfm.bsdzine.org/">Jak mądrze zadawać pytania</A>
|
||||
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.</P>
|
||||
|
||||
|
||||
<H2><A NAME="where">B.3 Gdzie zgłaszać błędy</A></H2>
|
||||
|
||||
<P>Zapisz się na grupę dyskusyjną mplayer-users:<BR>
|
||||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">http://mplayerhq.hu/mailman/listinfo/mplayer-users</A><BR>
|
||||
i wyślij swój raport o błędzie do:<BR>
|
||||
<A HREF="mailto:mplayer-users@mplayerhq.hu">mplayer-users@mplayerhq.hu</A></P>
|
||||
|
||||
<P>Językiem grupy jest <B>Angielski</B>. Prosimy o dostosowanie sie do standardu
|
||||
<A HREF="http://www.ietf.org/rfc/rfc1855.txt">Netiquette Guidelines</A> i
|
||||
<B>nie wysyłać e-maili w HTML</B> 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 <A HREF="http://expita.com/nomime.html">świetny dokument</A>.
|
||||
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.</P>
|
||||
|
||||
|
||||
<H2><A NAME="what">B.4 Co raportować</A></H2>
|
||||
|
||||
<P>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 <A HREF="ftp://mplayerhq.hu/MPlayer/incoming/">serwer FTP</A>
|
||||
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.</P>
|
||||
|
||||
|
||||
<H3><A NAME="system">B.4.1 Informacje o systemie</A></H3>
|
||||
|
||||
<UL>
|
||||
<LI>Twoja dystrybcje Linuksa lub system operacyjny i wersja np.:
|
||||
<UL>
|
||||
<LI>Red Hat 7.1</LI>
|
||||
<LI>Slackware 7.0 + devel packs from 7.1 ...</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>wersja kernela:<BR>
|
||||
<CODE>uname -a</CODE></LI>
|
||||
<LI>wersja libc:<BR>
|
||||
<CODE>ls -l /lib/libc[.-]*</CODE></LI>
|
||||
<LI>wersja X:<BR>
|
||||
<CODE>X -version</CODE></LI>
|
||||
<LI>wersje gcc i ld:<BR>
|
||||
<CODE>gcc -v<BR>
|
||||
ld -v</CODE></LI>
|
||||
<LI>wersja binutils:<BR>
|
||||
<CODE>as --version</CODE></LI>
|
||||
<LI>Jeżli masz problemy z trybem pełnoekranowym:
|
||||
<UL>
|
||||
<LI>Typ i wersja menadżera okien</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>Jeżli masz problemy z XVIDIX:
|
||||
<UL>
|
||||
<LI>głebia kolorów w X:<BR>
|
||||
<CODE>xdpyinfo | grep "depth of root"</CODE></LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>Jeżeli tylko GUI jest z błędem:
|
||||
<UL>
|
||||
<LI>wersja GTK</LI>
|
||||
<LI>wersja GLIB</LI>
|
||||
<LI>wersja libpng</LI>
|
||||
<LI>sytuacja GUI, w której błąd wystąpił</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
|
||||
<H3><A NAME="hardware">B.4.2 Sprzęt i sterowniki</A></H3>
|
||||
|
||||
<UL>
|
||||
<LI>Informacja o CPU (działa tylko z Linuksem):<BR>
|
||||
<CODE>cat /proc/cpuinfo</CODE></LI>
|
||||
<LI>Producent i model karty graficznej, np.:
|
||||
<UL>
|
||||
<LI>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</LI>
|
||||
<LI>Matrox G400 DH 32MB SGRAM</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>Typ sterownika wideo & wersja, np.:
|
||||
<UL>
|
||||
<LI>wbudowany sterownik X</LI>
|
||||
<LI>nVidia 0.9.623</LI>
|
||||
<LI>Utah-GLX CVS 2001-02-17</LI>
|
||||
<LI>DRI z X 4.0.3</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>Typ karty dźwiękowej & sterownik, np.:
|
||||
<UL>
|
||||
<LI>Creative SBLive! Gold ze sterownikiem OSS z oss.creative.com</LI>
|
||||
<LI>Creative SB16 ze sterownikiem OSS z kernela</LI>
|
||||
<LI>GUS PnP z emulacją OSSw ALSA</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>W razie wątpliwości dołącz wyjście z <CODE>lspci -vv</CODE> w systemie Linux.</LI>
|
||||
</UL>
|
||||
|
||||
|
||||
<H3><A NAME="configure">B.4.3 Configure problems</A></H3>
|
||||
|
||||
<P>Jeżeli doświadczysz błędów podczas uruchamiania <CODE>./configure</CODE> lub autodetekcja
|
||||
czegoś nie wykryje, przeczytaj <CODE>configure.log</CODE>. 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 <CODE>configure.log</CODE> do twojego raportu o błędzie.</P>
|
||||
|
||||
|
||||
<H3><A NAME="compilation">B.4.4 Problemy z kompilacją</A></H3>
|
||||
|
||||
Prosimy o dołączenie tych plików:
|
||||
|
||||
<UL>
|
||||
<LI><CODE>config.h</CODE></LI>
|
||||
<LI><CODE>config.mak</CODE></LI>
|
||||
</UL>
|
||||
|
||||
Tylko jeżeli kompilacja nie powodzi się w jednym z tych katalogów, dołącz te pliki:
|
||||
|
||||
<UL>
|
||||
<LI><CODE>Gui/config.mak</CODE></LI>
|
||||
<LI><CODE>libvo/config.mak</CODE></LI>
|
||||
<LI><CODE>libao2/config.mak</CODE></LI>
|
||||
</UL>
|
||||
|
||||
<H3><A NAME="playback">B.4.5 Problemy z odtwarzaniem</A></H3>
|
||||
|
||||
<P>Prosimy, dołącz wyjście MPlayera za 1 poziomie gadatliowości, ale pamiętaj
|
||||
<B>nie przycinaj wyjścia</B> 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:</P>
|
||||
|
||||
<P><CODE> mplayer -v [opcje] [nazwa_pliku] > mplayer.log 2>&1</CODE></P>
|
||||
|
||||
<P>Jeżeli twój proble jest specyficzny dla jednego lub więcej plików, wtedy
|
||||
prześlij go (je) na:</P>
|
||||
|
||||
<P> <A HREF="ftp://mplayerhq.hu/MPlayer/incoming/">ftp://mplayerhq.hu/MPlayer/incoming/</A></P>
|
||||
|
||||
<P>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:</P>
|
||||
|
||||
<P><CODE> dd if=twój_plik of=mały_plik bs=1024k count=5</CODE></P>
|
||||
|
||||
<P>Wytnie to pierwsze pięć megabajtów z <STRONG>'twój_plik'</STRONG> i zapisze
|
||||
to do <STRONG>'mały_plik'</STRONG>. Potem wypróbuj mały plik, jeżeli błąd
|
||||
dalej się pojawia, próbka jest dla nas wystarczająca. Prosimy,
|
||||
<STRONG>nigdy</STRONG> 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 <STRONG>dokładny</STRONG> URL jest wystarczający.</P>
|
||||
|
||||
|
||||
<H3><A NAME="crash">B.4.6 Wywalenie się programu (ang. crashe)</A></H3>
|
||||
|
||||
<P>Musisz uruchomić MPlayera wewnątrz <CODE>gdb</CODE> 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 <CODE>Core</CODE>. Poniżej pokazano jak:</P>
|
||||
|
||||
|
||||
<H4><A NAME="debug">B.4.6.1 Jak przechować informacje powtarzalnym wywaleniu się</A></H4>
|
||||
|
||||
Przekompiluj MPlayera z włączoną obsługą debugowania:
|
||||
|
||||
<P><CODE> ./configure --enable-debug=3<BR>
|
||||
make</CODE></P>
|
||||
|
||||
i uruchom MPlayer wewnątrz db używając:
|
||||
|
||||
<P><CODE> gdb ./mplayer</CODE></P>
|
||||
|
||||
Jesteś teraz w gdb. Wpisz:
|
||||
|
||||
<P><CODE> run -v [opcje_dla_MPlayera] nazwa_pliku</code></P>
|
||||
|
||||
i powtórz "wywałkę". Wkrótce po tymm ajk to zrobisz, gdb zwróci
|
||||
ci dostęp do lini komend gdzie musisz wprowadzić
|
||||
|
||||
<P><CODE> bt<BR>
|
||||
disass $pc-32 $pc+32<BR>
|
||||
info all-registers</CODE></P>
|
||||
|
||||
|
||||
<H4><A NAME="core">B.4.6.2 Jak wydobyć sensowne informacje z zrzutu rdzenia (ang. core dump)</A></H4>
|
||||
|
||||
<P>Prosimy, stwórz podany plik rozkazowy (skrypt):</P>
|
||||
|
||||
<P><CODE>bt<BR>
|
||||
disass $pc-32 $pc+32<BR>
|
||||
info all-registers</CODE></P>
|
||||
|
||||
<P>Potem po prostu uruchom podaną komendę:</P>
|
||||
|
||||
<P> <CODE>gdb mplayer --core=core -batch --command=command_file > mplayer.bug</CODE></P>
|
||||
|
||||
|
||||
<H2><A NAME="advusers">B.5 Wiem co robie...</A></H2>
|
||||
|
||||
<P>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ź.<BR><BR>
|
||||
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.<BR>
|
||||
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ć..</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,254 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>CD, DVD, VCD - MPlayer - Odtwarzacz Filmów dla Linuksa</TITLE>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
|
||||
<H2><A NAME="drives">4.1 Napędy CD/DVD</A></H2>
|
||||
|
||||
<P>uryweg z dokumentacji Linuksa:</P>
|
||||
|
||||
<P>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:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Raportowano o błędach odczytu przy wysokich prędkościach, zwłaszcz
|
||||
ze źle wytłoczonymi CD-ROMami. Zmniejszenie prędkości może zapobiec utracie danych
|
||||
w tych sytuacjach.</LI>
|
||||
<LI>Wiele napędów CD-ROM jest irytująco głośnych, mniejsza prędkość może zmniejszyć hałas.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Możesz zmniejszyć prędkość napędu CD-ROM IDE programem <CODE>hdparm</CODE>
|
||||
lub programem o nazwie <CODE>setcd</CODE>. Działa to miej więcej tak:</P>
|
||||
|
||||
<P> <CODE>hdparm -E [prędkość] [napęd cdrom]</CODE></P>
|
||||
|
||||
<P> <CODE>setcd -x [prędkość] [napęd cdrom]</CODE></P>
|
||||
|
||||
<P>Możez ponad to spróbować</P>
|
||||
|
||||
<P> <CODE>echo current_speed:4 > /proc/ide/[napęd cdrom]/settings</CODE></P>
|
||||
|
||||
<P>ale będziesz uprawnień roota. Poniższa komenda także może pomóc:</P>
|
||||
|
||||
<P> <CODE>echo file_readahead:2000000 > /proc/ide/[napęd cdrom]/settings</CODE></P>
|
||||
|
||||
<P>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
|
||||
<CODE>hdparm</CODE>:</P>
|
||||
|
||||
<P> <CODE>hdparm -d1 -a8 -u1 (napęd cdrom)</CODE></P>
|
||||
|
||||
<P>Włązcy to DMA, read-ahead, i odmaskowanie IRQ (przeczytaj stronę man dla
|
||||
<CODE>hdparm</CODE> po szczegółowe wyjaśnienie).</P>
|
||||
|
||||
<P>Prosimy o odwołanie sie do "<CODE>/proc/ide/[napęd cdrom]/settings</CODE>" by
|
||||
lepiej dostroić twój CD-ROM.</P>
|
||||
|
||||
<P>Napędy SCSI nie mają jednolitego sposobu ustawiania ich parametrów (Znasz jakiś?
|
||||
Powiedz nam!) Jest narzędzie, które działa z
|
||||
<A HREF="http://das.ist.org/~georg/">napędami Plextor SCSI drives</A>.</P>
|
||||
|
||||
<P>FreeBSD:</P>
|
||||
|
||||
<P> Prędkość: <CODE>cdcontrol [-f urządzenie] speed [prędkość]</CODE></P>
|
||||
<P> DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P>
|
||||
|
||||
|
||||
<H2><A NAME="dvd">4.2 Odtwarzanie DVD</A></H2>
|
||||
|
||||
<P>Po kompletną listę dostępnych opcji, prosimy o przeczytanie manula.</P>
|
||||
|
||||
<H4>Wsparcie nowego-stylu DVD (mpdvdkit2)</H4>
|
||||
|
||||
<P>MPlayer używa <CODE>libdvdread</CODE> i <CODE>libdvdcss</CODE> do
|
||||
deszyfrowania i odtwarzania DVD. Te dwie biblioteki są zawarte w podkatalogu
|
||||
<CODE>libmpdvdkit2/</CODE> 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 <CODE>libdvdread</CODE> i nałożych nakładkę która
|
||||
dodawałą do <CODE>libdvdcss</CODE> <B>obługę buforowania (cache) skrakowanych kluczy CSS</B>.
|
||||
Dało to duży przyrost sprędkości, ponieważ klucze nie muszą być krakowane za
|
||||
każdym razem przed odtwarzaniem.</P>
|
||||
|
||||
<P>MPlayer może również używać systemowych bibliotek <CODE>libdvdread</CODE> i
|
||||
<CODE>libdvdcss</CODE> , ale to rozwiązanie <B>nie</B> jest polecane,
|
||||
ponieważ może to powodować błędy, niekompatybilność bibliotek i wolniejszą prędkość.</P>
|
||||
|
||||
<H4>wsparcie dla DVD Navigation (dvdnav)</H4>
|
||||
|
||||
<P>Wsparcie dla DVD navigation (menu na płycie DVD, z wyborem scen, napisów itp.; przyp.tłum.).
|
||||
przez <CODE>dvdnav</CODE> 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.</P>
|
||||
|
||||
<H4>Wsparcie dla starego-stylu DVD - OPCJONALNIE</H4>
|
||||
|
||||
<P>Przydatne jeżeli chcesz odtworzyć zakodowane VOBy z <B>twardego dysku</B>. W tym celu
|
||||
skompiluj i zainstaluj <B>libcss</B> 0.0.1 (nie nowszy) (Jeżeli MPlayer nie
|
||||
wykryję go, użyj opcji <CODE>-csslib /ścieżka/do/libcss.so</CODE>). 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.</P>
|
||||
|
||||
<H4>Struktura DVD</H4>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>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ą <B>sektory</B>,
|
||||
więc musiał użyć adresowania sektorów raw na dysku by użyć nawigacji DVD lub zdeszyfrować zawartość.</P>
|
||||
|
||||
<P>Całe wsparcie dla starego-stylu DVD jest przez <CODE>libcss</CODE>, 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:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Bycie rootem lub użycie MPlayera z suid-root.</LI>
|
||||
<LI>Kazać MPlayerowi użyć programu wrapera z suid-root o nazwie fibmap_mplayer
|
||||
by mieć dostęp do DVD (używane tylko w odtwarzaniu DVD w starym-stylu DVD z <CODE>libcss</CODE>).</LI>
|
||||
<LI>W ogóle nie używaj sterownika systemu plików kernela i reimpetacji tego w przestrzeni
|
||||
użytkownika. <CODE>libdvdread</CODE> 0.9.x i <CODE>libmpdvdkit</CODE> 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.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Czasami <CODE>/dev/dvd</CODE> nie możę być odczytany przez użytkownikóws, więc autorzy
|
||||
<CODE>libdvdread</CODE> 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.</P>
|
||||
|
||||
<P><CODE>libdvdread</CODE> akceptuje nawet pukty mantowania (ang. mountpoint) zamiast
|
||||
nazwy urządzenia dla dostępy raw i sprawdza <CODE>/proc/mounts</CODE> by pobrać nazwę urządzenia.
|
||||
Zrobione to zostało dla Solarisa, gdzie nazwy urządzeń są dynamicznie przydzielane.</P>
|
||||
|
||||
<P>Domyślnym urządzeniem DVD jest <CODE>/dev/dvd</CODE>. jeżeli ustawiłeś inne,
|
||||
stwórz link symboliczny, lyb podaj poprawne urządzenie w linii komend opcją
|
||||
<CODE>-dvd-device</CODE>.</P>
|
||||
|
||||
<H4>Autentyfikacja DVD</H4>
|
||||
|
||||
<P>Wspacia dla autentyfikacji i metod deszyfrowania nowego-stylu DVD są ukończone,
|
||||
używają poprawionej biblioteki <CODE>libdvdcss</CODE> (patrz wyżej). Metoda może być
|
||||
określona poprzez zmienną systemową <CODE>DVDCSS_METHOD</CODE>, która może być ustawiona na
|
||||
<CODE>key (klucz)</CODE>, <CODE>disk (dysk)</CODE> lub <CODE>title (tytuł)</CODE>.</P>
|
||||
|
||||
<P>Jeżeli nic nie jest określone, biblioteka próbuje poniższych metod
|
||||
(domyślnie: key, title request):</P>
|
||||
|
||||
<OL>
|
||||
<LI><B>bus key:</B> Ten klucz jest negocjowany podczas autentyfikacji (długi mix
|
||||
ioctl'i wymiany różnych kluczy, oprogramowanie kryptograficzne) i używa go do deszyfracji
|
||||
kluczy tytułu i dysku zanim wyśle je przez niechronioną magistralę (bus)
|
||||
(by zapobiec podsłuchiwaniu). Klucz magistrali jest wymagany do pobrania i predeszyfracji
|
||||
zaszyfrowanego klucza dysku.</LI>
|
||||
<LI><B>cached key:</B> MPlayer szuka aktualnie skrakowanych kluczy tytułów
|
||||
które są zapisane w katalogu <CODE>~/.mplayer/DVDKeys</CODE> (szybkie ;).</LI>
|
||||
<LI><B>key:</B> Jeżeli nie są dostępne zbuforowane klucze, MPlayer próbuje deszyfrować
|
||||
klucz dysku grupą kluczy dołączonych do odtwarzacza.</LI>
|
||||
<LI><B>disk:</B> Jeżeli metoda klucza zawiedzie (np. nie ma doączony kluczy do odtwarzacza),
|
||||
MPlayer skrakuje klucz dysku używając algorytmu brute force.
|
||||
Ten proces intensywnie wykorzystuje CPU i wymaga 64 MB pamięci (16M 32Bit
|
||||
wpisów tablicy mieszającej (org. hash table)) by zapisać tymczasowe dane. Ta metoda powinna
|
||||
zawsze działać (wolno).</LI>
|
||||
<LI><B>title request:</B> Z kluczem dysku MPlayer wymaga zaszyfrowanych kluczy
|
||||
tytułów, które są wewnątrz <I>ukrytych sektorów</I> używających <CODE>ioctl()</CODE>.
|
||||
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.</LI>
|
||||
<LI><B>title:</B> Ta metoda zostanie użyta, jeżeli metoda "title request" (patrz wyżej) zawiedzie
|
||||
i nie polega na wymianie klucza z napędem DVD. Używa ataku kryptograficznego
|
||||
by bezpośrednio odgadnąć klucz tytułu (poprzez odnajdywanie powtarzających się wzorców w
|
||||
zaszyfrowanej zawartości VOB i odgadywaniu, że tekst jawny odpowiadający pierwszym
|
||||
zaszyfrowanym bajtom jest kontunuacją wzorca).
|
||||
Ta metoda jest również znana jako "known plaintext attack" (atak znanym tekstem jawnym) lub "DeCSSPlus".
|
||||
W wielu przypadkach ta metoda zawodzi, ponieważ nie ma wystarczającej ilości zaszyfrowanych
|
||||
informacji na dysku, by sporządzić statystyki ataku lub dlatego, że klucz zmienia się
|
||||
wewnątrz tytułu. Ta metoda jest jedynym rozwiązaniem by zdeszyfrować DVD zapisane na
|
||||
dysku twardym lub z DVD z błędnym kodem regionu w napędach RPC2 (wolny).</LI>
|
||||
</OL>
|
||||
|
||||
<P>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
|
||||
<A HREF="http://www.firmware-flash.com">stronie firmware'owej</A>. Jeżeli nie ma tam
|
||||
upgrade'u firmware'u dostępnego dla twojego urządzenia, użyj
|
||||
<A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">narzędzia regionset
|
||||
</A> by ustawić kod regionu twojego napędu DVD (pod Linuksem).
|
||||
<B>Ostrzeżenie:</B> Możesz zmienić region tylko 5 razy.</P>
|
||||
|
||||
|
||||
<H2><A NAME="vcd">4.3 Odtwarzanie VCD</A></H2>
|
||||
|
||||
<P>Po kompletną listę dostępnych opcji, prosimy o przeczytanie manuala.
|
||||
Składnia dla standardowego Video CD (VCD) jest następująca:</P>
|
||||
|
||||
<P><CODE>mplayer vcd://<ścieżka> [-cdrom-device <uządzenie>]</CODE></P>
|
||||
|
||||
<P>Przykład: <CODE>mplayer vcd://2 -cdrom-device /dev/hdc</CODE></P>
|
||||
|
||||
<P>Domyślnym użądzeniem VCD jest <CODE>/dev/cdrom</CODE>. Jeżeli twoje ustawienia są inne,
|
||||
stwórz link symboliczny lub podaj poprawne urządzenie w lini komend opcją
|
||||
<CODE>-cdrom-device</CODE>.</P>
|
||||
|
||||
<P><B>Informacja:</B> 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 <A HREF="../tech/patches.txt">pomóż nam</A> wprowadzić
|
||||
ogólne wsparcie dla SCSI VCD.</P>
|
||||
|
||||
<P>Tymczasem możesz wydobyć dane z VCDików programem
|
||||
<A HREF="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</A>
|
||||
i odtworzyć wynikowy plik MPlayerem.</P>
|
||||
|
||||
<H4>Struktura VCD</H4>
|
||||
|
||||
<P>Dyski VCD składają się z jednej lub więcej ścieżek:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Pierwsza ścieżka jest małą ścieżką danych 2048 bajtów/sektor z systemem plików iso9660,
|
||||
zazwyczaj zawierającą odtwarzacz VDC dla Windowsa i może inne informacje
|
||||
(zdjęcia, tekst, itp).</LI>
|
||||
<LI>Druga i inne ścieżki są to MPEGi raw, 2324 bajtów/sektor (film),
|
||||
zawierające jeden pakiet danych MPEG PS na sektor zamiast systemu plików.
|
||||
Podobnie do ścieżek audio CD, te ścieżki <B>nie mogą być zamontowane</B> (Montowałeś kiedykolwiek
|
||||
audio CD, by je odtworzyć?). Ponieważ większość filmów jest w tej śieżce,
|
||||
powinieneś najpierw spróbować <CODE>vcd://2</CODE>.</LI>
|
||||
<LI>Istnieją dyski VCD bez pierwszej ścieżki (pojedyńcza ścieżka i całkowity
|
||||
brak systemu plików). Nadal można je odtworzyć, ale nie mogą być zamontowane.</LI>
|
||||
</UL>
|
||||
|
||||
<H4>O plikach .DAT:</H4>
|
||||
|
||||
<P>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 (<CODE>vcdfs/isofs-2.4.X.o</CODE>), 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
|
||||
<B>nie zadziała</B> ze standardowym sterownikiem iso9660 kernela Linuksa!
|
||||
Użyj zamiast tego opcji <CODE>-vcd</CODE>. Alternatywami dla kopiowania VCD są:
|
||||
nowy sterownik kernela <A HREF="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</A>
|
||||
(nie jest częścią oficjalnedo kernela) który pokazuje <I>sesje</I> CD
|
||||
jako pliki obrazów i <A HREF="http://cdrdao.sourceforge.net/">cdrdao</A>, aplikacja
|
||||
do grabowania/kopiowania CD metodą bit-by-bit.</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,567 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Kodeki - MPlayer - Odtwarzacz Filmów dla Linuksa</TITLE>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
|
||||
<H2><A NAME="codecs">2.2 Wspierane kodeki</A></H2>
|
||||
|
||||
|
||||
<H3><A NAME="video_codecs">2.2.1 Kodeki wideo</A></H3>
|
||||
|
||||
<P>Zobacz <A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">tabelę statusu kodeków</A>
|
||||
po kompletną, codziennie tworzoną listę.</P>
|
||||
|
||||
<P>Najważniejsze z nich to:</P>
|
||||
<UL>
|
||||
<LI><B>MPEG1</B> (<B>VCD</B>) i <B>MPEG2</B> (<B>DVD</B>) wideo</LI>
|
||||
<LI>natywny dekoder dla <B>DivX ;-)</B>, <B>OpenDivX</B>, <B>DivX4</B>, <B>
|
||||
DivX5</B>, <B>M$ MPEG4</B> v1, v2 i inne warianty MPEG4</LI>
|
||||
<LI>natywny dekoder dla <B>Windows Media Video 7/8</B> (<B>WMV1/WMV2</B>), i
|
||||
dekoder Win32 DLL dla <B>Windows Media Video 9</B> (<B>WMV3</B>), oba
|
||||
używane w plikach .wmv</LI>
|
||||
<LI>natywny dekoder <B>Sorenson 1 (SVQ1)</B></LI>
|
||||
<LI>dekoder Win32/QT <B>Sorenson 3 (SVQ3)</B></LI>
|
||||
<LI>dekoder <B>3ivx</B> v1, v2</LI>
|
||||
<LI>kodeki Cinepak i <B>Intel Indeo</B> (3.1, 3.2, 4.1, 5.0)</LI>
|
||||
<LI><B>MJPEG</B>, AVID, VCR2, ASV2 i inne sprzętowe formaty</LI>
|
||||
<LI>VIVO 1.0, 2.0, I263 i inne warianty h263(+)</LI>
|
||||
<LI>FLI/FLC</LI>
|
||||
<LI>kodek <B>RealVideo 1.0</B> libavcodec, i kodeki <B>RealVideo 2.0</B>,
|
||||
<B>3.0</B> i <B>4.0</B> używające bibliotek RealPlayer</LI>
|
||||
<LI>natywny dekoder dla HuffYUV</LI>
|
||||
<LI>różne stare, proste formaty, jak np. RLE</LI>
|
||||
</UL>
|
||||
|
||||
<P>Jeżeli masz kodeka Win32 nie wyszczególnionego tutaj, który nie jest jeszcze wspierany,
|
||||
prosimy, przeczytaj <A HREF="#importing">HOWTO importowania kodeków</A> i pomóż nam dodać
|
||||
obsługę dla niego.</P>
|
||||
|
||||
|
||||
<H4><A NAME="divx">2.2.1.1 DivX4/DivX5</A></H4>
|
||||
|
||||
</P>Ta sekcja zawiera informacje o kodekach DivX4 i DivX5 z
|
||||
<A HREF="http://www.projectmayo.com">Project Mayo</A>.
|
||||
Ich pierwszą dostępną wersją alfa był OpenDivX 4.0 alfa 47 oraz 48.
|
||||
Wsparcie dla nich zostało dołączone w MPlayerze, i jest kompilowane
|
||||
standardowo. Dawniej używaliśmy kodu postprocessing z tych kodeków do
|
||||
opcjonalnego zwiększenia jakości filmów MPEG1/2. Teraz już stosujemy własny.</P>
|
||||
|
||||
<P>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 <B>ODRADZANE</B>. Jednak, da się nimi kodować.
|
||||
Jedną wadą jest to, że nie są one dostępne na licencji Open Source.</P>
|
||||
|
||||
<P>DivX4Linux pracuje w dwóch trybach:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>-vc odivx</CODE></DT>
|
||||
<DD>Użycie kodeka sposobem OpenDivX. W tym przypadku produkuje on
|
||||
we własnym buforze obrazy YV12, a MPlayer dokonuje konwersji
|
||||
przestrzeni kolorów przy pomocy libvo. (<B>Szybkie, zalecane!</B>)</DD>
|
||||
|
||||
<DT><CODE>-vc divx4</CODE></DT>
|
||||
<DD>Użycie konwersji przestrzeni kolorów z kodeka divx4. W tym
|
||||
trybie można użyć również YUY2/UYVY. (<B>POWOLNE</B>)</DD>
|
||||
</DL>
|
||||
|
||||
<P>Metoda <CODE>-vc odivx</CODE>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ę <CODE>-vc divx4</CODE>.
|
||||
W trybie RGB prędkości są takie same, różnią się być może tylko
|
||||
w odniesieniu do aktualnej głębi kolorów.</P>
|
||||
|
||||
<P><B>Informacja:</B> Jeżeli twój sterownik <CODE>-vo</CODE> wspiera bezpośrednie renderowanie,
|
||||
wtedy <CODE>-vc divx4</CODE> może być szybszy lub być najszybszym rozwiązaniem.</P>
|
||||
|
||||
<P>Kodek możesz pobrać z
|
||||
<P>Binarne biblioteki kodeka Divx4/5 możesz pobrać z
|
||||
<A HREF="http://avifile.sourceforge.net">avifile</A> lub
|
||||
<A HREF="http://www.divx.com">divx.com</A>.
|
||||
Rozpakuj go, jako root uruchom <CODE>./install.sh</CODE> i nie zapomnij dodać
|
||||
<CODE>/usr/local/lib</CODE> do twojego <CODE>/etc/ld.so.conf</CODE> i uruchom
|
||||
<CODE>ldconfig</CODE>.</P>
|
||||
|
||||
<P>Pobierz wersję CVS STARYCH bibliotek jądra OpenDivx w taki sposób (lub podobny):</P>
|
||||
|
||||
<OL>
|
||||
<LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login</CODE></LI>
|
||||
<LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore</CODE></LI>
|
||||
<LI>Ta biblioteka jądra jest podzielona na bibliotekę dekodującą i kodującą
|
||||
więc muszą być kompilowane odzielnie. Dla biblioteki dekodującej, po prostu podaj
|
||||
<PRE>
|
||||
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
|
||||
</PRE>
|
||||
</LI>
|
||||
<LI>Niestety, dla biblioteki kodującej nie ma dostępnego Linux Makefile, a
|
||||
optymalizacja kodu dla MMX działa tylko w Windowsie. Nadal możesz skompilować ją,
|
||||
używając tego
|
||||
<A HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">Makefile</A>.
|
||||
<PRE>
|
||||
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
|
||||
</PRE>
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="libavcodec">2.2.1.2 FFmpeg DivX/libavcodec</A></H4>
|
||||
|
||||
<P><A HREF="http://ffmpeg.sourceforge.net">FFmpeg</A> zawiera pakiet
|
||||
kodeków <B>open source</B>, 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!</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>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 <B>nie</B>
|
||||
działa z MPlayerem. By to zrobić, wykonaj:</P>
|
||||
|
||||
<OL>
|
||||
<LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login</CODE></LI>
|
||||
<LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg</CODE></LI>
|
||||
<LI>Przenieś katalog <CODE>libavcodec</CODE> ze źródeł FFmpeg sources do
|
||||
głównego katalogu drzewa CVS MPlayera. To powinno wyglądać mniej więcej tak:
|
||||
<P> <CODE>main/libavcodec</CODE></P>
|
||||
Linki symboliczne <B>nie są</B> wystarczające, musisz go skopiować lub przenieść!</LI>
|
||||
<LI>Kompilacja. Configure powinno wykryć problemy, przed kompilacją.</LI>
|
||||
</OL>
|
||||
|
||||
<P><B>Informacja:</B> MPlayer z CVS zawiera podkatalog libavcodec, ale
|
||||
<B>nie</B> zawiera kodu libavcodec!
|
||||
Musisz podążać za powyższymi krokami, by uzyskać kod tej biblioteki.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="xanim">2.2.1.3 Kodeki XAnim</A></H4>
|
||||
|
||||
<H4>PRZEDMOWA</H4>
|
||||
<P>
|
||||
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.
|
||||
</P>
|
||||
|
||||
<H4>INSTALACJA I UŻYWANIE</H4>
|
||||
<P>MPlayer potrafi używać kodeków XAnim do kodowania. Podążaj za poniższymi
|
||||
instrukcjami, by je włączyć:</P>
|
||||
|
||||
<OL>
|
||||
<LI>Pobierz kodeki których chcesz używać ze
|
||||
<A HREF="http://xanim.va.pubnix.com">strony XAnim</A>. Nie ma tam kodeka
|
||||
<B>3ivx</B>, ale na <A HREF="http://www.3ivx.com">stronie 3ivx</A>.</LI>
|
||||
<LI><B>LUB</B> pobierz pakiet kodeków z naszej
|
||||
<A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">strony z kodekami</A>.
|
||||
</LI>
|
||||
<LI>Użyj opcji <CODE>--with-xanimlibdir</CODE> by podać do configure, gdzie ma
|
||||
ma szukać kodeków XAnim. Domyślnie, szuka ich w
|
||||
<CODE>/usr/local/lib/xanim/mods, /usr/lib/xanim/mods i /usr/lib/xanim</CODE>.
|
||||
Alternatywnie, możesz ustawić zmienną środowiskową <I>XANIM_MOD_DIR</I> na
|
||||
katalog z kodekami XAnim.</LI>
|
||||
<LI>Zmień nazwy/stwórz linki do plików, wycinając część dotyczącą architektury, tak więc
|
||||
nazwy plików będą wyglądały tak: <CODE>vid_cvid.xa, vid_h263.xa, vid_iv50.xa</CODE>.</LI>
|
||||
</OL>
|
||||
|
||||
<P>XAnim należy do rodziny kodeków <CODE>xanim</CODE>, więc możliwe że będziesz chciał
|
||||
użyć opcji <CODE>-vfm xanim</CODE> by poinformować MPlayera, że ma ich używać,
|
||||
jeżeli jest to możliwe.</P>
|
||||
|
||||
<P>Testowane kodeki zawierają: <B>Indeo 3.2</B>, <B>4.1</B>, <B>5.0</B>, <B>CVID</B>,
|
||||
<B>3ivX</B>, <B>h263</B>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="vivo_video">2.2.1.4 Wideo VIVO</A></H4>
|
||||
|
||||
<P>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ą <CODE>-vc ffh263</CODE>
|
||||
Dla plików 2.0 używaj DLL'i Win32 poprzez opcję <CODE>-vc vivo</CODE>. Jeżeli nie podasz
|
||||
opcji w linii komend MPlayer automatycznie wybierze najlepszy kodek.</P>
|
||||
|
||||
|
||||
<H4><A NAME="mpeg">2.2.1.5 Wideo MPEG 1/2</A></H4>
|
||||
|
||||
<P>MPEG1 i MPEG2 są dekodowane przez wieloplatformową natywną bibliotekę
|
||||
<B>libmpeg2</B>, której kod jest dołączony do MPlayera. Odtwarzamy błędne
|
||||
pliki wideo MPEG 1/2 poprzez wyłapywanie <CODE>Signal 11 (Segmentation fault)</CODE>,
|
||||
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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="ms_video1">2.2.1.6 MS Video1</A></H4>
|
||||
|
||||
<P>Jest bardzo stary i bardzo zły kodek Microsoftu. W przeszłości był on
|
||||
dekodowany z kodekiem Win32 <CODE>msvidc32.dll</CODE>, teraz mamy własną
|
||||
implementację open source (wykonaną przez <A HREF="mailto:melanson@pcisys.net">
|
||||
Mike'a Melansona</A>).</P>
|
||||
|
||||
|
||||
<H4><A NAME="cinepak">2.2.1.7 Cinepak CVID</A></H4>
|
||||
|
||||
<P>MPlayer posiada teraz swój własny opensource, wieloplatformowy dekoder Cinepak
|
||||
(wykonany przez <A HREF="mailto:timf@csse.monash.edu.au">Dr. Tim Ferguson</A>),
|
||||
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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="realvideo">2.2.1.8 RealVideo</A></H4>
|
||||
|
||||
MPlayer wspiera dekodowanie wszystkich wersji RealVideo:
|
||||
|
||||
<UL>
|
||||
<LI>RealVideo 1.0 (fourcc RV10) - wsparcie dla ko/dekodowanie przez <B>libavcodec</B></LI>
|
||||
<LI>RealVideo 2.0, 3.0, 4.0 (fourcc RV20, RV30, RV40) - dekodowane przez <B>biblioteki RealPlayera</B></LI>
|
||||
</UL>
|
||||
|
||||
<P>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ą <CODE>--with-reallibdir</CODE>.</P>
|
||||
|
||||
<P><B>Informacja:</B> Biblioteki RealPlayera aktualnie <B>działają tylko z Linuksem,
|
||||
FreeBSD, NetBSD i Cygwinem na platformach x86, Alpha i PowerPC
|
||||
(Linux/Alpha i Linux/PowerPC zostały przetestowane).</B></P>
|
||||
|
||||
|
||||
<H4><A NAME="xvid">2.2.1.9 XviD</A></H4>
|
||||
|
||||
<P><A HREF="http://www.xvid.org/"><B>XViD</B></A> 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.</P>
|
||||
|
||||
<H4>KORZYŚCI</H4>
|
||||
|
||||
<UL>
|
||||
<LI>otwarty kod</LI>
|
||||
<LI>jego API jest kompatybilne z DivX4, więc dodanie wsparcia dla niego jest proste</LI>
|
||||
<LI>wsparcie dla kodowania 2-krokowego</LI>
|
||||
<LI>niezła jakość kodowania, większa prędkość niż DivX4 (możesz zoptymalizować
|
||||
go do twojego sprzętu podczas kompilacji)</LI>
|
||||
</UL>
|
||||
|
||||
<H4>WADY</H4>
|
||||
|
||||
<UL>
|
||||
<LI>aktualnie niezbyt poprawnie <B>dekoduje</B> wszystkich plików DivX/DivX4 (nie
|
||||
problemu, bo <A HREF="#libavcodec">libavcodec</A> odtwarza je wszystkie)</LI>
|
||||
<LI>musisz wybrać między wsparciem dla DivX4 <B>lub</B> XviD podczas kompilacji</LI>
|
||||
<LI>nie ukończony</LI>
|
||||
</UL>
|
||||
|
||||
<H4>INSTALOWANIE XVID Z CVS</H4>
|
||||
|
||||
<P>Aktualnie XviD jest dostępny tylko z CVS. Tutaj znajduje się instrukcja
|
||||
pobrania i instalacji(potrzebujesz przynajmniej autoconf 2.50, automake i libtool):</P>
|
||||
|
||||
<OL>
|
||||
<LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</CODE></LI>
|
||||
<LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</CODE></LI>
|
||||
<LI><CODE>cd xvidcore/build/generic</CODE></LI>
|
||||
<LI><CODE>./bootstrap.sh</CODE></LI>
|
||||
<LI><CODE>./configure</CODE><BR>
|
||||
Możesz dodać kilka opcji (przestudiuj komunikaty
|
||||
<CODE>./configure --help</CODE>).</LI>
|
||||
<LI><CODE>make && make install</CODE></LI>
|
||||
<LI>Jeżeli określiłeś <CODE>--enable-divxcompat</CODE>, skopiuj plik
|
||||
nagłówkowy <CODE>divx4.h</CODE> z <CODE>xvidcore/src/</CODE>
|
||||
do <CODE>/usr/local/include/</CODE>.</LI>
|
||||
<LI>Przekompiluj MPlayer z
|
||||
<CODE>--with-xvidcore=/path/to/libxvidcore.a</CODE>.</LI>
|
||||
</OL>
|
||||
|
||||
|
||||
<H4><A NAME="sorenson">2.2.1.10 Sorenson</A></H4>
|
||||
|
||||
<P><B>Sorenson</B> 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:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Sorenson 1 (fourcc <I>SVQ1</I>) - wsparcie dla dekodowanie przez <B>natywne
|
||||
kodeki</B><BR>
|
||||
Aktualnie są dwa (prawie jednakowe) dekodery dla SVQ1: jeden jest wbudowany w
|
||||
MPlayera, inny jest w libavcodec. Możesz wybierać między nimi odpowiednio opcjami
|
||||
<CODE>-vc svq1</CODE> i <CODE>-vc ffsvq1</CODE>.
|
||||
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
|
||||
<A HREF="http://www.xinehq.de">xine</A>.</LI>
|
||||
<LI>Sorenson 3 (fourcc <I>SVQ3</I>) - wsparcie dla dekodowanie przez <B>biblioteki
|
||||
Win32 QuickTime</B></LI>
|
||||
</UL>
|
||||
|
||||
<H4>KOMPILOWANIE MPLAYERA Z WSPARCIEM DLA BIBLIOTEK QUICKTIME</H4>
|
||||
|
||||
<P><B>INFORMACJA:</B> aktualnie wspierane są tylko platformy 32bit Intel.</P>
|
||||
|
||||
<OL>
|
||||
<LI>pobierz MPlayera z CVS</LI>
|
||||
<LI>skompiluj MPlayera z:<BR>
|
||||
<CODE>$ ./configure --enable-qtx-codecs</CODE></LI>
|
||||
<LI>pobierz pakiet DLLi QuickTime z
|
||||
<A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</A></LI>
|
||||
<LI>rozpakuj pakiet DLLi QuickTime do twojego katalogu z kodekami Win32 (domyślnie:
|
||||
<CODE>/usr/lib/win32</CODE>)</LI>
|
||||
</OL>
|
||||
|
||||
|
||||
<H3><A NAME="audio_codecs">2.2.2 Kodeki audio</A></H3>
|
||||
|
||||
<P>Najważniejsze kodeki audio:<BR></P>
|
||||
|
||||
<UL>
|
||||
<LI>dźwięk MPEG layer 2 (MP2), i layer 3 (MP3) (<B>natywny</B> kod, z
|
||||
optymalizacją MMX/SSE/3DNow!)</LI>
|
||||
<LI>dźwięk MPEG layer 1 (<B>natywny</B> kod, z libavcodec)</LI>
|
||||
<LI>Windows Media Audio v1, v2 (<B>natywny</B> kod, z libavcodec)</LI>
|
||||
<LI>Windows Media Audio 9 (WMAv3) (używający DMO DLL)</LI>
|
||||
<LI>AC3 Dolby audio (<B>natywny</B> kod, z optymalizacją MMX/SSE/3DNow!</LI>
|
||||
<LI>AC3 wykorzystujący osprzętowanie karty dźwiękowej</LI>
|
||||
<LI>kodek audio Ogg Vorbis (<B>natywne</B> biblioteki)</LI>
|
||||
<LI>RealAudio: DNET (nisko-bitrate'owy AC3), Cook, Sipro i ATRAC3</LI>
|
||||
<LI>QuickTime: kodeki audi Qualcomm i QDesign</LI>
|
||||
<LI>dźwięk VIVO audio (g723, Vivo Siren)</LI>
|
||||
<LI>dźwięk Voxware (używający DirectShow DLL)</LI>
|
||||
<LI>formaty alaw i ulaw, różne gsm, adpcm i pcm i inne proste, stare kodeki audio</LI>
|
||||
<LI>AAC</LI>
|
||||
</UL>
|
||||
|
||||
|
||||
<H4><A NAME="software_ac3">2.2.2.1 Programowe dekodowanie AC3</A></H4>
|
||||
|
||||
<P>Jest to domyślny dekoder używany do plików z dźwiękiem AC3.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Użyj opcji <CODE>-channels</CODE>, aby wybrać ilość kanałów wyjściowych.
|
||||
Użyj opcji <CODE>-channels 2</CODE> dla stereo downmix. Dla czterokanałowego
|
||||
downmix (wyjścia lewo-przód, prawo-przód, lewo-tył, prawo-tył), użyj opcji
|
||||
<CODE>-channels 4</CODE>. W tym przypadku jakikolwiek centralny kanał będzie
|
||||
miksowany odpowiednio do przednich kanałów. <CODE>-channels 6</CODE> będzie
|
||||
wyprowadzało wszystkie kanały AC3 tak, jak są zakodowane - w kolejności lewy,
|
||||
prawy, lewy-tylny, prawy-tylny, centralny oraz LFE.</P>
|
||||
|
||||
<P>Domyślna liczba kanałów wyjściowych wynosi 2.</P>
|
||||
|
||||
<P>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ć).</P>
|
||||
|
||||
|
||||
<H4><A NAME="hardware_ac3">2.2.2.2 Sprzętowe dekodowanie AC3</A></H4>
|
||||
|
||||
<P>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 <CODE>-ac hwac3</CODE>.
|
||||
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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="libmad">2.2.2.3 Wsparcie dla libmad</A></H4>
|
||||
|
||||
<P><A HREF="http://mad.sourceforge.net">libmad</A> jest wieloplatformową biblioteką
|
||||
dekodowania dźwięku MPEG. Nie obsługuje zbyt dobrze uszkodzonych plików i ma
|
||||
pewne problemy z przeszukiwaniem.</P>
|
||||
|
||||
<P>Aby włączyć obsługę, skompiluj z opcją configure <CODE>--enable-mad</CODE>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="vivo_audio">2.2.2.4 Dźwięk VIVO</A></H4>
|
||||
|
||||
<P>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ą
|
||||
<B>Vivo Siren</B>. Oba formaty są obsługiwane.</P>
|
||||
|
||||
<H4><A NAME="realaudio">2.2.2.5 RealAudio</A></H4>
|
||||
|
||||
MPlayer wspiera dekodowanie prawie wszystkich wersji RealAudio:
|
||||
|
||||
<UL>
|
||||
<LI>RealAudio DNET - wsparcie dla dekodowania przez <B>liba52</B></LI>
|
||||
<LI>RealAudio Cook/Sipro/ATRAC3 - wsparcie dla dekodowania przez <B>biblioteki
|
||||
RealPlayer</B></LI>
|
||||
</UL>
|
||||
|
||||
<P>By dowiedzieć się, jak zainstalować biblioteki RealPlayer, patrz sekcja
|
||||
<A HREF="#realvideo">RealVideo</A>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="qdesign">2.2.2.6 Kodeki QDesign</A></H4>
|
||||
|
||||
<P>Strumienie audio QDesign (fourcc: <I>QDMC</I>, <I>QDM2</I>) znajdują się w plikach
|
||||
MOV/QT. Obie wersje tych kodeków mogą być dekodowane bibliotekami QuickTime.
|
||||
Po instrukcję instalacji, prosimy zobacz sekcję <A HREF="#sorenson">kodeki wideo
|
||||
Sorenson</A>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="qclp">2.2.2.7 Kodeki Qualcomm</A></H4>
|
||||
|
||||
<P>Strumienie audio Qualcomm (fourcc: <I>Qclp</I>) znajdują się z plikach MOV/QT.
|
||||
Mogą być dekodowane bibliotekami QuickTime. Po instrukcję instalacji, prosimy zobacz sekcję <A HREF="#sorenson">kodeki wideo
|
||||
Sorenson</A>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="aac">2.2.2.8 Kodek AAC</A></H4>
|
||||
|
||||
<P>AAC (Advanced Audio Coding) jest kodekiem audio czasami znajdowanym w plikach
|
||||
MOV i MP4. Dekoder open source FAAD jest dostępny na
|
||||
<A HREF="http://www.audiocoding.com/">AudioCoding.com</A>.
|
||||
Możesz pobrać drugą generację kodeka FAAD2 na ich
|
||||
<A HREF="http://www.audiocoding.com/download.php">stronie download</A>.
|
||||
Niestety FAAD2 1.1 nie kompiluje się na Linuksie, więc musisz użyć wersji
|
||||
z CVS. Poniżej instrukcja jak:</P>
|
||||
|
||||
<OL>
|
||||
<LI>cvs -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac login</LI>
|
||||
<LI>cvs -z3 -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac co faad2</LI>
|
||||
<LI>cd faad2/</LI>
|
||||
<LI>chmod +x bootstrap</LI>
|
||||
<LI>./bootstrap</LI>
|
||||
<LI>./configure</LI>
|
||||
<LI>make</LI>
|
||||
<LI>make install</LI>
|
||||
</OL>
|
||||
|
||||
<P>Pakiety nie są dostępne na audiocoding.com, ale możesz je pobrać (apt-get)
|
||||
pakiety Debiana
|
||||
<A HREF="http://marillat.free.fr/">Christian Marillat's homepage</A>
|
||||
i RPMy Mandrake'a z
|
||||
<A HREF="http://plf.zarb.org/">P.L.F</A>.</P>
|
||||
|
||||
|
||||
|
||||
<H3><A NAME="importing">2.2.3 HOWTO importowania kodeków Win32</A></H3>
|
||||
|
||||
|
||||
<H4><A NAME="importing_vfw">2.2.3.1 Kodeki VFW</A></H4>
|
||||
|
||||
<P>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:</P>
|
||||
|
||||
<P> <CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
|
||||
|
||||
<P>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 <CODE>system.ini</CODE>
|
||||
tę informację w linii:</P>
|
||||
|
||||
<P> <CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
|
||||
|
||||
<P>Tak więc, potrzebujesz pliku <CODE>huffyuv.dll</CODE>. Zauważ, że kodeki dźwięku
|
||||
są wyróżnione za pomocą prefiksu MSACM:</P>
|
||||
|
||||
<P> <CODE>msacm.l3acm=L3codeca.acm</CODE></P>
|
||||
|
||||
|
||||
<P>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:</P>
|
||||
|
||||
<P> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa_kodeka]/</CODE></P>
|
||||
|
||||
<P><B>Informacja:</B> 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.</P>
|
||||
|
||||
<H4><A NAME="importing_directshow">2.2.3.2 Kodeki DirectShow</A></H4>
|
||||
|
||||
<P>DirectShow to najnowsze Video API, które jest nawet gorsze, niż jego poprzednik.
|
||||
Sprawy się bardziej komplikują, odkąd</P>
|
||||
|
||||
<UL>
|
||||
<LI><CODE>system.ini</CODE> nie zawiera potrzebnych informacji, a w zamian
|
||||
za to jest przechowywany w rejestrze i</LI>
|
||||
<LI>potrzebujemy GUID kodeka.</LI>
|
||||
</UL>
|
||||
|
||||
<P><B>Nowa metoda:</B> Użycie Microsoft GraphEdit (szybka)</P>
|
||||
|
||||
<OL>
|
||||
<LI>Pobierz GraphEdit z któregoś DirectX SDK, z
|
||||
<A HREF="http://doom9.org">Doom9</A>, (lub poszukaj na
|
||||
<A HREF="http://www.google.com.pl">Google</A>, u mnie w Windowsie 2000
|
||||
nie bardzo działało) .</LI>
|
||||
<LI>Uruchom <CODE>graphedit.exe</CODE> (Spróbuj także:
|
||||
<CODE>SysEnum.exe</CODE>, przyp. tłumacza).</LI>
|
||||
<LI>Z menu wybierz Graph -> Insert Filters.</LI>
|
||||
<LI>Rozwiń listę <CODE>DirectShow Filters</CODE>.</LI>
|
||||
<LI>Wybierz odpowiedną nazwę kodeka i rozwiń listę.</LI>
|
||||
<LI>W polu <CODE>DisplayName</CODE> spójż na tekst w nawiasie po ukośniku
|
||||
(backslashu) i zapisz go (pięć ograniczonych kreskami bloków, GUID).</LI>
|
||||
<LI>Binaria kodeka są w pliku określonym w polu <CODE>Filename</CODE>.</LI>
|
||||
</OL>
|
||||
|
||||
<P><B>Informacja:</B> Jeżeli nie ma nic w <CODE>Filename</CODE> i <CODE>DisplayName</CODE>
|
||||
zawiera coś w stylu <CODE>device:dmo</CODE>, wtedy jest to DMO-Codec.</P>
|
||||
|
||||
<P><B>Stara metoda:</B> Weź głęboki oddech i zacznij przeszukiwać rejestr...</P>
|
||||
|
||||
<OL>
|
||||
<LI>Uruchom <CODE>regedit</CODE>.</LI>
|
||||
<LI>Wciśnij <CODE>Ctrl-f</CODE>, odznacz pierwsze dwa pola i zaznacz trzecie.
|
||||
Wpisz fourcc kodeka (np. TM20).</LI>
|
||||
<LI>Powinieneś zobaczyć wpis zawierający ścieżkę i nazwę pliku
|
||||
(np. <CODE>C:\WINDOWS\SYSTEM\TM20DEC.AX</CODE>).</LI>
|
||||
<LI>Teraz, gdy masz już plik, potrzebujemy GUID. Spróbuj szukać jeszcze raz, ale
|
||||
tym razem szukaj nazwy kodeka, a nie fourcc. Nazwę możesz zdobyć sprawdzając
|
||||
File(Plik) -> Properties(Właściwości) -> Advanced(Zaawansowane), podczas
|
||||
odtwarzania pliku w Media Playerze.
|
||||
Jeżeli się nie da, to masz pecha. Spróbuj zgadnąć (np. szukaj TrueMotion).</LI>
|
||||
<LI>Jeśli znalazłeś (w rejestrze), powinno być tam pole FriendlyName oraz pole CLSID.
|
||||
Zapisz 16 bajtów CLSID, to potrzebne nam GUID.</LI>
|
||||
</OL>
|
||||
|
||||
<P><B>Informacja:</B> 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 ...</P>
|
||||
|
||||
<P>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:</P>
|
||||
|
||||
<P> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa kodeka]/</CODE></P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
File diff suppressed because it is too large
Load Diff
@ -1,307 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Kodowanie - MEncoder - Koder filmów dla Linuksa</TITLE>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
|
||||
<H1><A NAME="encoding">7. Kodowanie z MEncoderem</A></H1>
|
||||
|
||||
<P>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
|
||||
<A HREF="../tech/encoding-tips.txt">sztuczki-kodowania</A> gdzie zgromadzone są
|
||||
rożne wątki mailowe
|
||||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">mplayer-users</A>.
|
||||
Szukaj w <A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">archiwach</A>
|
||||
zbiorach dyskusyjnych o wszystkich aspektach problemów dotyczących kodowania
|
||||
MEncoderem.</P>
|
||||
|
||||
|
||||
<H2><A NAME="2pass">7.1 Kodowanie 2 lub 3-krokowe MPEG-4 ("DivX")</A></H2>
|
||||
|
||||
<P><U><B>Kodowanie 2-krokowe:</B></U> jak sama nazwa wskazuje, metoda ta koduje
|
||||
plik <I>dwukrotnie</I>. Krok pierwszy (<I>krok zdybingujący</I>)
|
||||
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.
|
||||
|
||||
<P>Przykłady te pokazują jak kodować DVD do 2-krokowego MPEG-4 ("DIVX") AVI. Tylko
|
||||
dwie komendy są potrzebne:<BR>
|
||||
<CODE> rm frameno.avi</CODE> - usuń plik, który może
|
||||
pochodzić z poprzedniego 3-krokowego kodowania (może kolidować z obecnym)<BR>
|
||||
<CODE> mencoder dvd://2 -ovc lavc -lavcopts
|
||||
vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
|
||||
mencoder dvd://2 -ovc lavc -lavcopts
|
||||
vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
|
||||
|
||||
<P><U><B>Kodowanie 3-krokowe:</B></U> 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:</P>
|
||||
|
||||
<OL>
|
||||
<LI>Usuń konfliktowy plik podręczny:
|
||||
<P><CODE>rm frameno.avi</CODE></P></LI>
|
||||
<LI>Pierwszy krok:
|
||||
<P><CODE>mencoder <file/DVD> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</CODE></P>
|
||||
<P>Zostanie utworzony plik avi zawierający tylko audio, <B>tylko</B> z pożądanym strumieniem audio.
|
||||
Nie zapomnij o <CODE>-lameopts</CODE>, 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.</P></LI>
|
||||
<LI>Drugi krok:
|
||||
<P><CODE>mencoder <file/DVD> -oac copy
|
||||
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<bitrate></CODE></P>
|
||||
<P>To pierwszy krok kodowania wideo.
|
||||
Opcjonalnie określony bitreate wideo MEncoder wyświetlił na końcu poprzedniego
|
||||
kroku.</P></LI>
|
||||
<LI>Trzeci krok:
|
||||
<P><CODE>mencoder <file/DVD> -oac copy
|
||||
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<bitrate></CODE></P>
|
||||
<P>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 <CODE>frameno.avi</CODE> zostanie
|
||||
wsunięte do docelowego pliku... i wszytko jest gotowe!</P></LI>
|
||||
</OL>
|
||||
|
||||
<H4>Przykłady kodowania 3-krokowego:</H4>
|
||||
|
||||
<P><CODE> rm frameno.avi</CODE> - usuń plik, który może
|
||||
pochodzić z poprzedniego 3-krokowego kodowania (może kolidować z obecnym)<BR>
|
||||
<CODE> mencoder dvd://2 -ovc frameno
|
||||
-o frameno.avi -oac mp3lame -lameopts vbr=3<BR>
|
||||
mencoder dvd://2 -ovc lavc
|
||||
-lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
|
||||
mencoder dvd://2 -ovc lavc
|
||||
-lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
|
||||
|
||||
|
||||
<H2><A NAME="mpeg">7.2 Kodowanie do formatu MPEG</A></H2>
|
||||
|
||||
<P>MEncoder może stworzyć wyjściowy plik z formatem MPEG (MPEG-PS). Jes to prawdopodobnie
|
||||
użyteczne tylko z kodekiem libavcodeca <I>mpeg1video</I>, ponieważ odtwarzacze
|
||||
- poza MPlayer - poza wideo MPEG1, i MPEG1 warstwa 2 (MP2) strumieniują audio
|
||||
w plikach MPEG.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Aby zmienić format plików wynikowych MEncodera, użyj opcji <CODE>-of mpeg</CODE>.</P>
|
||||
|
||||
<P>Przykład:<BR>
|
||||
<CODE>mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
|
||||
-oac copy <other options> media.avi -o output.mpg</CODE></P>
|
||||
|
||||
|
||||
<H2><A NAME="rescaling">7.3 Skalowanie filmów</A></H2>
|
||||
|
||||
<P>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. <B>Jes to błądne.</B>
|
||||
Zamiast tego czytaj sekcję <A HREF="#aspect">Zachowując aspekt stosunku</A>.</P>
|
||||
|
||||
<P>Proces skalowanie nadzorowany jest przez filter wideo <I>'scale'</I>:
|
||||
<CODE>-vf scale=szerokość:wysokość</CODE>. Jego jakość może zostać ustawiona
|
||||
przez opcję <CODE>-sws</CODE>. Jeśli nie zostanie określona, MEncoder użyje 0:
|
||||
fast bilinear.</P>
|
||||
|
||||
<H4>Użycje:</H4>
|
||||
|
||||
<P><CODE> mencoder input.mpg -ovc lavc -lavcopts
|
||||
vcodec=mpeg4 -vf scale=640:480 -oac copy -o
|
||||
output.avi</CODE></P>
|
||||
|
||||
|
||||
<H2><A NAME="copying">7.4 Kopiowanie strumieniowe</A></H2>
|
||||
|
||||
<P>MEncoder potrafi przechwycić strumień wejściowy na dwa sposoby: <B>kodując</B> lub
|
||||
<B>kopiując</B> go. Ta sekcja jest o <B>kopiowaniu</B>.</P>
|
||||
|
||||
<UL>
|
||||
<LI><B>Strumieniowanie wideo</B> (opcja <CODE>-ovc copy</CODE>): niezła robota
|
||||
może zostać wykonana :)<BR>
|
||||
Coś jak wkładanie (nie konwertowanie) wideo FLI, VIVO lub MPEG1 do
|
||||
plików AVI. Oczywiście tylko MPlayer może odtwarzać takie pliki :)
|
||||
I prwadopodobnie nie posiada prawdziwych wartości dla wszytkich.
|
||||
Z rozsądkiem: kopiowanie strumieni wideo może być użyteczne na przykład,
|
||||
kiedy tylko strumień audio był do kodowania (coś w stylu odkopmresowanego
|
||||
pliku PCM do MP3).</LI>
|
||||
|
||||
<LI><B>Strumieniowaqnie audio</B> (opcja <CODE>-oac copy</CODE>): 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
|
||||
<CODE>-audiofile <filename></CODE>.</LI>
|
||||
</UL>
|
||||
|
||||
|
||||
<H2><A NAME="fixing">7.5 Naprawianie AVI z uszkodzonymi indeksami lub przeplataniem</A></H2>
|
||||
|
||||
<P><P>Prosto kopiujemy strumienie audio i wideo, a <B>MEncoder</B> 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 <CODE>-ni</CODE>
|
||||
będzię potrzebna tak, czy inaczej.</P>
|
||||
|
||||
<P>Polecenie: <CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P>
|
||||
|
||||
|
||||
<H3><A NAME="appending">7.5.1 Łączenie wielkorotnych plików AVI</A></H3>
|
||||
|
||||
<P>Taki efekt uboczny, finkcja naprawiająca uszkodzone AVI włącza MPlayera do łączenia
|
||||
2 (lub więcej) plików AVI:</P>
|
||||
|
||||
<P>Polecenie: <CODE>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -</CODE></P>
|
||||
|
||||
<P><B>Inforamcja:</B> Oczekuje to <CODE>1.avi</CODE> i <CODE>2.avi</CODE> 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 <A HREF="#fixing">wyżej</A>.</P>
|
||||
|
||||
<H2><A NAME="libavcodec">7.6 Kodowanie z rodziną kodeków libavcodec</A></H2>
|
||||
|
||||
<P><A HREF="codecs.html#libavcodec">libavcodec</A> 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:</P>
|
||||
|
||||
<UL>
|
||||
<LI>mjpeg - Ruchome JPEG</LI>
|
||||
<LI>h263 - H263</LI>
|
||||
<LI>h263p - H263 Plus</LI>
|
||||
<LI>mpeg4 - ISO standard MPEG-4 (kompatybilne DivX 5, XVID)</LI>
|
||||
<LI>msmpeg4 - pre-standard MPEG-4 wariant MS, v3 (aka DivX3)</LI>
|
||||
<LI>msmpeg4v2 - pre-standard MPEG-4 MSu, v2 (używany w starych plikach asf)</LI>
|
||||
<LI>wmv1 - Windows Media Video, wersja 1 (aka WMV7)</LI>
|
||||
<LI>rv10 - stary kodek RealVideo</LI>
|
||||
<LI>mpeg1video - wideo MPEG1 :)</LI>
|
||||
<LI>huffyuv - bezstratna kompresja</LI>
|
||||
</UL>
|
||||
|
||||
<P>Pierwsza kolumna zawiera nazwy kodeków, które powinny być podane po konfiguracji
|
||||
<CODE>vcodec</CODE>, czyli: <CODE>-lavcopts vcodec=msmpeg4</CODE></P>
|
||||
|
||||
<P>Przykład z kompresją MJPEG:<BR>
|
||||
<CODE> mencoder dvd://2 -o title2.avi -ovc lavc
|
||||
-lavcopts vcodec=mjpeg -oac copy</CODE></P>
|
||||
|
||||
|
||||
<H2><A NAME="image_files">7.7 Kodowanie z wielokrotnych plików obrazów (JPEGi, PNGsy lub TGAsy)</A></H2>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
Objeśnienie procesu:
|
||||
|
||||
<OL>
|
||||
<LI>MEncoder <I>dekoduje</I> wejściowy(e) obraz(y) z <CODE>libjpeg</CODE>
|
||||
(kieedy dekoduje PNGsy, użyje <B>libpng</B>).</LI>
|
||||
|
||||
<LI>MEncoder następnie przekazuje dekodowane obrazy do wybranego kompresora wideo
|
||||
(DivX4, Xvid, ffmpeg msmpeg4, itp...).</LI>
|
||||
</OL>
|
||||
|
||||
<H4>Przykłady</H4>
|
||||
|
||||
<P>Wyjaśnienie opcji <CODE>-mf</CODE>, które możesz znaleść niżej opisane
|
||||
są w manualu.</P>
|
||||
|
||||
<P><I>Tworzenie pliku DivX4 ze wszytskich plików JPEG w obecnym katalogu:</I><BR>
|
||||
<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc divx4
|
||||
-o output.avi \*.jpg</CODE></P>
|
||||
|
||||
<P><I>Tworzenie pliku DivX4 z niektórych plików JPEG w obecnym katalogu:</I><BR>
|
||||
<CODE>mencoder -mf on:w=800:h=600:fps=25
|
||||
-ovc divx4 -o output.avi frame001.jpg,frame002.jpg</CODE></P>
|
||||
|
||||
<P><I>Tworzenie pliku Rychomego JPEG (MJPEG) ze wszystkich plików JPEG w obecnym katalogu:</I><BR>
|
||||
<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc copy
|
||||
-o output.avi \*.jpg</CODE></P>
|
||||
|
||||
<P><I>Tworzenie pliku nieskompresowanego ze wszytskich plików PNG w obecnym katalogu:</I><BR>
|
||||
<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb
|
||||
-o output.avi \*.png</CODE></P>
|
||||
|
||||
<P><B>Informacja:</B> Szerokość musi być całkowitą wielokrotnością 4, to limity formatu
|
||||
RAW RGB AVI.</P>
|
||||
|
||||
<P><I>Tworzenie Ruchomego PNG (MPNG) ze wszytskich plików w obecnym katalogu:</I><BR>
|
||||
<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
|
||||
-o output.avi \*.png</CODE></P>
|
||||
|
||||
<P><I>Tworzenie Ruchomego TGA (MTGA) ze wszystkich plików TGA w obecnym katalogu:</I><BR>
|
||||
<CODE>mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy
|
||||
-o output.avi \*.tga</CODE></P>
|
||||
|
||||
|
||||
<H2><A NAME="vobsub">7.8 Wyciąganie napisów DVD do pliku Vobsub</A></H2>
|
||||
|
||||
<P>MEncoder potrafi wyciągnąc napisy z DVD do pliku o formacie Vobsub.
|
||||
Polegają one na parach kodowanych plików w
|
||||
<CODE>.idx</CODE> i <CODE>.sub</CODE> i zazwyczaj pakowane są w pojedyncze archiwum
|
||||
<CODE>.rar</CODE>. MPlayer potrafi je odtwarzać z opcjami
|
||||
<CODE>-vobsub</CODE> i <CODE>-vobsubid</CODE>.</P>
|
||||
|
||||
<P>Ty określasz nazwę główną (tj. bez rozszerzenia <CODE>.idx</CODE> lub
|
||||
<CODE>.sub</CODE>) pliku wyjściowego z <CODE>-vobsubout</CODE>
|
||||
i indeks dla tych napisów w pliku wynikowym z <CODE>-vobsuboutindex</CODE>.</P>
|
||||
|
||||
<P>Jeśli plik wejścowy nie pochodzi z DVD powinienieś użyć <CODE>-ifo</CODE>, aby
|
||||
wskazać plik <CODE>.ifo</CODE> wymagany do konstrukcji pliku wynikowego
|
||||
<CODE>.idx</CODE>.</P>
|
||||
|
||||
<P>Jeśli plik wejściowy nie pochodzi z DVD, a ty nie masz pliku <CODE>.ifo</CODE>
|
||||
będziesz musiał użyć opcji <CODE>-vobsubid</CODE>aby poinformować, który id języka
|
||||
należy włożyć do pliku <CODE>.idx</CODE>.</P>
|
||||
|
||||
<P>Każde uruchomienie będzie dodawać uruchamiane napisy jeśli pliki <CODE>.idx</CODE> i
|
||||
<CODE>.sub</CODE> już istnieją. Powinieneś więc usunąć jakieś przed startem.</P>
|
||||
|
||||
<H4>Przykłady:</H4>
|
||||
|
||||
<P><I>Kopiowanie dwóch napisów z DVD podczas kodowania 3-krokowego</I><BR>
|
||||
<CODE>rm subtitles.idx subtitles.sub</CODE><BR>
|
||||
<CODE>mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 0
|
||||
-sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3</CODE><BR>
|
||||
<CODE>mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=1</CODE><BR>
|
||||
<CODE>mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=2 -vobsubout
|
||||
subtitles -vobsuboutindex 1 -sid 5</CODE></P>
|
||||
|
||||
<P><I>Kopiowanie francuskich napisów z pliku MPEG</I><BR>
|
||||
<CODE>rm subtitles.idx subtitles.sub</CODE><BR>
|
||||
<CODE>mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles
|
||||
-vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P>
|
||||
|
||||
|
||||
<H2><A NAME="aspect">7.9 Zachowanie stosunku</A></H2>
|
||||
|
||||
<P>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!</P>
|
||||
|
||||
<P>MPEG4 posiada niespotykaną cechę: strumień wideo może zawierać jego wymagany
|
||||
stosunek. Tak, tylko takie pliki jak MPEG1/2 (DVD, SVCD).
|
||||
Przesadzając, <U>nie</U> ma odtwarzaczy wideo które obsługują tą cechę.
|
||||
Za wyjątkiem MPlayera.</P>
|
||||
|
||||
<P>Cecha ta może być użyta tylko z kodekiem <CODE>mpeg4</CODE> <B>libavcodec</B>a.
|
||||
Zatrzymaj w świadomości: chociaż MPlayer poprawnie odtwrza stworzone pliki,
|
||||
inne odtwarzacze użyją błędnego stosunku.</P>
|
||||
|
||||
<P>Powinineś poważnie ściąć czarne obramówki na około i poniżej obrazu filmu.
|
||||
Zobacz manual odnośnie użytku filtrów <CODE>cropdetect</CODE> i
|
||||
<CODE>crop</CODE>.</P>
|
||||
|
||||
<H4>Użycie:</H4>
|
||||
|
||||
<P><CODE>$ 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</CODE></P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
832
DOCS/pl/faq.html
832
DOCS/pl/faq.html
@ -1,832 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>FAQ - MPlayer - Odtwarzacz Filmów dla Linuksa</TITLE>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
||||
<STYLE TYPE="text/css">
|
||||
dt {
|
||||
font-weight : bold;
|
||||
}
|
||||
</STYLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
|
||||
<H1><A NAME="faq">5. FAQ</A></H1>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="#compilation">5.1 Kompilacja</A></LI>
|
||||
<LI><A HREF="#general">5.2 Pytania ogólne</A></LI>
|
||||
<LI><A HREF="#playback">5.3 Problemy z odtwarzaniem</A></LI>
|
||||
<LI><A HREF="#driver">5.4 Problemy ze sterownikiem video/audio (vo/ao)</A></LI>
|
||||
<LI><A HREF="#dvd">5.5 Odtwarzanie DVD</A></LI>
|
||||
<LI><A HREF="#features">5.6 Proźby o nowe funkcje</A></LI>
|
||||
<LI><A HREF="#encoding">5.7 Kodowanie</A></LI>
|
||||
</UL>
|
||||
|
||||
|
||||
<H2><A NAME="compilation">5.1 Kompilacja</A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>Q: Kompilacja zatrzymuje się z błędem podobnym do tego:
|
||||
<PRE>
|
||||
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.
|
||||
</PRE>
|
||||
</DT>
|
||||
<DD>A: Jest to znany problem gcc 3.0.4, zrób upgrade do wersji 3.1 by rozwiązać
|
||||
problem. Jakzainstalować gcc jest opisane w sekcji
|
||||
<A HREF="users_against_developers.html#gcc">gcc 2.96</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Skrypt configure zakańcza swoje działanie z tym tekstem i MPlayer nie
|
||||
chce się skompilować!<BR>
|
||||
<CODE>"Your gcc does not support even i386 for '-march' and '-mcpu'."</CODE><BR>
|
||||
<CODE>"Twoje gcc nie wspiera nawet i386 dla '-march' i '-mcpu'."</CODE>
|
||||
</DT>
|
||||
<DD>A: Twoje gcc nie jest zainstalowane poprawnie, sprawdź plik <CODE>config.log</CODE>
|
||||
po więcej szczegółów.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Co oznacza "No such file or directory" ("Nie ma takiego pliku ani katalogu")?</DT>
|
||||
<DD>A: Prawdopodobnie, jest tam nie taki plik lub katalog.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jaki jest problem z gcc 2.96?</DT>
|
||||
<DD>A: <B>Bardzo odradzamy używanie gcc 2.96!</B><BR>
|
||||
Przeczytaj <A HREF="users_against_developers.html#gcc">ten</A> dokument po
|
||||
więcej szczegółów a tym, dlaczego Red Hat wypuścił gcc 2.96 i jakie są z nim
|
||||
problemy. Jeżeli nadal naprawdę chcesz używać go, upewnij się, że pobrałeś
|
||||
najnowszą wersję i dod tego momentu jesteś zdany na własne siły. <B>Nie</B>
|
||||
zgłaszaj błędów, <B>nie</B> proś o pomoc na grupie dyskusyjnej. <B>Nie</B>
|
||||
będziemy dostarczać żadnej pomocy w przypadku gdy wystąpią jakieś problemy.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Świętnie, mam gcc 3.0.1 z Red Hata/Mandrake'a, więc jestem w porządku!</DT>
|
||||
<DD>A: Nie, ponieważ były/są również problemy z tymi kompilatorami.
|
||||
Sprawdź status aktualnie wspieranych prze MPlayera kompilatorów, zobacz sekcję
|
||||
<A HREF="documentation.html#installation">Instalacja</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Próbowałem skompilować MPlayera,ale dostaję te komunikaty:
|
||||
<PRE>
|
||||
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
|
||||
</PRE>
|
||||
</DT>
|
||||
<DD>A: Zrób upgrade glibc do najnowszej wersji. w Mandrake'u, użyj 2.2.4-8mdk.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: ... gcc 2.96 ... (Tak, niektórzy ludzie NADAL wykłucają się o gcc 2.96!)</DT>
|
||||
<DD>A: Cytat z
|
||||
<A HREF="http://www.mplayerhq.hu/pipermail/mplayer-users/2001-October/005351.html">listu</A>
|
||||
A'rpi wysłał na grupę
|
||||
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
|
||||
(słowo 'ideg' jest oppisane poniżej):
|
||||
<BLOCKQUOTE>
|
||||
<P>No i mamy ideg'i. I nasz licznik ideg przepełnia się raz za razem.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Wniosek: Nie możemy być dobrzy. Połowa ludzi zawsze będzie mówiła, że
|
||||
jesteśmy źli.</P>
|
||||
|
||||
<P>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.</P>
|
||||
</BLOCKQUOTE>
|
||||
</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Wyjście SDL nie działa lub nie kompiluje się. Problemem jest ...</DT>
|
||||
<DD>A: Było to testowane by działało z SDL 1.2.x i może się uruchomić z SDL 1.1.7+.
|
||||
To <B>nie</B> działa z jakąkolwiek wcześniejszą wersją. Tak więc, jeżeli wybierzesz
|
||||
taką wersję, jesteś zdany na własne siły..</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Ciągle mam kłopoty z obsługą SDL. gcc mówi coś o "undefined reference to
|
||||
`SDL_EnableKeyRepeat'". Co teraz?</DT>
|
||||
<DD>A: Gdzie zainstalowałeś biblioteki SDL? Jeżli zainstalowałeś w /usr/local
|
||||
(domyślnie) wtedy zedytuj początek pliku config.mak i dodaj
|
||||
"-L/usr/local/lib" po "X_LIBS=". Teraz make. I gotowe!</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: To się nie kompiluje, brakuje uint64_t inttypes.h i podobnychrzeczy...</DT>
|
||||
<DD>A: Skopiuj etc/inttypes.h do katalogu MPlayera
|
||||
(<CODE>cp etc/inttypes.h .</CODE>) i spróbuj ponowie...</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam Linuksa uruchomionego na Pentium III, ale <CODE>./configure</CODE>
|
||||
nie wykrywa SSE...</DT>
|
||||
<DD>A: Tylko jądro w wersji 2.4.x wspiera SSE (lub spróbuj 2.2.19 lub nowszego, ale
|
||||
bądź przygotowany na problemy).</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam G200/G400, jak skompilować/używać sterownika mga_vid?</DT>
|
||||
<DD>A: Przeczytaj <A HREF="video.html#mga_vid">dokumentację mga_vid</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Czy są pakiety rpm/deb/... MPlayera?</DT>
|
||||
<DD>A: Możesz zrobić pakiet .deb samodzielnie, sprawdź sekcję
|
||||
<A HREF="documentation.html#debian">pakietów Debiana</A>.
|
||||
Są linki do oficjalnych pakietów RPM Red Hata dostępne na naszej
|
||||
<A HREF="http://www.mplayerhq.hu/homepage/dload.html">stronie download</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Podczas 'make', MPlayer narzeka na biblioteki X11. Nie rozumiem, przecież
|
||||
MAM zainstalowane X!?</DT>
|
||||
<DD>A: ... ale nie masz zainstalowanych pakietów deweloperskich X. Lub nie poprawnie.
|
||||
Nazywają się XFree86-devel* w Red Hat, i xlibs-dev w Debianie. Ponad to sprawdź
|
||||
czy linki symboliczne <CODE>/usr/X11</CODE> i <CODE>/usr/include/X11</CODE>
|
||||
są zrobione (to może być problemem w systemach Mandrake). Mogą one być stworzone
|
||||
tymi komendami:<BR>
|
||||
<CODE>$ ln -sf /usr/X11R6 /usr/X11</CODE><BR>
|
||||
<CODE>$ ln -sf /usr/X11R6/include/X11 /usr/include/X11</CODE><BR>
|
||||
Twoja dystrybucja może się różnić od
|
||||
<A HREF="http://www.pathname.com/fhs/">Standardu Hirarchii Systemu Plików</A> (ang.
|
||||
Filesystem Hierarchy Standard.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Nie mogę skompilować SVGAlib. Używam jądra 2.3/2.4 ...</DT>
|
||||
<DD>A: Musisz zedytować plik Makefile.cfg SVGAliba i odkomentować
|
||||
<CODE>BACKGROUND = y</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Skompilowałem MPlayera z wsparciem dla libdvdcss/libdivxdecore, ale gdy
|
||||
próbowałem go uruchomić, powiedział:<BR>
|
||||
<CODE>> error while loading shared libraries: lib*.so.0: cannot load
|
||||
shared object file: No such file or directory</CODE><BR>
|
||||
<CODE>> bład podczas ładowania biblioteki współdzielonej: lib*.so.0: nie można
|
||||
załadować docelowego pliku: Nie ma takiego pliku ani katalogu</CODE><BR>
|
||||
Sprawdziłem ten plik i JEST on w <CODE>/usr/local/lib</CODE>...</DT>
|
||||
<DD>A: Dodaj <CODE>/usr/local/lib</CODE> do <CODE>/etc/ld.so.conf</CODE> i uruchom
|
||||
<CODE>ldconfig</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Hmm, dziwne. Podczas ładowania modułu jądra mga_vid.o, Znalazłem to
|
||||
w logach:<BR>
|
||||
<CODE>Warning: loading mga_vid.o will taint the kernel: no license</CODE><BR>
|
||||
<CODE>Warning: ładowanie mga_vid.o zanieczyści jądro: nie ma licencji</CODE></DT>
|
||||
<DD>A: Najnowszy modutils (narzędzie do ładownie modułów do jądra - przyp. tłum.)
|
||||
wymaga flagi wskazującej licencję (głównie by uniknąć debugowania sterowników
|
||||
z zamkniętym kodem). Uaktualnij kernel, modutils i MPlayera.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Podczas kompilowania MEncodera, 'wywala się' (segfaults) podczas linkowania!</DT>
|
||||
<DD>A: To problem linkera. Upgrade binutils spowinien pomóc (2.11.92.*
|
||||
lub nowsze powinny być dobre). Ponieważ to nie jest nasza wina, prosimy, <B>nie</B>
|
||||
zgłaszaj takich błędów!</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: MPlayer wywala (segmentation fault) podcas sprawdzania pthread!</DT>
|
||||
<DD>A: chmod 644 /usr/lib/libc.so</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Chciałbym skompilować MPlayera na Miniksie!</DT>
|
||||
<DD>A: Ja też. :)</DD>
|
||||
<DD> </DD>
|
||||
|
||||
</DL>
|
||||
|
||||
|
||||
<H2><A NAME="general">5.2 Pytania ogólne</A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>Q: Jak mam poptrawnie przygotować łatkę na MPlayera?</DT>
|
||||
<DD>A: Stworzyliśmy <A HREF="../tech/patches.txt">krótki dokument</A> opisujący
|
||||
wszystkie wymagane szczegóły. Prosimy, podążaj za tymi insrukcjami.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jak mogę wewsprzeć programistów MPlayera?</DT>
|
||||
<DD>A: Będziemy bardziej niż szczęśliwi przyjmując twóje
|
||||
<A HREF="http://www.mplayerhq.hu/homepage/donations.html">dotacje</A>.
|
||||
ze sprzęt i oprogramowanie. Pomogą one nam w ciągłym tworzeniu MPlayera.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jak mogę stać się programistą MPlayera?</DT>
|
||||
<DD>A: Zawsze mile widzimy koderów i ludzi tworzących dokumentację. Przeczytaj
|
||||
<A HREF="../tech/">dokumentację techniczną</A> by złapać pierwsze szlify. Potem
|
||||
powinieneś zapisać się na grupę dyskusyjną
|
||||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</A>
|
||||
i rozpocząc pisanie kodu.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Czy mogę uruchomć MPlayera kilka razy na raz?</DT>
|
||||
<DD>A: Tak. Niektóre sterowniki wideo jak xv, dga lub (x)mga mogą być uruchomione
|
||||
tylko raz w tym samym czasie, niektóre odpadają w kombinacjach z konkretnymi
|
||||
kartami graficznymi i sterownikami. Z tymi sterownikami nie będziesz mógł
|
||||
uruchomić MPlayera więcej niż jeden raz. W mniejszym stopniu, ale zależy to
|
||||
również od sterownika audio. Nie wszystkie pozwalają na odtwarzanie wielu
|
||||
strumieni na tym samym urządzeniu.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam licznik czasu w lewym górnym rogu. Jak mogę go wyłączyć?</DT>
|
||||
<DD>A: Naciśnij <CODE>o</CODE> i spróbuj opcji <CODE>-osdlevel</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Opcje <CODE>-xy</CODE> lub <CODE>-fs</CODE> nie działają ze sterownikiem
|
||||
x11 (<CODE>-vo x11</CODE>)...</DT>
|
||||
<DD>A: Dziła, ale ty musisz wyraźnie wyszczególnić skalowanie programowe
|
||||
(bardzo wolne) opcją <CODE>-zoom</CODE>. Lepiej użyj wsparcia dla XF86VidMode:
|
||||
Musisz dodać opcje <CODE>-vm</CODE> i <CODE>-fs</CODE>, i zrobione. Upewnij się
|
||||
czy masz poprawne modeline w pliku XF86Config i spróbuj zrobić by
|
||||
<A HREF="video.html#dga">sterownika DGA</A>
|
||||
<A HREF="video.html#sdl">steronika SDL z DGA</A> 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.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Co oznaczają liczby w linii statusu?</DT>
|
||||
<DD>A: Przykład:
|
||||
<CODE>A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%</CODE>
|
||||
<UL>
|
||||
<LI>A: pozycja dźwięku w sekundach</LI>
|
||||
<LI>V: pozycja wideo w sekundach</LI>
|
||||
<LI>A-V: różnica audio-video w sekundach (opóźnienie)</LI>
|
||||
<LI>ct: całkowita dokonana korekcja synchronizacji A-V</LI>
|
||||
<LI>odtworzone klatki (liczone od ostaniego przeszukiwania)</LI>
|
||||
<LI>zdekodowane klatki (liczone od ostaniego przeszukiwania)</LI>
|
||||
<LI>użycie procesora przez kodek wideo (dla slices i DR to zawiera
|
||||
video_out)</LI>
|
||||
<LI>użycie procesora przez video_out</LI>
|
||||
<LI>użycie procesora w procentach przez kodek audio</LI>
|
||||
<LI>klatki, które musiały być porzucone, by zachować synchronizację A-V</LI>
|
||||
<LI>aktualne puziom postprocessingu obrazu (podczas używania <CODE>-autoq</CODE>)</LI>
|
||||
<LI>aktualne zapełnienie bufora (w granicach 50% jest w normie)</LI>
|
||||
</UL>
|
||||
Większość z nich jest potrzebnych do debugowania i niektóre zostaną usunięte.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Co, jeżeli nie chcę żeby komunikaty się pojawiały?</DT>
|
||||
<DD>A: Użuj opcji <CODE>-quiet</CODE> i przeczytaj stronę manuala.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Dlaczego użycie procesora przez video_out wskazuje zero (0%) dla
|
||||
niektórych plików?</DT>
|
||||
<DD>A1: Użycie nie jest zerowe, ale kodek już to wykonuje, tak więc
|
||||
nie może być on wskazany osobno. Powinieneś odtworzyć plik używając
|
||||
<CODE>-vo null</CODE> i potem <CODE>-vo ...</CODE> i sprawdzić różnice
|
||||
prędkości video_out.</DD>
|
||||
<DD>A2: Używasz Direct Rendering,
|
||||
kiedu to procent użycia procesora na dekodowanie zawiera również procent
|
||||
użycia procesora na wyświetlanie.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Występują błędy, że plik nie został odnaleziony w
|
||||
<CODE>/usr/lib/win32/</CODE> ...</DT>
|
||||
<DD>A: Pobierz kodeki Win32 z naszej
|
||||
<A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">strony z kodekami</A>
|
||||
(pakiet kodeków avifile zawiera inne pliki DLL) i zainstaluj je.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Czy jest jakaś grupa dyskusyjna MPlayera?</DT>
|
||||
<DD>A: Tak. Dół strony informacyjnej na
|
||||
<A HREF="http://www.mplayerhq.hu/homepage/info.html">naszej stronie domowej</A>
|
||||
by się zapisać.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Znalazłem złosliwy błąd kiedy próbowałem odtworzyć mój ulubiony film!
|
||||
Kogo powinienem powiadomić?</DT>
|
||||
<DD>A: prosimy, przeczytaj <A HREF="bugreports.html">przewodnik zgłaszania będów</A>
|
||||
i podążaj za instrukcjami.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam problem z odtworzeniem zakodowanego kodekiem ... . Czy mogę go użyć?</DT>
|
||||
<DD>A: Sprawdź
|
||||
<A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">status wsparcia dla kodeków</A>,
|
||||
jeżeli nie ma tam twojego kodeka przeczytaj
|
||||
<A HREF="codecs.html">dokumentację kodeków</A>, zwłaszcza
|
||||
<A HREF="codecs.html#importing">HOWTO importowania kodeków</A> i skontaktuj się z nami.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Umm, co to jest "IdegCounter" (wcześniej w tym tłumaczeniu użyte jako
|
||||
"licznik ideg" - przyp. tłum.)?</DT>
|
||||
<DD>A: Jest to kombinacja węgierskiego i angielskiego słowa. W węgierskim "Ideg"
|
||||
oznacza to samoco w polskim "zdenervowany", i wymawia się tak jak się pisze
|
||||
(tylko w języku polskim, oczywiście). Zostało pierwszy raz użyte, bu zmierzyć
|
||||
stopień zdenerwowania A'rpiego po kilku (hmm) "tajemniczych" zniknięciach kodu
|
||||
w CVSie ;)</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: I co to jest "Faszom(C)ounter"?</DT>
|
||||
<DD>A: "Fasz" jest to węgierskie słowo, którego nie chcesz znać, inne to
|
||||
połączenie zboczonych myśli programistów MPlayera.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: LIRC nie działa, ponieważ...</DT>
|
||||
<DD>A: Czy jesteś pewny, że używasz <CODE>mplayer</CODE> zamiast
|
||||
<CODE>mplayer_lirc</CODE>? Zauważ, że <CODE>mplayer_lirc</CODE> było dawno
|
||||
temu, jeszcze za wersji 0.60, ale ostatnio zostało przeniesione do
|
||||
<CODE>mplayera</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Napisy są bardzo ładne, najładniejsze jakie do tej pory widziałem, ale
|
||||
spowalniają odtwarzanie! Wiem, że to mało prawdopodobne...</DT>
|
||||
<DD>A: Po uruchomieniu <CODE>./configure</CODE>, zedytuj <CODE>config.h</CODE>
|
||||
i zastąp <CODE>#undef FAST_OSD</CODE> na <CODE>#define FAST_OSD</CODE>.
|
||||
Potem przekompiluj.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Wyświetlanie na ekranie (OSD) migocze!</DT>
|
||||
<DD>A: Używasz sterownika vo z pojedynczym buforowaniem (x11,xv). Z xv,
|
||||
użyj opcji <CODE>-double</CODE>. Spróbuj także <CODE>-vf expand</CODE></DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Co to jest dokładnie to libavcodec?</DT>
|
||||
<DD>A: Zobacz <A HREF="codecs.html#libavcodec">sekcję o libavcodec</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Ale configure mówi mi "Checking for libavcodec ... no"!</DT>
|
||||
<DD>A: Musisz pobrać libavcodec z CVSa FFmpeg. Przeczytaj instrukcję
|
||||
w <A HREF="codecs.html#libavcodec">sekcji o libavcodec</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Taskbar Icewma zakrywa film podczas odtwarzania pełnoekranowego!</DT>
|
||||
<DD>A: To nie powinno się więcej zdarzyć, jeżeli dalej zasłania, użyj opcji
|
||||
<CODE>-fstype layer</CODE> i zgłoś to na grupę dyskusyjną
|
||||
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Nie mogę używać GUI menu. Poprawnie klikam, ale nie mogę dostać się do
|
||||
żadnej pozycji!</DT>
|
||||
<DD>A: Używasz FVWM? Spróbuj poniższego:<BR>
|
||||
Start -> Settings -> Configuration -> Base Configuration<BR>
|
||||
Ustaw "Use Applications position hints" na "Yes".</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jak mogę uruchomić MPlayera w tle?</DT>
|
||||
<DD>A: Użyj: <CODE>mplayer <opcje> <nazwa pliku> < /dev/null &</CODE></DD>
|
||||
<DD> </DD>
|
||||
|
||||
</DL>
|
||||
|
||||
|
||||
<H2><A NAME="playback">5.3 Problemy z odtwarzaniem</A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>Q: Mogę odtwarzać konkretne pliki AVI lae nie mam dźwiękui błąd typu:
|
||||
<PRE>
|
||||
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!)
|
||||
</PRE>
|
||||
</DT>
|
||||
<DD>A: Prawdopodobnie dźwięk korzysta z kodeka niewspieranego bezpośrednio
|
||||
przez MPlayera. Zainstaluj pakiet kodeków Win32 jak opisano w README
|
||||
lub w sekcji <A HREF="documentation.html#installation">Instalacja</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: ... działa z avifile/aviplay ale nie z MPlayer.</DT>
|
||||
<DD>A: MPlayer to nie avifile.
|
||||
W tych odtwarzaczach wspólny jest tylko mechanizm ładowania bibliotek Win32.
|
||||
Kodeki (DLL), synchronizacja, selektor etc są całkowicie rózne
|
||||
i nie powinny być porównywane.
|
||||
Jeżeli coś działa z aviplay to nie oznacza że będzie dziłać z MPlayer
|
||||
i vice versa.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Dźwięk jesr rozsynchronizowany podczas odtwarzania pliku AVI.</DT>
|
||||
<DD>A: Spróbuj opcji <CODE>-bps</CODE> lub <CODE>-nobps</CODE>. Jeżli to nie pomoże
|
||||
przeczytaj <A HREF="bugreports.html">to</A> i wyślij plik na FTP.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: MPlayer wyłącza się z błędami podczas używania l3codeca.acm.</DT>
|
||||
<DD>A: Sprawdź wyjście z <CODE>ldd /usr/local/bin/mplayer</CODE>. Jeżeli zawiera<BR>
|
||||
<CODE>libc.so.6 => /lib/libc.so.6 (0x4???????)</CODE><BR>
|
||||
gdzie "?" jest liczbą, to wtedy wszystko jest w porządku, nie tu trzeba szukać powodu
|
||||
błędu. Jeżeli jest to:<BR>
|
||||
<CODE>libc.so.6 => /lib/libc.so.6 (0x00??????)</CODE><BR>
|
||||
to wtedy jest to problem z twoim jądrem/libc. Może jakiś łatek wzmacniających
|
||||
bezpieczeństwo (dla przykładu łatka OpenWall Solar Designera) które
|
||||
wymuszają ładowanie bibliotek na bardzo niskie adresy. Ponieważ l3codeca.acm
|
||||
jest nie-przemieszczalnym DLLem, musi być załadowany na 0x00400000, nie możemy
|
||||
tego zmienić. Powinieneś używać niepołatanego jądra, lub użyć opcji MPlayera
|
||||
<CODE>-afm 1</CODE> by wyłączyć użycie l3codeca.acm.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mój komputer odtwarza pliki M$ DivX AVI w rozdzielczości ~ 640x300
|
||||
z dźwiękiem mp3 stereo zbyt wolno. Gdy używam opcji -nosound, wszystko jest
|
||||
wporządku (ale cicho).</DT>
|
||||
<DD>A: Twój komputer jest za wolny lub twój sterownik dźwięku jest popsuty.
|
||||
Przejrzyj dokumentację, by zobaczyć czy możesz poprawić wydajność.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: MPlayer wyłącz się z "MPlayer interrupted by signal 4 in module:
|
||||
decode_video" ("MPlayer przerwany sygnałem 4 w module: decode_video") .</DT>
|
||||
<DD>A: Spróbuj uruchomić MPlayera na komputerze, na którym go kompilowałeś.
|
||||
Możesz też przekompilować go z dynamicznym wykrywaniem procesora.
|
||||
(<CODE>./configure --enable-runtime-cpudetection</CODE>). Nie używaj
|
||||
MPlayera na procesorach innym od tego, na którym był kompilowany,
|
||||
chyba że z funkcją o której przed chwilą wspomniano.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam proble z [twój menadżer okna] i trybem pełnoekranowym z
|
||||
xv/xmga/sdl/x11...</DT>
|
||||
<DD>A: Przeczytaj <A HREF="bugreports.html">przewodnik zgłaszania błędów</A>
|
||||
i wyślij nam poprawny raport o błędzie.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Dostaje ten błąd podczas odtwarzaniaplików MPEG:
|
||||
Nie mogę znaleźć kodeka dla formatu wideo 0x10000001!
|
||||
Can't find codec for video format 0x10000001!
|
||||
</DT>
|
||||
<DD>A: Masz starą wesję codecs.conf at <CODE>~/.mplayer/</CODE>.
|
||||
Zrób jego upgrade z <CODE>/etc/</CODE>.<BR>
|
||||
<B>LUB</B> musisz użyć opcji <CODE>vc=</CODE> lub czegoś podobnego
|
||||
w twoim pliku(ach) konfiguracyjnym(nych).</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Podczas uruchamiania MPlayera w KDE wyświetla się po prostu czarny ekran,
|
||||
i nic się nie dzieje. Po około jednej minucie film zaczyna być odtwarzany.</DT>
|
||||
<DD>A: Demon dźwięku KDE - arts blokuje urządzenie dźwiękowe. Możesz czekać, aż
|
||||
film się włączy lub wyłączyć demona arts w Centrum sterowania. Jeżeli chcesz
|
||||
używać dźwięku poprzez artsa, określ wyjście audio na nasz wbudowany sterownik
|
||||
dźwięku arts (<CODE>-ao arts</CODE>). Jeżli to nie zadziała, lub nie jest
|
||||
wkompilowane, wypróbuj SDL (<CODE>-ao sdl</CODE>) i upewnij się, że twój SDL może
|
||||
przechwytywać dźwięk arts. Są jeszcze inne opcje, by uruchomić MPlayera z
|
||||
artsdsp.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam AVI które daje szary ekraz podczas odtwarzania z <CODE>-vc odivx</CODE>
|
||||
i zielony z <CODE>-vc divx4</CODE>.</DT>
|
||||
<DD>A: To nie jest plik DivX, ale M$ MPEG4v3. Zrób update twojego codecs.conf.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdy odtwarzam film dźwięk nie jest zsynchronizowany z obrazem i/lub MPlayer
|
||||
"wywala się" z tym komunikatem:<BR>
|
||||
<CODE>DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</CODE></DT>
|
||||
<DD>A: Może być tego kilka powodów.
|
||||
<UL>
|
||||
<LI>Twój procesor <B>i/lub</B> karta wideo <B>i/lub</B> magistrala są za wolne.
|
||||
Jeżeli to jest powód, to MPlayer wyświetla ten komunikat (a licznik porzuconych
|
||||
klatek szybko idzie w górę).</LI>
|
||||
<LI>Jeżli to AVI, możliwe że ma złe przeplatanie (interleaving). Spróbuj
|
||||
opcji <CODE>-ni</CODE>.</LI>
|
||||
<LI>Twój sterownik dźwięku ma błędy, lub używasz ALSA 0.5 z <CODE>-ao oss</CODE>.
|
||||
Zobacz <A HREF="sound.html">sekcję o kartach dźwiękowych</A>.</LI>
|
||||
<LI>AVI ma uszkodzony nagłówek, spróbuj opcji <CODE>-nobps</CODE>, i/lub
|
||||
<CODE>-mc 0</CODE>.</LI>
|
||||
</UL></DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam plik MJPEG który działa z innymi odtwarzaczami, a MPlayer wyświetla
|
||||
tylko czarny ekran.</DT>
|
||||
<DD>A: Wyłącz DLLe Windowsa <CODE>codecs.conf</CODE>, lub użyj opcji opcji
|
||||
<CODE>-vc ffmjpeg</CODE> (aby to zadziałalo skompiluj MPlayer z libavcodec).</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdy próbuje zgrywać z mojego tunera, to działa, ale kolory są dziwne.
|
||||
Z innymi programami wszystko jest w porządku.</DT>
|
||||
<DD>A: Twoja karta prawdopodobnie źle zgłasza przestrzeń kolorów. Spróbuj z YUY2
|
||||
zamiast domyślnego (zobacz <A HREF="documentation.html#tv">dkomentacje wekścia
|
||||
TV</A>).</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdy rozpocząłem odtwarzanie, dostałem ten komunikat, ale wygląda na to, że
|
||||
wszystko jest w porządku:<BR>
|
||||
<CODE>Linux RTC init: ioctl (rtc_pie_on): Permission denied</CODE></DT>
|
||||
<DD>A: Potrzebujesz uprawnień roota lub specjalnych ustawień jądra, by móc
|
||||
korzystać z nowego kodu odmierzania czasu. Po szczegóły zobacz
|
||||
<A HREF="documentation.html#rtc">sekcję o RTC</A> dokumentacji.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam problemy z synchronizacją A/V. Niektóre pliki AVI są odtwarzane dobrze,
|
||||
ale niektóre odtwarzane są z podwójną prędkością!</DT>
|
||||
<DD>A: Toja karta/sterownik dźwięku jest uszkodzony. Najbardziej prawdopodobne,
|
||||
że są one ustawione na 44100Hz, a ty próbujesz odtworzyć plik z dźwiękiem
|
||||
22050Hz. Spróbuj przepróbkować plugin audio.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Wszystkie pliki WMV (lub inne..) są ostwarzane dając tylko zielone/szare
|
||||
okno, a jest tylko dźwięk! MPlayer wyświetla:<BR>
|
||||
<CODE>Detected video codec: [null] drv:0 (NULL codec (no decoding))</CODE></DT>
|
||||
<DD>A: Zrób update twojego <CODE>codecs.conf</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Dostaje zbyt duże wartości procentowe (zbyt duże) podczas odtwarzania plików
|
||||
na moim laptopie.</DT>
|
||||
<DD>A: To efekt systemu power management / power saving w twoim laptopie
|
||||
(BIOS, nie jądro). Podłącz zewnętrzne źródło energii <B>przed</B> włączeniem
|
||||
laptopa. Możesz także sprawdzić czy <A HREF="http://www.brodo.de/cpufreq/">cpufreq</A>
|
||||
(interface SpeedStep dla Linuks) ci pomoże.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Dźwięk/obraz śa całkowicie rozsynchronizowane gdy uruchamiam MPlayera jako
|
||||
root na moim laptopie. wszystko działa normalnie, gdy uruchamiam go ze zwykłego
|
||||
użytkownika.</DT>
|
||||
<DD>A: To znowu skutek power managementa (patrz powyżej). Podłącz zewnętrzne
|
||||
źródło energii <B>przed</B> włączeniem laptopa lub użyj opcji
|
||||
<CODE>-nortc</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
</DL>
|
||||
|
||||
|
||||
<H2><A NAME="driver">5.4 Problemy ze sterownikiem video/audio (vo/ao)</A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>Q: Nie mam dźwięku gdy odtwarzam wideo i dostaję komunikaty o błędzie
|
||||
podobne do tego:
|
||||
<PRE>
|
||||
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...
|
||||
</PRE>
|
||||
</DT>
|
||||
<DD>A: Czy używasz KDE lub GNOME z demonem dźwięku ARTS lub ESD? Spróbuj
|
||||
wyłączyć demona dźwięku lub użyj opcji <CODE>-ao arts</CODE> lub
|
||||
<CODE>-ao esd</CODE>, by MPlayer używał ARTS lub ESD.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: A co ze strownikiem DGA? Nie mogę go znaleźć!</DT>
|
||||
<DD>A: <CODE>./configure</CODE> automatycznie wykrywa sterownik DGA. Jeżeli
|
||||
<CODE>-vo help</CODE> nie pokazuje DGA, wtedy to problem z instalacją X.
|
||||
<CODE>./configure --enable-dga</CODE> i przeczytaj
|
||||
<A HREF="video.html#dga">dokumentację</A>. Alternatywnie, wypróbuj steronik
|
||||
DGA SDLa opcją <CODE>-vo sdl:dga</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: OK, <CODE>-vo help</CODE> pokazuje sterownik DGA, ale skarży się
|
||||
na uprawnienia. Pomóżcie mi!</DT>
|
||||
<DD>A: To działa tylko, jeżeli jest uruchomione jako root! To ograniczenie
|
||||
DGA. Powinieneś przełączyć na roota (<CODE>su -</CODE>), i spróbować ponownie.
|
||||
Innym rozwiązaniem jest nadanie MPlayerowi SUIDa roota, ale to
|
||||
<B>nie jest zalecane!</B><BR>
|
||||
<CODE>chown root /usr/local/bin/mplayer</CODE><BR>
|
||||
<CODE>chmod 755 /usr/local/bin/mplayer</CODE><BR>
|
||||
<CODE>chmod +s /usr/local/bin/mplayer</CODE><BR>
|
||||
<BLOCKQUOTE>
|
||||
<B>Ostrzeżenie: zagrożenie dla bezpieczeństwa</B><BR>
|
||||
Jest to <B>dużym</B> zagrożeniem dla bezpieczeństwa! <B>Nigdy</B> 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. <B>Zostałeś ostrzzeżony.</B>
|
||||
</BLOCKQUOTE>
|
||||
</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdy używam Xvideo, moje Voodoo 3/Banshee pokazuje:<BR>
|
||||
<CODE>X Error of failed request: BadAccess (attempt to access private
|
||||
resource denied)<BR>
|
||||
Major opcode of failed request: 147 (MIT-SHM)<BR>
|
||||
Minor opcode of failed request: 1 (X_ShmAttach)<BR>
|
||||
Serial number of failed request: 26<BR>
|
||||
Current serial number in output stream:27</CODE></DT>
|
||||
<DD>A: Sterownik "tdfx" w XFree86 4.0.2/4.0.3 ma ten błąd. Zostało to naprawione
|
||||
w związku z <A HREF="http://www.xfree86.org/cvs/changes_4_1.html">bugfix #621
|
||||
XFree86 4.1.0 CVS log</A>. Więc zrób upgrade do XFree86 4.1.0 lub późniejszego.
|
||||
Alternatywnie, najpierw pobierz (conajniej) DRI w wersji 0.6 ze
|
||||
<A HREF="http://dri.sourceforge.net">strony domowej DRI</A>, lub użyj DRI z CVSa.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Wyjście OpenGL (<CODE>-vo gl</CODE>) nie działa (zwis/czarny ekran/błędy
|
||||
X11/...).</DT>
|
||||
<DD>A: Twój sterownik OpenGL nie wspera dynamicznej zmiany tekstury
|
||||
(glTexSubImage). Wiadomo, że to nie działa z binarnymi steronikami nVidii.
|
||||
Działa z Utah-GLX/DRI i kartami Matrox G400. Działa również z DRI i kartami
|
||||
Radeon. Nie chce działać z DRI i innymi kartami. Nie będzie działać z kartami
|
||||
3DFX, z powodu ograniczenia rozmiaru tekstury do 256x256.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam kartę nVidia TNT/TNT2 i dokładnie pod filmem mam pasek z dziwnymi
|
||||
kolorami! Czyja to wina?</DT>
|
||||
<DD>A: To błąd binarnych sterowników X nVidii. Ten błąd pojawia się TYLKO
|
||||
z kartami TNT/TNT2 i nie możemy z tym nic zrobić. By naprawić problem, zrób
|
||||
upgrade do najnowszej wersji sterowników binarnych nVidii. Jeżeli nadal jest
|
||||
źle, skarż się do nVidii!</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mam kartę nVidia XYZ i gdy klikam w oknie filmu w GUI by przełączyć się
|
||||
na panel GUI, pojawia się czarny kwadrat, tam gdzie kliknąłem.
|
||||
Mam najnowsze sterowniki.</DT>
|
||||
<DD>A: Tak, nVidia poprawiła pprzedni błąd (powyżej), a wprowadziła nowy.
|
||||
Pozostaje tylko pogratulować. UPDATE: Według
|
||||
<A HREF="users_against_developers.html#nvidia">nVidii</A>, to zostało już
|
||||
naprawione.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdy używam GUI z wyjściem wideo SDL, tworzone jest drugie okno</DT>
|
||||
<DD>A: Wiemy o tym, na razie nie używaj SDL dla GUI.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Oh, świat jest okrutny ...! Jedynym podsterownikiem SDL jest <CODE>x11</CODE>,
|
||||
ale nie <CODE>xv</CODE>!</DT>
|
||||
<DD>A: Więc wypróbuj jeszcze raz <CODE>x11</CODE>. Teraz wypróbuj
|
||||
<CODE>-vo x11 -fs -zoom</CODE>. Widzisz różnice? Nie?! OK, tutej przychodzi
|
||||
oświecenie: podsterownik SDLa <CODE>x11</CODE> 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 <CODE>-forcexv</CODE> i <CODE>-noxv</CODE></DD>
|
||||
<DD> </DD>
|
||||
|
||||
</DL>
|
||||
|
||||
|
||||
<H2><A NAME="dvd">5.5 Odtwarzanie DVD</A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>Q: Co jest z nawigacją DVD (DVD navigation)?</DT>
|
||||
<DD>A: Wsparcie dla dvdnav w MPlayer jest aktualnie nieukończone, jednak normalne
|
||||
odtwarzanie działa. Jeżeli chcesz mieć wymarzone menu, musisz użyć innego
|
||||
odtwarzacza, takiego jak <A HREF="http://xine.sourceforge.net">xine</A> lub
|
||||
<A HREF="http://www.dtek.chalmers.se/groups/dvd/">Ogle</A>. Jeżeli zależy ci
|
||||
na nawigacji DVD, wyślij <A HREF="../tech/patches.txt">łatkę</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdy odtwarzam DVD, napotykam na ten błąd:<BR>
|
||||
<CODE>mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion
|
||||
nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.</CODE></DT>
|
||||
<DD>A: To znany błąd libdvdread 0.9.1/0.9.2. Użyj <B>libmpdvdkit2</B>,
|
||||
który jest obecny w źródłach MPlayera i jest używany domyślnie.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Czy mogę skompilować libdvdread i libdvdcss na moim kochanym SPARCu na
|
||||
Solarisie?</DT>
|
||||
<DD>A: Kto wie... Powinno działać, więc prosimy przetestuj to i wyślij nam
|
||||
reakcję. Najlepiej zgodnie z dokumentacją libdvdread i jego stroną domową.
|
||||
Nie jesteśmy autorami libdvdread. Użyj <B>libmpdvdkit2</B>, który jest obecny
|
||||
w źródłach MPlayera i jest używany domyślnie.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: A co z napisami? Czy MPlayer może je wyświetlić?</DT>
|
||||
<DD>A: Tak. Zobacz <A HREF="cd-dvd.html#dvd">rozdział o DVD</A> w dokumentacji.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jak mam ustawić kod regionu mojego napędu DVD? Nie mam
|
||||
Windowsa!</DT>
|
||||
<DD>A: Użyj
|
||||
<A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">regionset tool</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Czy muszę być (setuid) rootem/setuid fibmap_mplayer by muc odtwarzać
|
||||
DVD?</DT>
|
||||
<DD>A: Nie, tylko dla wsparcia starego stylu DVD. Jednak musisz mieć poprawne
|
||||
uprawnienia na urządzenie DVD (w <CODE>/dev/</CODE>).</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdzie mogę pobrać pakiety libdvdread i libdvdcss?</DT>
|
||||
<DD>A: Nie musisz. Użyj <B>libmpdvdkit2</B>, który jest obecny w źródłach
|
||||
MPlayera i jest używany domyślnie. Możesz pobrać wymienione pakiety
|
||||
ze <A HREF="http://www.dtek.chalmers.se/groups/dvd/">strony Ogle</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Czy jest możliwe, by odtworzyć/skodować tylko określone rozdziały?</DT>
|
||||
<DD>A: Tak, spróbuj opcji <CODE>-chapter</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Odtwarzanie mojego DVD jest powolne!</DT>
|
||||
<DD>A: Użyj opcji <CODE>-cache</CODE> (opisano w stronie manuala)
|
||||
i spróbuj włączyć DMA w napędzie DVD narzędziem hdparm (opisano
|
||||
w <A HREF="cd-dvd.html#cd">rozdziale o CD</A> w dokumentacji).</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdy odtwarzam film, nagle zaczyna się on zacinać i dostaję ten
|
||||
komunikat:<BR>
|
||||
<CODE>Badly interleaved AVI file detected - switching to -ni
|
||||
mode...</CODE>
|
||||
<DD>A: Popsute pliki interleaved i <CODE>-cache</CODE> nie działają razem
|
||||
za dobrze. Spróbuj <CODE>-nocache</CODE>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
</DL>
|
||||
|
||||
|
||||
<H2><A NAME="features">5.6 Proźby o nowe funkcje</A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>Q: Jeżli MPlayer jest zapauzowany i próbuje przeszukać lub w ogóle naciskam
|
||||
jakikolwiek przycisk, MPlayer przestaje być zapauzowany. Chciałbym móc przeszukiwać
|
||||
w zapauzowanym filmie.</DT>
|
||||
<DD>A: Jest bardzo skomplikowne, by zaimpletować to bez utraty synchronizacji A/V.
|
||||
Do tej pory wszystkie próby zawiodły, ale łatki są mile widziane.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Chciałbym przeszukiwać o +/- 1 klatkę zamiast o 10 sekund.</DT>
|
||||
<DD>A: To nie może być zrobione. Było, ale potem traciliśmy synchronizację A/V
|
||||
Czuj się wolnym do napisania i wysłania łatki. Nie pytaj nas o to.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Gdzie jest wersja dla Windows?</DT>
|
||||
<DD>A: Nie została wydana i nie będzie. Rozejrzyj się po świecie Windowsa
|
||||
(parsery ASF z otwartym kodem, kodery ASF z otwartym kodem, itp.)
|
||||
i zrozumiesz dlaczego. Nie chcemy iść do więzienia. BTW możesz
|
||||
skompilować go włąsnoręcznie, na
|
||||
<A HREF="documentation.html#cygwin">Cygwinie</A>.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jak mogę zrobić, MPlayer zapamiętywał MPlayer opcje, które używam
|
||||
dla konkretnego pliku?</DT>
|
||||
<DD>A: Stwórz plik o nazwie <CODE>film.avi.conf</CODE> w którym umieścisz
|
||||
specyficzne dla pliku opcje i umieścisz go w <CODE>~/.mplayer</CODE> lub
|
||||
w katalogu tym samym co film.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
</DL>
|
||||
|
||||
|
||||
<H2><A NAME="encoding">5.7 Kodowanie</A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>Q: Jak mogę kodować?</DT>
|
||||
<DD>A: Przeczytaj <A HREF="encoding.html">dokumentację</A> MEncodera.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jak moge stworzyć płyty VCD?</DT>
|
||||
<DD>A: Wypróbuj skryptu <CODE>mencvcd</CODE> z podkatalogu <CODE>TOOLS</CODE>.
|
||||
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.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jak mogę połączyć dwa pliki wideo?</DT>
|
||||
<DD>A: Było to dyskutowane bez końca na mplayer-users. Przeszukaj
|
||||
<A HREF="http://mplayerhq.hu/cgi-bin/htsearch?restrict=/mplayer-users/">archiwa</A>
|
||||
po kompletną odpowiedź. To skomplikowany temat, a rozwiązanie może zależeć
|
||||
od wielu czynników, jak rodzaj plików, które chcesz połączyć. Przy szczęściu
|
||||
pliki MPEG połączone w jeden plik. Do plików AVI są dwa narzędzia,
|
||||
<A HREF="http://fixounet.free.fr/avidemux/">avidemux</A>
|
||||
i avimerge (cześć pakietu narzędzi
|
||||
<A HREF="http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/">transcode</A>),
|
||||
którymi możesz to zrobić. Możesz także spróbować MEncoder jeżeli
|
||||
masz dwa pliki zakodowane tym samym kodekiem i o tych samych wymiarach. Spróbuj<BR>
|
||||
<CODE>cat file1 file2 > file3</CODE><BR>
|
||||
<CODE>mencoder -ovc copy -oac copy -o out.avi -forceidx file3.avi</CODE></DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Mój tuner działa, szłyszę dźwięk i widzę obraz w MPlayerze,
|
||||
ale MEncoder nie koduje dźwięku!</DT>
|
||||
<DD>A: Kodowanie dźwięku TV w Linuksie jest aktualnie nieukończone, pracujemy
|
||||
nad tym. W tej chwili działa to tylko w BSD.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Nie moge zakodować napisów DVD do pliku AVI!</DT>
|
||||
<DD>A: Musisz poprawnie określić opcję <CODE>-sid</CODE>!</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: MEncoder "wywala się" przy starcie!</DT>
|
||||
<DD>A: Zrób upgrade DivX4Linux.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Jak mogę skodować tylko wybrane rozdziały z DVD?</DT>
|
||||
<DD>A: Użyj poprawnie opcji <CODE>-chapter</CODE>, np.:
|
||||
<CODE>-chapter 5-7</CODE></DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Próbuje pracować z plikami 2GB+ na systemie plików VFAT. Czy to działa?</DT>
|
||||
<DD>A: Nie, VFAT nie wspiera plików większych niż 2GB.</DD>
|
||||
<DD> </DD>
|
||||
|
||||
<DT>Q: Dlaczego zalecany bitrate wyświetlany przez MEncodera jest ujemny?</DT>
|
||||
<DD>A: Ponieważ bitrate skodowanego przez ciebie dźwięku jest zbyt duży by
|
||||
zmieścić film na płycie CD. Sprawdź czy masz poprawnie zainstalowny libmp3lame.</DD>
|
||||
|
||||
</DL>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,315 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Formaty - MPlayer - Odtwarzacz Filmów dla Linuksa</TITLE>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
|
||||
<H2><A NAME="formats">2.1 Wspierane formaty</A></H2>
|
||||
|
||||
<P>Ważne jest, by wyjaśnić podstawową pomyłkę. Gdy ludzie widzą plik z rozszerzeniem
|
||||
<B>.AVI</B>, 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 <B>mogą</B> zawierać wideo w MPEG.</P>
|
||||
|
||||
<P>Zauważ, że <B>kodek</B> to nie to samo co <B>format pliku</B>.<BR>
|
||||
Przykładami <B>kodeków</B> wideo są: MPEG1, MPEG2, DivX, Indeo5, 3ivx.<BR>
|
||||
Przykładami <B>formatów</B> plików są: MPG, AVI, ASF.</P>
|
||||
|
||||
<P>Teoretycznie, możesz umieścić wideo OpenDivX dźwięk MP3 w formacie pliku
|
||||
<B>MPG</B>. Jednak, większość odtwarzaczy nie odtworzy tego, ponieważ oczekują one
|
||||
wideo MPEG1 i dźwięk MP2 (w odróżnieniu od <B>AVI</B>, <B>MPG</B> nie posiada
|
||||
niezbędnych pól do określania jego strumieni wideo i audio). Możesz też umieścić
|
||||
wideo MPEG1 w pliku AVI.
|
||||
<A HREF="http://ffmpeg.sourceforge.net">FFmpeg</A> i
|
||||
<A HREF="encoding.html">MEncoder</A> potrafią tworzyć takie pliki.</P>
|
||||
|
||||
|
||||
|
||||
<H3><A NAME="video_formats">2.1.1 Formaty wideo</A></H3>
|
||||
|
||||
|
||||
<H4><A NAME="mpeg">2.1.1.1 Pliki MPEG</A></H4>
|
||||
|
||||
<P>Pliki MPEG występują w różnych odmianach:</P>
|
||||
|
||||
<UL>
|
||||
<LI>MPG: Jest on najbardziej <B>prostą</B> formą formatu plików MPEG.
|
||||
Zawiera wideo MPEG1 i dźwięk MP2 (MPEG-1 warstwa 2) lub rzadziej MP1.</LI>
|
||||
<LI>DAT: Jest to bardzo podobny format do MPG, tyle że z innym rozszerzeniem.
|
||||
Używany jest w płytach <B>Video CD</B>. Z powodu sposobu tworzenia płyt VCD
|
||||
i struktury Linuksa, pliki DAT nie mogą być odtwarzane ani kopiowane z VCD jako
|
||||
regularne pliki. Musisz użyć opcji <CODE>-vcd</CODE> by odtworzyć Video CD.</LI>
|
||||
<LI>VOB: Jest to format pliku MPEG używany w <B>DVD</B>. Jest taki sam jak MPG,
|
||||
plus możliwość zawierania napisów lub dźwięku nie-MPEG (AC3). Zawiera
|
||||
zakodowane wideo MPEG2 i zazwyczaj dźwięk AC3, ale DTS, MP2 i nieskompresowany
|
||||
LPCM też są dozwolone.<BR> <B>Przeczytaj <A
|
||||
HREF="cd-dvd.html#dvd">sekcję o DVD</A>!</B></LI>
|
||||
</UL>
|
||||
|
||||
<P>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
|
||||
<CODE>dd</CODE>, <CODE>cut</CODE>) i pozostaną one całkowicie funkcjonalne.</P>
|
||||
|
||||
<P>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ą <CODE>-aspect</CODE>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="avi">2.1.1.2 Pliki AVI</A></H4>
|
||||
|
||||
<P>Stworzony przez Microsoft, <B>AVI (Audio Video Interleaved)</B> 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 <B>OpenDMS</B>. Aktualnie Microsoft bardzo odradza
|
||||
jego używanie i zachęca do ASF/WMF. Nikogo to jednak nie obchodzi.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P><B>Informacja:</B> 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.</P>
|
||||
|
||||
<P>Są dwa rodzaje plików AVI:</P>
|
||||
<UL>
|
||||
<LI><B>Interleaved:</B> Zawartość audio i video jest przeplatana (interleaved).
|
||||
Jest to standardowe użycie. Rekomendowane i przeważnie używane. Niektóre
|
||||
narzędzia tworzą pliki interleaved AVI ze złą synchronizacją. MPlayer wykrywa je jako
|
||||
interleaved, a one tracą synchronizację A/V, prawdopodobnie podczas przeszukiwania.
|
||||
Te pliki powinny być odtwarzane jako nie-interleaved (z opcją <CODE>-ni</CODE>).</LI>
|
||||
<LI><B>Non-interleaved:</B> Najpierw znajduje się cały strumień video, a potem cały
|
||||
strumień audio. Tak więc, wymaga to intensywnego przeszukiwania pliku, powodując
|
||||
odtwarzanie z sieci lub CD-Romu problematycznym.</LI>
|
||||
</UL>
|
||||
|
||||
<P>MPlayer Wspiera dwa sposoby odwzorowania czasu w plikach AVI:</P>
|
||||
<UL>
|
||||
<LI><B>bps-based</B>: Jest oparty na bitrate/próbkowaniu strumienia wideo/audio. Ta
|
||||
metoda jest używana przez większość odtwarzaczy, włączając w to <A HREF="http://avifile.sourceforge.net">avifile</A>
|
||||
i Windows Media Player.
|
||||
Pliki z uszkodzonym nagłówkiem i pliki stworzone z dźwiękiem VBR (zmiennym bitrate), ale nie
|
||||
z koderem zgłaszającym o VBR spowodują utratę synchronizacji A/V (przeważnie przy
|
||||
przeszukiwaniu).</LI>
|
||||
<LI><B>interleaving-based</B>: Nie używa ona wartości bitrate z nagłówka, zamiast tego
|
||||
używa względnej pozycji próbek interleaved dźwięku i wideo, co pozwala na odtworzenie
|
||||
źle zakodowanych plików z dźwiękiem VBR.</LI>
|
||||
</UL>
|
||||
|
||||
<P>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 <A HREF="encoding.html">MEncoder</A>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="asf">2.1.1.3 Pliki ASF/WMV</A></H4>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="mov">2.1.1.4 Pliki QuickTime/MOV</A></H4>
|
||||
|
||||
<P>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
|
||||
<CODE>-dumpvideo</CODE> i <CODE>-dumpaudio</CODE>.).</P>
|
||||
|
||||
<P><B>Informacja:</B> Większość nowych plików QuickTime używa wideo <B>Sorenson</B> i dźwięku
|
||||
QDesign Music. Zobacz naszą sekcję o kodeku <A HREF="codecs.html#sorenson">Sorenson</A>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="vivo">2.1.1.5 Pliki VIVO</A></H4>
|
||||
|
||||
<P>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!</P>
|
||||
|
||||
<P>Kodekiem wideo plików VIVO/1.0 jest standardowy <B>h.263</B>. Kodekiem wideo
|
||||
plików VIVO/2.0 jest zmodyfikowany, niestandardowy <B>h.263v2</B>. Dźwięk jest taki sam,
|
||||
może to być <B>g.723</B> (standard), lub <B>Vivo Siren</B>.</P>
|
||||
|
||||
<P>Zobacz sekcje <A HREF="codecs.html#vivo_video">Kodek wideo VIVO</A> i
|
||||
<A HREF="codecs.html#vivo_audio">Kodek audio VIVO</A> po instrukcje
|
||||
instalacji.</P>
|
||||
|
||||
|
||||
<H4><A NAME="fli">2.1.1.6 Pliki FLI</A></H4>
|
||||
|
||||
<P><B>FLI</B> 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ą <CODE>-loop</CODE>). Pliki FLI nie mają klatek kluczowych (keyframe),
|
||||
więc obraz może być zniekształcony przez krótki czas po przeszukiwaniu.</P>
|
||||
|
||||
|
||||
<H4><A NAME="real">2.1.1.7 Pliki RealMedia (RM)</A></H4>
|
||||
|
||||
<P>Tak, MPlayer potrafi czytać (demux) pliki RealMedia (.rm). Przeszukiwanie działa,
|
||||
ale musisz wyraźnie podać opcję <CODE>-forceidx</CODE> (format wspiera keyframe'y).
|
||||
Oto listy wspieranych kodeków
|
||||
<A HREF="codecs.html#realvideo">RealVideo</A>
|
||||
i <A HREF="codecs.html#realaudio">RealAudio</A>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="nuppelvideo">2.1.1.8 Pliki NuppelVideo</A></H4>
|
||||
|
||||
<P><A HREF="http://mars.tuwien.ac.at/~roman/nuppelvideo">NuppelVideo</A>
|
||||
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ż <B>koduje</B> je MEncoderem do DivX/itp!).
|
||||
Przeszukiwanie działa.</P>
|
||||
|
||||
|
||||
<H4><A NAME="yuv4mpeg">2.1.1.9 Pliki yuv4mpeg</A></H4>
|
||||
|
||||
<P><A HREF="http://mjpeg.sourceforge.net">yuv4mpeg / yuv4mpeg2</A> jest formatem pliku
|
||||
używanym przez <A HREF="http://mjpeg.sf.net">programy mjpegtools</A>.
|
||||
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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="film">2.1.1.10 Pliki FILM</A></H4>
|
||||
|
||||
<P>Ten format jest używany w starych CD-Romach z grami dla Segi Saturn.</P>
|
||||
|
||||
|
||||
<H4><A NAME="roq">2.1.1.11 Pliki RoQ</A></H4>
|
||||
|
||||
<P>Pliki RoQ są multimedialnymi plikami używanymi w niektórych grach ID takich jak Quake III
|
||||
i Return to Castle Wolfenstein.</P>
|
||||
|
||||
|
||||
<H4><A NAME="ogg">2.1.1.12 Pliki OGG/OGM</A></H4>
|
||||
|
||||
<P>Jest to nowy format pliku z <A HREF="http://www.xiph.org">Xiphophorus</A>.
|
||||
Może zawierać dowolny kodek wideo lub audio, CBR lub VBR. Będziesz musiał
|
||||
zainstalować <CODE>libogg</CODE> i <CODE>libvorbis</CODE> przed
|
||||
kompilacją MPlayera, by móc je odtworzyć.</P>
|
||||
|
||||
|
||||
<H4><A NAME="sdp">2.1.1.13 Pliki SDP</A></H4>
|
||||
|
||||
<P><A HREF="ftp://ftp.rfc-editor.org/in-notes/rfc2327.txt">SDP</A>
|
||||
jest standardowym formatem IETF do opisywania strumieni RTP wideo i/lub audio.
|
||||
(wymagane są biblioteki "<A HREF="http://www.live.com/mplayer/">LIVE.COM
|
||||
Streaming Media</A>".)</P>
|
||||
|
||||
|
||||
<H4><A NAME="pva">2.1.1.14 Pliki PVA</A></H4>
|
||||
|
||||
<P>PVA jest formatem podobnym do MPEG używanym przez oprogramowanie dostarczane
|
||||
z kartami DVB TV (np.: MultiDec, WinTV) w Windowsie.</P>
|
||||
|
||||
<P>Specyfikację PVA możesz pobrać z poniższego adresu:
|
||||
<A HREF="http://www.technotrend.de/download/av_format_v1.pdf">http://www.technotrend.de/download/av_format_v1.pdf</A></P>
|
||||
|
||||
|
||||
<H4><A NAME="gif">2.1.1.15 Pliki GIF</A></H4>
|
||||
|
||||
<P>Format <B>GIF</B> 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 <CODE>-loop</CODE> i
|
||||
<CODE>-fixed-vo</CODE> by wyświetlić je dłużej.)</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Jeżeli twoja dystrybucja nie zawiera libungif, pobierz kopie ze
|
||||
<A HREF="http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml">strony domowej libungif</A>.
|
||||
Po dokładne techniczne informacje, zobacz
|
||||
<A HREF="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">specyfikację GIF89a</A>.</P>
|
||||
|
||||
|
||||
<H3><A NAME="audio_formats">2.1.2 Formaty audio</A></H3>
|
||||
|
||||
<P>MPlayer jest odtwarzaczem <B>Filmów</B> a nie <B>Media</B>, 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
|
||||
<A HREF="http://www.xmms.org">xmms</A>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="mp3">2.1.2.1 Pliki MP3</A></H4>
|
||||
|
||||
<P>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 <CODE>-demuxer</CODE> określona
|
||||
w stronie manuala może pomóc w tych przypadkach.</P>
|
||||
|
||||
|
||||
<H4><A NAME="wav">2.1.2.2 Pliki WAV</A></H4>
|
||||
|
||||
|
||||
<H4><A NAME="ogg_vorbis">2.1.2.3 Pliki OGG/OGM (Vorbis)</A></H4>
|
||||
|
||||
<P>Wymaga poprawnie zainstalowanych <CODE>libogg</CODE> i
|
||||
<CODE>libvorbis</CODE>.</P>
|
||||
|
||||
|
||||
<H4><A NAME="wma">2.1.2.4 Pliki WMA/ASF</A></H4>
|
||||
|
||||
|
||||
<H4><A NAME="mp4">2.1.2.5 Pliki MP4</A></H4>
|
||||
|
||||
|
||||
<H4><A NAME="cdda">2.1.2.6 Audio CD</A></H4>
|
||||
|
||||
<P>MPlayer może używać <B>cdparanoia</B> (bibliotek) by odtwarzać CDDA (Audio CD).
|
||||
Zakres tego rozdziału nie pozwala na wyliczenie funkcji cdparanoia'i.</P>
|
||||
|
||||
<P>Zobacz opcję <CODE>-cdda</CODE> w manualu, która może być użyta do podawania opcji
|
||||
do cdparanoia.</P>
|
||||
|
||||
|
||||
<H4><A NAME="xmms">2.1.2.7 XMMS</A></H4>
|
||||
|
||||
<P>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
|
||||
<A HREF="http://www.xmms.org/plugins_input.html">stronie z pluginami do XMMSa</A>.</P>
|
||||
|
||||
<P>Do tej funkcji musisz mieć XMMSa i skompilować MPlayera z
|
||||
<CODE>./configure --enable-xmms</CODE>. Jeżeli to nie działa, możliwe, że musisz
|
||||
podać ścieżki do katalogów z pluginami i bibliotekami XMMS poprzez opcje
|
||||
<CODE>--with-xmmsplugindir</CODE> i <CODE>--withxmmslibdir</CODE>.</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,799 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
|
||||
<title>Tworzenie Skórek - MPlayer - Odtwarzacz Filmów dla Linuksa</title>
|
||||
<link rel="stylesheet" type="text/css" href="../default.css">
|
||||
<style type="text/css">
|
||||
em.note {color: green;
|
||||
font-style: normal;}
|
||||
em.warn {color: red;
|
||||
font-style: normal;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Dodate D - Format skórek MPlayera</h1>
|
||||
|
||||
<p>Celem tej dokumentacji jest opisanie formatu skór MPlayera. Informacje zawarte
|
||||
w tym dokumencie mogą być błędne, ponieważ:</p>
|
||||
|
||||
<ol type="a">
|
||||
<li>To nie ja napisałem GUI.</li>
|
||||
<li>GUI nie jest skończone.</li>
|
||||
<li>Mogę się mylić.</li>
|
||||
</ol>
|
||||
|
||||
<p>Więc nie bądź zaskoczony jeżeli coś nie będzie działało w sposób w jaki zostało tutaj opisane.</p>
|
||||
|
||||
<p>Podziękowania dla <em>Zoltán Ponekker</em> za jego pomoc.</p>
|
||||
|
||||
<p><em>András Mohari <mayday@freemail.hu></em></p>
|
||||
|
||||
|
||||
<h2><a name="overview">D.1 Przedmowa</a></h2>
|
||||
|
||||
<p>To nie ma tak naprawdę żadnego związku z formatem skór, ale powinieneś wiedzieć,
|
||||
że MPlayer <B>nie</B> ma wbudowanej skórki, więc musisz <B>mieć zainstalowaną chociaż
|
||||
jedną skórę, aby mieć możliwość używania GUI.</B></p>
|
||||
|
||||
|
||||
<h3><a name="directories">D.1.1 Katalogi</a></h3>
|
||||
|
||||
<p>Katalogi przeszukiwane przez MPlayera w poszukiwaniu skór to (w kolejności szukania):</p>
|
||||
|
||||
<pre>
|
||||
$(DATADIR)/Skin/
|
||||
$(PREFIX)/share/mplayer/Skin/
|
||||
~/.mplayer/Skin/
|
||||
</pre>
|
||||
|
||||
<p>Zauważ, że pierwsza ścieżka może być zależna od tego, jak MPlayer został skonfigurowany
|
||||
podczas kompilacji (zobacz argumenty <code>--prefix</code> i <code>--datadir</code>
|
||||
skryptu <code>configure</code>).</p>
|
||||
|
||||
<p>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:</p>
|
||||
|
||||
<pre>
|
||||
$(PREFIX)/share/mplayer/Skin/default/
|
||||
</pre>
|
||||
|
||||
|
||||
<h3><a name="images">D.1.2 Formaty obrazków</a></h3>
|
||||
|
||||
<p>Obrazki muszą to być PNG z głębią kolorów truecolor (24, albo 32 bity).</p>
|
||||
|
||||
<p>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
|
||||
(<font color="#FF00FF">magenta</font>) 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.</p>
|
||||
|
||||
|
||||
<h3><a name="components">D.1.3 Części skórki</a></h3>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>Na dzień dzisiejszy są trzy okna do skonfigurowania: <a href="#mainwin">okno główne</a>
|
||||
(main window), <a href="#subwindow">okno ekranu</a> (subwindow),
|
||||
<a href="#mainwin">pasek odtwarzania</a> (playbar) oraz <a href="#skinmenu">menu skóry</a>
|
||||
(skin menu) (które może zostać uaktywnione poprzez naciśnięcie prawego przycisku myszy).</p>
|
||||
|
||||
<ul>
|
||||
<li><p><b>Okno główne</b> i/lub <b>pasek odtwarzania</b> to okno w którym kontrolujesz
|
||||
MPlayera. Tło tego okna jest obrazkiem. Różne elementy mogą (i muszą) być umieszczone
|
||||
w tym oknie: <em>przyciski</em> (buttons), <em>potencjometry</em> (suwaki, ang. potmeters, sliders)
|
||||
i <em>etykiety</em> (labels). Dla każdego elementu musisz określić jego pozycję oraz rozmiar.</p>
|
||||
|
||||
<p><b>Przycisk</b> ma trzy fazy (wciśnięty, uwolniony oraz nieaktywny), więc ich obrazki
|
||||
muszą być podzielone na trzy części w pionie. Zobacz sekcję <a href="#main.button">przyciski</a>,
|
||||
aby uzyskać więcej informacji.</p>
|
||||
|
||||
<p><b>Potencjometry</b> (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ę <a href="#main.hpotmeter">hpotmeter</a> i <a href="#main.potmeter">potmeter</a>,
|
||||
aby dowiedzieć się więcej na ten temat.</p>
|
||||
|
||||
<p><b>Etykiety</b> 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 <a href="#fonts">plik opisujący fonty</a>. 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ą <em>razem</em> fonty).
|
||||
Zobacz <a href="#main.dlabel">dlabel</a> i <a href="#main.slabel">slabel</a>,
|
||||
po więcej szczegółów.</p>
|
||||
|
||||
<p><em class="note"><b>Informacja:</b> wszystkie obrazki mogą posiadać przeźroczystość tak,
|
||||
jak opisano to w sekcji formaty <a href="#images">plików graficznych</a>. 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.</em></p>
|
||||
</li>
|
||||
|
||||
<li><b>Okno ekranu</b> - tutaj pojawia się film podczas odtwarzania. Może ono
|
||||
wyświetlać określony obrazek jeżeli nie jest w danym momencie odgrywany żaden film
|
||||
(to dość nudne mieć puste okno :-)) <em class=note><b>Informacja:</b> przeźroczystość
|
||||
jest tutaj <b>niedostępna</b>.</em></li>
|
||||
|
||||
<li><p><b># menu skóry</b> 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).</p>
|
||||
|
||||
<p>Obszar menu znajdujący się pod kursorem jest zdefiniowany poprzez jego pozycję
|
||||
i rozmiar w obrazku (zobacz sekcję <a href="#skinmenu">menu skóry</a> aby dowiedzieć
|
||||
się więcej na ten temat).</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>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 <a href="#guimsg">sygnały</a> (zdarzenia). Dla wszystkich
|
||||
tych elementów muszą być zdefiniowane sygnały, które mają zostać wywołane po naciśnięciu
|
||||
przycisku myszy.</p>
|
||||
|
||||
|
||||
<h3><a name="files">D.1.4 Pliki</a></h3>
|
||||
|
||||
<p>Aby stworzyć skórę będziesz potrzebował następujących plików:</p>
|
||||
|
||||
<ul>
|
||||
<li>Plik konfiguracyjny o nazwie<a href="#skin">skin</a>, który informuje
|
||||
MPlayera w jaki sposób łączyć ze sobą poszczególne części skóry i co ma
|
||||
zrobić kiedy klikasz gdziesz w obszarze okna.</li>
|
||||
<li>Obrazek Tła do głównego okna.</li>
|
||||
<li>Obrazki dla elementów okna głównego (włączając w to jeden, albo więcej
|
||||
plików opisujących fonty potrzebnych do wyświetlania etykiet).</li>
|
||||
<li>Obrazek który ma być wyświetlony w oknie ekranu (opcjonalnie).</li>
|
||||
<li>Dwa obrazki do menu skóry (są one potrzebne tylko jeśli chcesz stworzyć takie menu).</li>
|
||||
</ul>
|
||||
|
||||
<p>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 <code>.fnt</code>).</p>
|
||||
|
||||
|
||||
<h2><a name="skinfile">D.2 Plik skin</a></h2>
|
||||
|
||||
<p>Jak wspomniano powyżej jest to plik konfigurujący skórę. Potrafi on rozpoznawać
|
||||
typy wierszy: wiersze komentarza rozpoczyna średnik, czyli '<code>;</code>'
|
||||
(przed nim mogą znajdować się tylko spacje, lub znaki tabulacji).</p>
|
||||
|
||||
<p>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ć:</p>
|
||||
|
||||
<table border="1" width="100%">
|
||||
<tr bgcolor="silver">
|
||||
<td>
|
||||
<pre>
|
||||
section = <i>section name</i>
|
||||
.
|
||||
.
|
||||
.
|
||||
end
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>Na dzień dzisiejszy istnieje tylko jedna aplikacja, więc potrzebujesz tylko jednej sekcji:
|
||||
jej nazwa to <b>movieplayer</b> (odtwarzacz filmów).</p>
|
||||
|
||||
<p>W tej sekcji każde z okien jest opisane poprzez dany blok w taki sposób:</p>
|
||||
|
||||
<table border="1" width="100%">
|
||||
<tr bgcolor="silver">
|
||||
<td>
|
||||
<pre>
|
||||
window = <i>window name</i>
|
||||
.
|
||||
.
|
||||
.
|
||||
end
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>gdzie <i>window name</i> może być jednym z następujących ciągów znaków:</p>
|
||||
|
||||
<ul>
|
||||
<li><b>main</b> - dla głównego okna</li>
|
||||
<li><b>sub</b> - dla okna ekranu</li>
|
||||
<li><b>menu</b> - dla menu skóry</li>
|
||||
<li><b>playbar</b> - pasek odtwarzania</li>
|
||||
</ul>
|
||||
|
||||
<p>(wpisy sub i menu są opcjonalne - nie musisz tworzyć menu, ani dekorować
|
||||
okna ekranu jeżeli nie chcesz.)</p>
|
||||
|
||||
<p>W każdym z bloków możesz zdefiniować poszczególne elementy (items) dla danego
|
||||
okna w sposób przedstawiony poniżej:</p>
|
||||
|
||||
<dl>
|
||||
<dt><b><code>item = parameter</code></b></dt>
|
||||
<dd>Gdzie <code>item</code> jest ciągiem znaków identyfikującym typ danego
|
||||
elementu GUI, parametr jest numeryczną, lub tekstową wartością
|
||||
(lub listą wartości oddzieloną przecinkami).</dd>
|
||||
</dl>
|
||||
|
||||
<p>Łącząc to wszystko ze sobą, uzyskujemy plik wyglądający mniej więcej tak:</p>
|
||||
|
||||
<table border="1" width="100%">
|
||||
<tr bgcolor="silver">
|
||||
<td>
|
||||
<pre>
|
||||
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
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>Nazwa obrazk musi być podana bez żadnych głównych katalogów - obrazki są
|
||||
poszukiwane w katalogu ze <code>skórką</code>. Możesz (ale nie musisz) podać
|
||||
rozszerzenie plików. Jeżeli plik nie istnieje, MPlayer próbuje załadować plik
|
||||
<code><nazwa pliku>.<rozszerzenie></code>, gdzie <code>png</code>
|
||||
i <code>PNG</code> są próbowane jako <code><rozszerzenie></code> (w tej
|
||||
kolejności). Wykorzystany zostanie pierwszy pasujący plik.</p>
|
||||
|
||||
<p>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
|
||||
<code>X</code> i <code>Y</code>. <code>0</code> jest górą lub lewą stroną,
|
||||
<code>-1</code> wyśrodkowuje, a <code>-2</code> jest dołem lub prawą stroną,
|
||||
jak pokazano na ilustracji:</p>
|
||||
|
||||
<pre>
|
||||
|
||||
(0, 0)----(-1, 0)----(-2, 0)
|
||||
| | |
|
||||
| | |
|
||||
(0,-1)----(-1,-1)----(-2,-1)
|
||||
| | |
|
||||
| | |
|
||||
(0,-2)----(-1,-2)----(-2,-2)
|
||||
|
||||
</pre>
|
||||
|
||||
<table border="1" cellpadding="5" width="100%">
|
||||
<tr bgcolor="#ffffcc">
|
||||
<td>Tutaj jest przykład, który powinien to wyjaśnić. Przypuśćmy, że masz obrazek
|
||||
o nazwie <code>main.png</code>, który używasz do głównego okna:
|
||||
<blockquote>
|
||||
<code>base = main, -1, -1</code>
|
||||
</blockquote>
|
||||
MPlayer próbuje załadować <code>main</code>, <code>main.png</code>,
|
||||
<code>main.PNG</code>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<h3><a name="mainwindow">D.2.1 Okno główne i pasek odtwarzania</a></h3>
|
||||
|
||||
<p>Poniżej możesz zobaczyć listę elementów, które mogą być użyte w bloku
|
||||
'<code>window = main</code>' . . . '<code>end</code>', i w
|
||||
'<code>window = playbar</code>' . . '<code>end</code>'.</p>
|
||||
|
||||
<dl>
|
||||
<dt><a name="main.base"><b><code>base = obrazek, X, Y</code></b></a></dt>
|
||||
<dd>Pozwala ci określić obrazek tła, który ma zostać użyty w głównym oknie.
|
||||
Okno to pojawi się w określonej przez <code>x,y</code> pozycji na ekranie.
|
||||
Okno to będzie rozmiarów obrazka tła.
|
||||
<div><em class="warn"><b>Informacja:</b> Te parametry narazie nie działają
|
||||
dla okna ekranu.</em></div>
|
||||
<div><em class="warn"><b>Ostrzeżenie:</b> przeźroczyste obszary w obrazku
|
||||
(kolor #FF00FF) pojawiają się jako czarny kolor w X serwerach, które nie
|
||||
obsługują rozszerzenia XShape.</em></div>
|
||||
</dd>
|
||||
|
||||
<dt><a name="main.button"><b><code>button = obrazek, X, Y, szerokość, wysokość,
|
||||
sygnał</code></b></a></dt>
|
||||
<dd>Umieszcza przycisk o rozmiarze <code>szerokość</code> * <code>wysokość</code>
|
||||
na pozycji <code>X</code>,<code>Y</code>. Określony <code>sygnał</code> jest generowany,
|
||||
kiedy przycisk zostanie kliknięty. Obrazek określony przez <code>obrazek</code>
|
||||
musi być podzielony na trzy części umieszczone jedna pod drugą (podzielony według
|
||||
możliwych faz przycisku), w ten sposób:
|
||||
<pre>
|
||||
+------------+
|
||||
| wciśnięty |
|
||||
+------------+
|
||||
| uwolniony |
|
||||
+------------+
|
||||
| nieaktywny |
|
||||
+------------+
|
||||
</pre>
|
||||
</dd>
|
||||
|
||||
<dt><a name="main.decoration"><b><code>decoration = enable|disable</code></b>
|
||||
</a></dt>
|
||||
<dd>Włącza, lub wyłącza dekoracje okna (pasek tytułowy) twojego menadżera okien
|
||||
Domyślnie jest to <b>wyłączone</b>.
|
||||
<div><em class="warn"><b>Informacja:</b> Nie działa z oknem ekranu, opcja nie
|
||||
jest wymagana.</em></div>
|
||||
</dd>
|
||||
|
||||
<dt><a name="main.hpotmeter"><b><code>hpotmeter = przycisk, szer_przycisku, wys_przycisku,
|
||||
fazy, liczbafaz, domyślna, X, Y, szerokość, wysokość, sygnał</code><br>
|
||||
<code>vpotmeter = przycisk, szer_przycisku, wys_przycisku, fazy, liczbafaz,
|
||||
domyślna, X, Y, szerokość, wysokość, sygnał</code></b></a></dt>
|
||||
<dd>Umieszcza poziomy (hpotmeter) lub pionowy (vpotmeter) potencjometr o rozmiarach
|
||||
<code>szerokość</code> * <code>wysokość</code>
|
||||
na pozycji <code>X</code>,<code>Y</code>. 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).
|
||||
<code>hpotmeter</code> może mieć przycisk który jest przesuwany w poziomie.
|
||||
|
||||
<div>Parametry to:</div>
|
||||
|
||||
<ul>
|
||||
<li><code>przycisk</code> - obrazek który ma być użyty jako suwak (musi mieć
|
||||
trzy części umieszczone jedna pod drugą, tak jak w przypadku
|
||||
<a href="#main.button">przycisku</a>)</li>
|
||||
<li><code>szer_przycisku</code>, <code>wys_przycisku</code> -rozmiar suwaka</li>
|
||||
<li><code>fazy</code> - obrazek, który ma być użyty dla różnych faz hpotencjometru.
|
||||
Specjalna wartość <code>NULL</code> może być użyta, jeżeli nie chcesz
|
||||
żadnego obrazka. Obrazek musi być podzielony w pionie na <code>liczbęfaz</code>,
|
||||
w ten sposób:
|
||||
<pre>
|
||||
+------------+
|
||||
| faza #1 |
|
||||
+------------+
|
||||
| faza #2 |
|
||||
+------------+
|
||||
...
|
||||
+------------+
|
||||
| faza #n |
|
||||
+------------+
|
||||
</pre>
|
||||
</li>
|
||||
<li><code>liczbafaz</code> - liczba faz znajdująca się w obrazku
|
||||
z <code>fazami</code>
|
||||
<li><code>domyślna</code> - domyślna wartość dla hpotencjometru (w przedziale od
|
||||
0 do 100)</li>
|
||||
<li><code>X</code>, <code>Y</code> - pozycja hpotencjometru</li>
|
||||
<li><code>szerokość</code>, <code>wysokość</code> - szerokość i wysokość
|
||||
<code>hpotnecjometru</code></li>
|
||||
<li><code>sygnał</code> - sygnał który ma być wywołany, kiedy zmienia się wartość
|
||||
<code>hpotnecjometru</code></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt><a name="main.potmeter"><b><code>potmeter = fazy, liczbafaz, domyślna, X,
|
||||
Y, szerokość, wysokość, sygnał</code></b></a></dt>
|
||||
<dd><code>Potencjometr</code> 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 <a href="#main.hpotmeter">hpotmeter</a>. <code>fazy</code> mogą mieć wartość
|
||||
<code>NULL</code>, ale jest to bezużyteczne, jeżeli nie możesz zobaczyć gdzie znajduje
|
||||
się <code>potencjometr</code>.</dd>
|
||||
|
||||
<dt><a name="main.font"><b><code>font = plikfontów, fontid</code></b></a></dt>
|
||||
<dd>Definiuje fonty. <code>fontfile</code> jest nazwą pliku opisującego fonty
|
||||
z rozszerzeniem <code>.fnt</code> <b>nie trzeba</b> tu określać rozszerzenia).
|
||||
<code>fontid</code> jest używany do odsyłania się do danego fonta (zobacz
|
||||
<a href="#main.dlabel">dlabel</a> i <a href="#main.slabel">slabel</a>).
|
||||
Możesz określić ponad 25 znaków.</dd>
|
||||
<dt><a name="main.slabel"><b><code>slabel = X, Y, fontid, "text"</code></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Umieszcza statyczną etykietę na pozycji <code>X</code>,<code>Y</code>.
|
||||
<code>text</code> jest wyświetlany używając <code>fontid</code>. Text
|
||||
jest po prostu nieprzetworzonym ciągiem znaków (zmienne <code>$x</code>
|
||||
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 <code>fontid</code>.</dd>
|
||||
|
||||
<dt><a name="main.dlabel"><b><code>dlabel = X, Y, długość, align, fontid,
|
||||
"text"</code></b></a></dt>
|
||||
<dd>Umieszcza dynamiczne etykiety na pozycji <code>X</code>,<code>Y</code>.
|
||||
Etykieta nazywana jest dynamiczną, ponieważ tekst w niej jest regularnie
|
||||
odświeżany. Maksymalna długość etykiety jest ustalona przez <code>długość</code>
|
||||
przez
|
||||
label is called dynamic because its text is refreshed periodically. The
|
||||
maximum length of the label is given by <code>length</code> (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 <code>align</code> (wyrównanie) przestrzeni.
|
||||
<code>0</code> dla wyrównania do prawej, <code>1</code> dla wyśrodkowania,
|
||||
<code>2</code> dla wyrównania do lewej.<br>
|
||||
Tekst, który ma zostać wyświetlony jest określony przez <code>text</code>:
|
||||
musi być on opisany w cudzysłowiu (ale <code>"</code> nie może być częścią
|
||||
tekstu). Etykieta jest wyświetlana używając <code>fontid</code>. Możesz
|
||||
użyć poniższych zmiennych w tekście:
|
||||
|
||||
<table align="center" border="1">
|
||||
<tr align="center"><th>Zmienna</th><th align="left">Znaczenie</th></tr>
|
||||
<tr><td align="center"><kbd>$1</kbd></td>
|
||||
<td>play time in <em>hh:mm:ss</em> format</td></tr>
|
||||
<tr><td align="center"><kbd>$2</kbd></td>
|
||||
<td>odtwarza czas w formacie <em>mmmm:ss</em></td></tr>
|
||||
<tr><td align="center"><kbd>$3</kbd></td>
|
||||
<td>odtwarza czas w formacie <em>hh</em> (godziny)</td></tr>
|
||||
<tr><td align="center"><kbd>$4</kbd></td>
|
||||
<td>odtwarza czas w formacie <em>mm</em> (minuty)</td></tr>
|
||||
<tr><td align="center"><kbd>$5</kbd></td>
|
||||
<td>odtwarza czas w formacie <em>ss</em> (sekundy)</td></tr>
|
||||
<tr><td align="center"><kbd>$6</kbd></td>
|
||||
<td>wyświetla długość filmu w formacie <em>hh:mm:ss</em> </td></tr>
|
||||
<tr><td align="center"><kbd>$7</kbd></td>
|
||||
<td>wyświetla długość filmu w formacie <em>mmmm:ss</em> </td></tr>
|
||||
<tr><td align="center"><kbd>$8</kbd></td>
|
||||
<td>odtwarza czas w formacie <em>h:mm:ss</em></td></tr>
|
||||
<tr><td align="center"><kbd>$v</kbd></td>
|
||||
<td>głośność w formacie <em>xxx.xx%</em></td></tr>
|
||||
<tr><td align="center"><kbd>$V</kbd></td>
|
||||
<td>głośność w formacie <em>xxx.x</em></td></tr>
|
||||
<tr><td align="center"><kbd>$b</kbd></td>
|
||||
<td>balans w formacie <em>xxx.xx%</em></td></tr>
|
||||
<tr><td align="center"><kbd>$B</kbd></td>
|
||||
<td>balans w formacie <em>xxx.x</em></td></tr>
|
||||
<tr><td align="center"><kbd>$$</kbd></td>
|
||||
<td>znak <kbd>$</kbd></td></tr>
|
||||
<tr><td align="center"><kbd>$a</kbd></td>
|
||||
<td>znak określający typ dźwięku (żaden: <code>n</code>,
|
||||
mono: <code>m</code>, stereo: <code>t</code>)</td></tr>
|
||||
<tr><td align="center"><kbd>$t</kbd></td>
|
||||
<td>Numer ścieżki (w playliście)</td></tr>
|
||||
<tr><td align="center"><kbd>$o</kbd></td>
|
||||
<td>>nazwa pliku</td></tr>
|
||||
<tr><td align="center"><kbd>$f</kbd></td>
|
||||
<td>nazwa pliku małymi literami</td></tr>
|
||||
<tr><td align="center"><kbd>$F</kbd></td>
|
||||
<td>nazwa pliku dużymi literami</td></tr>
|
||||
<tr><td align="center"><kbd>$T</kbd></td>
|
||||
<td>znak określający typ strumienia (plik: <code>f</code>,
|
||||
Video CD: <code>v</code>, DVD: <code>d</code>, URL: <code>u</code>)
|
||||
</td></tr>
|
||||
<tr><td align="center"><kbd>$p</kbd></td>
|
||||
<td>znak "p" (jeżeli film jest odgrywany i font ma określony symbol "p")</td></tr>
|
||||
<tr><td align="center"><kbd>$s</kbd></td>
|
||||
<td>znak "s" (jeżeli film jest zatrzymany i font ma określony symbol "s")</td></tr>
|
||||
<tr><td align="center"><kbd>$e</kbd></td>
|
||||
<td>znak "e" (jeżeli włączona jest pauza i font ma określony symbol "e")</td></tr>
|
||||
<tr><td align="center"><kbd>$x</kbd></td>
|
||||
<td>szerokość filmu</td></tr>
|
||||
<tr><td align="center"><kbd>$y</kbd></td>
|
||||
<td>wysokość filmu</td></tr>
|
||||
<tr><td align="center"><kbd>$C</kbd></td>
|
||||
<td>nazwa użytego kodeka</td></tr>
|
||||
</table>
|
||||
|
||||
<em class="note"><b>Informacja:</b> Zmienne <kbd>$a</kbd>, <kbd>$T</kbd>,
|
||||
<kbd>$p</kbd>, <kbd>$s</kbd> i <kbd>$e</kbd> mają znaki które powinny być
|
||||
wyświetlane jako znaki specjalne (np. "e" jest symbolem pauzy wyglądającym
|
||||
zazwyczaj tak <code>||</code>). Powinieneś mieć fonty dla normalnych znaków
|
||||
i osobne dla znaków specjalnych. Zobacz sekcję <a href="#symbols">symbole</a>,
|
||||
aby dowiedzieć się więcej.</em>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h3><a name="subwindow">D.2.2 Okno ekranu</a></h3>
|
||||
|
||||
<p>Poniżej możesz zobaczyć listę elementów, które mogą być użyte w bloku
|
||||
'<code>window = sub</code>' . . . '<code>end</code>'.</p>
|
||||
|
||||
<dl>
|
||||
<dt><a name="sub.base"><b><code>base = obrazek, X, Y, szerokość, wysokość</code></b>
|
||||
</a></dt>
|
||||
<dd>Obrazek który ma być wyświetlony w tym oknie. Okno pojawi się w określonej przez
|
||||
ciebie pozycji <code>X</code>,<code>Y</code> na ekranie(<code>0,0</code>
|
||||
umieszcza obrazek w lewym górnym rogu). Możesz tu użyć także następujących
|
||||
wartości: <code>-1</code> dla wyśrodkowania, <code>-2</code> dla wyrównania
|
||||
do prawej (dla wartości <code>X</code>) i do dołu (dla wartości <code>Y</code>).
|
||||
Okno to będzie rozmiarów obrazka. <code>szerokość</code> i <code>wysokość</code>
|
||||
określa rozmiar okna. Te zmienne są opcjonalne (jeżeli ich nie będzie, okno będzie
|
||||
takich samych rozmiarów jak obrazek).</dd>
|
||||
|
||||
<dt><a name="sub.background"><b><code>background = R, G, B</code></b></a></dt>
|
||||
<dd>Pozwala ci ustalić kolor tła. Jest to przydatne jeżeli obrazek jest mniejszy
|
||||
od okna. <code>R</code>, <code>G</code> i <code>B</code> określają czerwoną, zieloną
|
||||
i niebieską wartość koloru (każda z nich jest określona w przedziale od 0 do 255).</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h3><a name="skinmenu">D.2.3 Menu Skóry</a></h3>
|
||||
|
||||
<p>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 <code>base</code>,
|
||||
podczas gdy zaznaczony obszar jest brany z obrazka określonego jako
|
||||
<code>selected</code>. Musisz zdefiniować pozycję i rozmiar każdego z elementów
|
||||
menu poprzez element <code>menu</code>.</p>
|
||||
|
||||
<p>Te elementy mogą zostać wykorzystane w bloku '<code>window = menu</code>'
|
||||
. . . '<code>end</code>'.</p>
|
||||
|
||||
<dl>
|
||||
<dt><a name="menu.base"><b><code>base = obrazek</code></b></a></dt>
|
||||
<dd>Obrazek pokazujący normalny stan menu.</dd>
|
||||
|
||||
<dt><a name="menu.selected"><b><code>selected = obrazek</code></b></a></dt>
|
||||
<dd>Obrazek pokazujący zaznaczony stan menu.</dd>
|
||||
|
||||
<dt><a name="menu.menu"><b><code>menu = X, Y, szerokość, wysokość, sygnał</code>
|
||||
</b></a></dt>
|
||||
<dd>Definiuje pozycję <code>X,Y</code> i rozmiar poszczególnych elementów menu
|
||||
w obrazku. <code>sygnał</code> jest sygnałem, który ma być uaktywniony, kiedy
|
||||
klikniesz tą pozycję.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2><a name="fonts">D.3 Fonty</a></h2>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>Plik opisujący fonty (z rozszerzeniem <code>.fnt</code>) może mieć linie komentarza
|
||||
rozpoczęte średnikiem '<code>;</code>'. Plik musi mieć tę linie w formacie:</p>
|
||||
|
||||
<dl>
|
||||
<dt><a name="font.image"><b><code>image = obrazek</code></b></a></dt>
|
||||
<dd>gdzie <code>obrazek</code> jest nazwą pliku w którym znajdują się fonty (nie
|
||||
musisz podawać rozszerzenia).</dd>
|
||||
|
||||
<dt><a name="font.char"><b><code>"znak" = X, Y, szerokość, wysokość</code></b>
|
||||
</a></dt>
|
||||
<dd>Tutaj <code>X</code> i <code>Y</code> określają pozycję <code>znaku</code>
|
||||
w obrazku (<code>0,0</code> to lewy górny róg). <code>szerokość</code>
|
||||
i <code>wysokość</code> wymiary znaku w pikselach.</dd>
|
||||
</dl>
|
||||
|
||||
<p>Poniżej możesz zobaczyć przykład definiujący znaki A, B, C znajdujące
|
||||
się w pliku <code>font.png</code>:</p>
|
||||
|
||||
<table width="100%" border="1">
|
||||
<tr bgcolor="silver">
|
||||
<td>
|
||||
<pre>
|
||||
; 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
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<h3><a name="symbols">D.3.1 Symbole</a></h3>
|
||||
|
||||
<p>Niektóre znaki mają specjalne znaczenia kiedy są zmiennymi używanymi w
|
||||
<a href="#main.dlabel">dlabel</a>. 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'.</p>
|
||||
|
||||
<p>Poniższa tabelka zawiera wszystkie znaki, które mogą być wykorzystane
|
||||
do wyświetlania symboli (i wymagają one osobnych fontów).</p>
|
||||
|
||||
<table align="center" border="1">
|
||||
<tr><th align="center">Znak</th><th align="left">Symbol</th></tr>
|
||||
<tr><td align="center"><kbd>p</kbd></td>
|
||||
<td align=left>odtwarzanie</td></tr>
|
||||
<tr><td align="center"><kbd>s</kbd></td>
|
||||
<td align=left>stop</td></tr>
|
||||
<tr><td align="center"><kbd>e</kbd></td>
|
||||
<td align=left>pauza</td></tr>
|
||||
<tr><td align="center"><kbd>n</kbd></td>
|
||||
<td align=left>bez dźwięku</td></tr>
|
||||
<tr><td align="center"><kbd>m</kbd></td>
|
||||
<td align=left>dźwięk mono</td></tr>
|
||||
<tr><td align="center"><kbd>t</kbd></td>
|
||||
<td align=left>dźwięk stereo</td></tr>
|
||||
<tr><td align="center"><kbd>f</kbd></td>
|
||||
<td align=left>strumień jest plikiem</td></tr>
|
||||
<tr><td align="center"><kbd>v</kbd></td>
|
||||
<td align=left>strumień to VideoCD</td></tr>
|
||||
<tr><td align="center"><kbd>d</kbd></td>
|
||||
<td align=left>strumień to DVD</td></tr>
|
||||
<tr><td align="center"><kbd>u</kbd></td>
|
||||
<td align="left">strumień to URL</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
<h2><a name="guimessages">D.4 Sygnały GUI</a></h2>
|
||||
|
||||
<p>Tutaj znajdują się sygnały które mogą zostać wywołane przez przyciski,
|
||||
potencjometry i elementy menu.</p>
|
||||
|
||||
<p><em class="note"><b>Informacja:</b> 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.</em></p>
|
||||
|
||||
|
||||
<h3>Opcje odgrywania:</h3>
|
||||
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evNext</b></dt>
|
||||
<dd>Przeskakuje do następnej ścieżki z playlisty.</dd>
|
||||
|
||||
<dt><b>evPause</b></dt>
|
||||
<dd>Wstrzymuje odgrywanie.</dd>
|
||||
|
||||
<dt><b>evPauseSwitchToPlay</b></dt>
|
||||
<dd>Przełącza między sobą użuwając <code>evPlaySwitchToPause</code>.
|
||||
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
|
||||
przycisku <code>evPlaySwitchToPause</code> (aby zaznaczyć, że ten przycisk
|
||||
może być wciśnięty, aby kontynuować odgrywanie).</dd>
|
||||
|
||||
<dt><b>evPlay</b></dt>
|
||||
<dd>Rozpoczyna odgrywanie.</dd>
|
||||
|
||||
<dt><b>evPlaySwitchToPause</b></dt>
|
||||
<dd>Przeciwieństwo <code>evPauseSwitchToPlay</code>. Ten sygnał rozpoczyna
|
||||
odgrywanie i wyświetlany jest obrazek dla przycisku <code>evPauseSwitchToPlay</code>
|
||||
(aby zaznaczyć, że ten przycisk może być wciśnięty, aby wstrzymać odgrywanie).</dd>
|
||||
|
||||
<dt><b>evPrev</b></dt>
|
||||
<dd>Przeskakuje do poprzedniej ścieżki z playlisty.</dd>
|
||||
|
||||
<dt><b>evStop</b></dt>
|
||||
<dd>Zatrzymuje odgrywanie.</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<h3>Przeszukiwanie:</h3>
|
||||
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evBackward10sec</b></dt>
|
||||
<dt><b>evBackward1min</b></dt>
|
||||
<dt><b>evBackward10min</b></dt>
|
||||
<dd>Przeskakuje w tył o 10 sekund / 1 minutę / 10 minut.</dd>
|
||||
|
||||
<dt><b>evForward10sec</b></dt>
|
||||
<dt><b>evForward1min</b></dt>
|
||||
<dt><b>evForward10min</b></dt>
|
||||
<dd>Przeskakuje w przód o 10 sekund / 1 minutę / 10 minut.</dd>
|
||||
|
||||
<dt><b>evSetMoviePosition</b></dt>
|
||||
<dd>Ustawia pozycję (może być zmieniane za pomocą suwaka; wykorzystywane są
|
||||
relatywne (0-100%) wartości potencjometru).</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<h3>Kontrola obrazu:</h3>
|
||||
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evDoubleSize</b></dt>
|
||||
<dd>Ustawia podwójny rozmiar okna z filmem.</dd>
|
||||
|
||||
<dt><b>evFullScreen</b></dt>
|
||||
<dd>Włącza/wyłącza tryb pełnoekranowy.</dd>
|
||||
|
||||
<dt><b>evNormalSize</b></dt>
|
||||
<dd>Ustawia oryginalny rozmiar okna z filmem.</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<h3>Kontrola Dźwięku:</h3>
|
||||
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evDecAudioBufDelay</b></dt>
|
||||
<dd>Zmniejsza opóźnienie buffera dźwięku.</dd>
|
||||
|
||||
<dt><b>evDecBalance</b></dt>
|
||||
<dd>Zmniejsza balans.</dd>
|
||||
|
||||
<dt><b>evDecVolume</b></dt>
|
||||
<dd>Zmniejsza głośność.</dd>
|
||||
|
||||
<dt><b>evIncAudioBufDelay</b></dt>
|
||||
<dd>Zmniejsza opóźnienie buffera dźwięku.</dd>
|
||||
|
||||
<dt><b>evIncBalance</b></dt>
|
||||
<dd>Zwiększa balans.</dd>
|
||||
|
||||
<dt><b>evIncVolume</b></dt>
|
||||
<dd>Zwiększa głośność.</dd>
|
||||
|
||||
<dt><b>evMute</b></dt>
|
||||
<dd>Wycisz/włącz dźwięk.</dd>
|
||||
|
||||
<dt><b>evSetBalance</b></dt>
|
||||
<dd>Ustawia balans (może być używane przez suwak; wykorzystywane są relatywne
|
||||
(0-100%) wartości potencjometru).</dd>
|
||||
|
||||
<dt><b>evSetVolume</b></dt>
|
||||
<dd>Ustawia głośność (może być używane przez suwak; wykorzystywane są relatywne
|
||||
(0-100%) wartości potencjometru).</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<h3>Różne:</h3>
|
||||
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evAbout</b></dt>
|
||||
<dd>Otwiera okno "o programie".</dd>
|
||||
|
||||
<dt><b>evDropSubtitle</b></dt>
|
||||
<dd>Wyłącza aktualnie używane napisy.</dd>
|
||||
|
||||
<dt><b>evEqualizer</b></dt>
|
||||
<dd>Włącza/wyłącza equalizer.</dd>
|
||||
|
||||
<dt><b>evExit</b></dt>
|
||||
<dd>Zamyka program.</dd>
|
||||
|
||||
<dt><b>evIconify</b></dt>
|
||||
<dd>Minimalizuje okno.</dd>
|
||||
|
||||
<dt><b>evLoad</b></dt>
|
||||
<dd>Wczytuje plik (poprzez otwarcie przeglądarki plików, w której możesz wybrać
|
||||
plik).</dd>
|
||||
|
||||
<dt><b>evLoadPlay</b></dt>
|
||||
<dd>Robi dokładnie to samo co <code>evLoad</code> z tym, że po wczytaniu pliku
|
||||
automatycznie rozpoczyna jego odtwarzanie.</dd>
|
||||
|
||||
<dt><b>evLoadSubtitle</b></dt>
|
||||
<dd>Wczytuje plik napisów (poprzez otwarcie przeglądarki plików)</dd>
|
||||
|
||||
<dt><b>evLoadAudioFile</b></dt>
|
||||
<dd>Wczytuje plik z dźwiękiem (poprzez otwarcie przeglądarki plików)</dd>
|
||||
|
||||
<dt><b>evNone</b></dt>
|
||||
<dd>Pusty sygnał, nic nie robi. (No może nie dotyczy to wersji CVS :-)).</dd>
|
||||
|
||||
<dt><b>evPlayList</b></dt>
|
||||
<dd>Otwiera/zamyka okno playlisty.</dd>
|
||||
|
||||
<dt><b>evPlayDVD</b></dt>
|
||||
<dd>Próbuje otworzyć dysk z podanej stacji DVD-ROM.</dd>
|
||||
|
||||
<dt><b>evPlayVCD</b></dt>
|
||||
<dd>Próbuje otworzyć dysk z podanej stacji CD-ROM.</dd>
|
||||
|
||||
<dt><b>evPreferences</b></dt>
|
||||
<dd>Otwiera okno preferencji.</dd>
|
||||
|
||||
<dt><b>evSetAspect</b></dt>
|
||||
<dd>Ustawia stosunek obrazu (aspekt).</dd>
|
||||
|
||||
<dt><b>evSetURL</b></dt>
|
||||
<dd>Wyświetla okno dialogowe, gdzie podaje się URL.</dd>
|
||||
|
||||
<dt><b>evSkinBrowser</b></dt>
|
||||
<dd>Otwiera okno z przeglądarką skórek.</dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,848 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Sound - MPlayer - Odtwarzacz filmów</TITLE>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
|
||||
<H3><A NAME="audio">2.3.2 Urz±dzenia wyj¶cia: d¼wiêk</A></H3>
|
||||
|
||||
<H4><A NAME="sync">2.3.2.1 Synchronizacja audio/video</A></H4>
|
||||
|
||||
<P>Interfejs do d¼wiêku w MPlayerze nazywa siê <I>libao2</I>. Aktualnie
|
||||
zawiera nastêpuj±ce sterowniki:</P>
|
||||
|
||||
<DL>
|
||||
<DT>oss</DT>
|
||||
<DD>sterownik OSS (ioctl) (obs³uguje sprzêtowe AC3)</DD>
|
||||
|
||||
<DT>sdl</DT>
|
||||
<DD>sterownik SDL (obs³uguje demony d¼wiêku takie jak <B>ESD</B> i <B>ARTS</B>)</DD>
|
||||
|
||||
<DT>nas</DT>
|
||||
<DD>sterownik NAS (Network Audio System)</DD>
|
||||
|
||||
<DT>alsa5</DT>
|
||||
<DD>natywny sterownik ALSA 0.5</DD>
|
||||
|
||||
<DT>alsa9</DT>
|
||||
<DD>natywny sterownik ALSA 0.9 (obs³uguje sprzêtowe AC3)</DD>
|
||||
|
||||
<DT>sun</DT>
|
||||
<DD>sterownik d¼wiêku SUN (<CODE>/dev/audio</CODE>) dla u¿ytkowników BSD i Solaris8</DD>
|
||||
|
||||
<DT>arts</DT>
|
||||
<DD>natywny sterownik ARTS (g³ównie dla u¿ytkowników KDE)</DD>
|
||||
|
||||
<DT>esd</DT>
|
||||
<DD>natywny sterownik ESD (g³ównie dla u¿ytkowników GNOME)</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
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 <EM>prawid³owo</EM>
|
||||
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. </P>
|
||||
|
||||
<P>Inne odgrywarki multimedialne jak <A HREF="http://avifile.sourceforge.net">aviplay</A>
|
||||
czy <A HREF="http://xine.sourceforge.net">xine</A> 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.</P>
|
||||
|
||||
<P>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æ).</P>
|
||||
|
||||
<P>Je¶li jeste¶ zmuszony u¿ywaæ z³ego sterownika, spróbuj opcji <CODE>-autosync</CODE>
|
||||
powinna ona rozwi±zaæ Twoje problemy. Zajrzyj do manuala po dok³adniejsze informacje.</P>
|
||||
|
||||
<P>Informacje:</P>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
Je¶li u¿ywasz sterownika OSS, najpierw spróbuj opcji <CODE>-ao oss</CODE>
|
||||
(to jest ustawienie standardowe). Je¶li napotkasz problemy, trzaski, wstrzymania d¼wiêku
|
||||
lub cokolwiek niespotykanego, spróbuj <CODE>-ao sdl</CODE> (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).</LI>
|
||||
<LI>
|
||||
Je¶li u¿ywasz ALSA w wersji 0.5, to niemal zawsze musisz u¿ywaæ <CODE>-ao alsa5</CODE> , gdy¿
|
||||
ALSA 0.5 ma b³êdn± emulacjê OSS, i potrafi <B>wywróciæ MPlayera</B> z komunikatem takim jak ten:
|
||||
<CODE>DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</CODE></LI>
|
||||
<LI>Pod Solarisem, u¿yj sterownika d¼wiêku SUN, u¿ywaj±c opcji <CODE>-ao sun</CODE>,
|
||||
inaczej ani obraz ani d¼wiêk nie bêdzie dzia³a³.</LI>
|
||||
<LI>Je¶li d¼wiêk klika w czasie grania z CD-ROMu, w³±cz 'IRQ unmasking', na przyk³ad:
|
||||
<CODE>hdparm -u1 /dev/cdrom</CODE> (<CODE>man hdparm</CODE>).
|
||||
Ta opcja generalnie pomaga, i jest dok³adniej opisana w <A HREF="cd-dvd.html#drives">sekcji o CD-ROM</A>.</LI>
|
||||
</UL>
|
||||
|
||||
|
||||
<H4><A NAME="experiences">2.3.2.2 Do¶wiadczenia z kartami d¼wiêkowymi, zalecenia</A></H4>
|
||||
|
||||
<P>Na Linuxie zalecane jest j±dro 2.4.x. J±dro 2.2 nie by³o testowane.</P>
|
||||
|
||||
<P>Linux sound drivers are primarily provided by the free version of OSS. These
|
||||
drivers have been superceded by <A HREF="http://www.alsa-project.org">ALSA</A>
|
||||
(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
|
||||
<A HREF="http://www.opensound.com/">4Front Technologies</A>. They also support
|
||||
several non-Linux systems.</P>
|
||||
|
||||
<TABLE BORDER="1" WIDTH="100%">
|
||||
|
||||
<TR>
|
||||
<TH ROWSPAN="2"><B>SOUND CARD</B></TH>
|
||||
<TH COLSPAN="4"><B>DRIVER</B></TH>
|
||||
<TH ROWSPAN="2"><B>Max kHz</B></TH>
|
||||
<TH ROWSPAN="2"><B>Max Channels</B></TH>
|
||||
<TH ROWSPAN="2"><B>Max Opens<FONT SIZE="-2"><A HREF=#note1>[1]</A></FONT></B></TH>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TH><B>OSS/Free</B></TH>
|
||||
<TH><B>ALSA</B></TH>
|
||||
<TH><B>OSS/Pro</B></TH>
|
||||
<TH><B>other</B></TH>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>VIA onboard (686/A/B, 8233, 8235)</B></TD>
|
||||
<TD><A HREF="http://sourceforge.net/project/showfiles.php?group_id=3242&release_id=59602">via82cxxx_audio</A></TD>
|
||||
<TD>snd-via82xx</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
<TD>4-48 kHz or 48 kHz only, depending on the chipset</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>Aureal Vortex 2</B></TD>
|
||||
<TD>none</TD>
|
||||
<TD>none</TD>
|
||||
<TD>OK</TD>
|
||||
<TD><A HREF="http://aureal.sourceforge.net">Linux Aureal Drivers</A><BR>
|
||||
<A HREF="http://makacs.poliod.hu/~pontscho/aureal/au88xx-1.1.3.tar.bz2">buffer size increased to 32k</A></TD>
|
||||
<TD>48</TD>
|
||||
<TD>4.1</TD>
|
||||
<TD>5+</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>SB Live!</B></TD>
|
||||
<TD>Analog OK, SP/DIF not working</TD>
|
||||
<TD>Both OK</TD>
|
||||
<TD>Both OK</TD>
|
||||
<TD><A HREF="http://opensource.creative.com">Creative's OSS driver (SP/DIF support)</A></TD>
|
||||
<TD>192</TD>
|
||||
<TD>4.0/5.1</TD>
|
||||
<TD>32</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>SB 128 PCI (es1371)</B></TD>
|
||||
<TD>OK</TD>
|
||||
<TD>?</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
<TD>48</TD>
|
||||
<TD>stereo</TD>
|
||||
<TD>2</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>SB AWE 64</B></TD>
|
||||
<TD>max 44kHz</TD>
|
||||
<TD>48kHz sounds bad</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
<TD>48</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>GUS PnP</B></TD>
|
||||
<TD>none</TD>
|
||||
<TD>OK</TD>
|
||||
<TD>OK</TD>
|
||||
<TD> </TD>
|
||||
<TD>48</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>Gravis UltraSound ACE</B></TD>
|
||||
<TD>not OK</TD>
|
||||
<TD>OK</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
<TD>44</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>Gravis UltraSound MAX</B></TD>
|
||||
<TD>OK</TD>
|
||||
<TD>OK (?)</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
<TD>48</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>ESS 688</B></TD>
|
||||
<TD>OK</TD>
|
||||
<TD>OK (?)</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
<TD>48</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>C-Media cards (which ones?)</B></TD>
|
||||
<TD>not OK (hissing) (?)</TD>
|
||||
<TD>OK</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
<TD>?</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>Yamaha cards (*ymf*)</B></TD>
|
||||
<TD>not OK (?) (maybe <CODE>-ao sdl</CODE>)</TD>
|
||||
<TD>OK only with ALSA 0.5 with OSS emulation <B>AND</B>
|
||||
<CODE>-ao sdl</CODE> (!) (?)</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
<TD>?</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>Cards with envy24 chips (like Terratec EWS88MT)</B></TD>
|
||||
<TD>?</TD>
|
||||
<TD>?</TD>
|
||||
<TD>OK</TD>
|
||||
<TD> </TD>
|
||||
<TD>?</TD>
|
||||
<TD> </TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD><B>PC Speaker or DAC</B></TD>
|
||||
<TD>OK</TD>
|
||||
<TD>none</TD>
|
||||
<TD> </TD>
|
||||
<TD><A HREF="http://www.geocities.com/stssppnn/pcsp.html">Linux PC speaker OSS driver</a></TD>
|
||||
<TD>The driver emulates 44.1, maybe more.</TD>
|
||||
<TD>mono</TD>
|
||||
<TD>1</TD>
|
||||
</TR>
|
||||
|
||||
</TABLE>
|
||||
|
||||
<P><A NAME="note1"><B>[1]</B></A>: the number of applications that are able to use the
|
||||
device <I>at the same time</I>.</P>
|
||||
|
||||
<P>Feedback to this document is welcome. Please tell us how MPlayer
|
||||
and your sound card(s) worked together.</P>
|
||||
|
||||
|
||||
<H4><A NAME="af">2.3.2.3 Audio filters</A></H4>
|
||||
|
||||
<P>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 <CODE>-af filter1,filter2,...</CODE>
|
||||
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.</P>
|
||||
|
||||
<P>Example:<BR>
|
||||
<CODE>mplayer -af resample,pan movie.avi </CODE></P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>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:</P>
|
||||
|
||||
<P> <CODE>mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1
|
||||
-srate 11025 media.avi</CODE></P>
|
||||
|
||||
<P>would set the output frequency of the resample filter to 11025Hz and downmix
|
||||
the audio to 1 channel using the pan filter.</P>
|
||||
|
||||
<P>The overall execution of the filter layer is controlled using the
|
||||
<CODE>-af-adv</CODE> option. This option has two suboptions:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>force</CODE><DT>
|
||||
<DD>is a Bit field that controls how the filters are inserted and what
|
||||
speed/accuracy optimizations they use:
|
||||
<DL>
|
||||
<DT><CODE>0</CODE></DT>
|
||||
<DD>Use automatic insertion of filters and optimize according to CPU
|
||||
speed.</DD>
|
||||
<DT><CODE>1</CODE></DT>
|
||||
<DD>Use automatic insertion of filters and optimize for the highest
|
||||
speed.<BR>
|
||||
<EM>Warning:</EM> Some features in the audio filters may silently fail,
|
||||
and the sound quality may drop.</DD>
|
||||
<DT><CODE>2</CODE></DT>
|
||||
<DD>Use automatic insertion of filters and optimize for quality.</DD>
|
||||
<DT><CODE>3</CODE></DT>
|
||||
<DD>Use no automatic insertion of filters and no optimization.<BR>
|
||||
<I>Warning:</I> It may be possible to crash MPlayer using this
|
||||
setting.</DD>
|
||||
<DT><CODE>4</CODE></DT>
|
||||
<DD>Use automatic insertion of filters according to 0 above, but use
|
||||
floating point processing when possible.</DD>
|
||||
<DT><CODE>5</CODE></DT>
|
||||
<DD>Use automatic insertion of filters according to 1 above, but use
|
||||
floating point processing when possible.</DD>
|
||||
<DT><CODE>6</CODE></DT>
|
||||
<DD>Use automatic insertion of filters according to 2 above, but use
|
||||
floating point processing when possible.</DD>
|
||||
<DT><CODE>7</CODE></DT>
|
||||
<DD>Use no automatic insertion of filters according to 3 above, and use
|
||||
floating point processing when possible.</DD>
|
||||
</DL>
|
||||
</DD>
|
||||
|
||||
<DT><CODE>list</CODE></DT>
|
||||
<DD>is an alias for the -af option.</DD>
|
||||
</DL>
|
||||
|
||||
<P>The filter layer is also affected by the following generic options:
|
||||
|
||||
<DL>
|
||||
<DT><CODE>-v</CODE></DT>
|
||||
<DD>Increases the verbosity level and makes most filters print out extra
|
||||
status messages.</DD>
|
||||
<DT><CODE>-channels</CODE></DT>
|
||||
<DD>This option sets the number of output channels you would like your
|
||||
sound card to use.
|
||||
It also affects the number of channels that are being decoded from the
|
||||
media. If the media contains less channels than requested the channels
|
||||
filter (see below) will automatically be inserted. The routing will be the
|
||||
default routing for the channels filter.</DD>
|
||||
<DT><CODE>-srate</CODE></DT>
|
||||
<DD>This option selects the sample rate you would like your sound card to
|
||||
use (of course the cards have limits on this). If the sample
|
||||
frequency of your sound card is different from that of the current media,
|
||||
the resample filter (see below) will be inserted into the audio filter layer
|
||||
to compensate for the difference.</DD>
|
||||
<DT><CODE>-format</CODE><DT>
|
||||
<DD>This option sets the sample format between the audio filter layer and the sound
|
||||
card. If the requested sample format of your sound card is different from
|
||||
that of the current media, a format filter (see below) will be inserted to
|
||||
rectify the difference.</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
<H4><A NAME="af_resample">2.3.2.3.1 Up/Down-sampling</A></H4>
|
||||
|
||||
<P>MPlayer fully supports sound up/down-sampling through the
|
||||
<CODE>resample</CODE> 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:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>srate <8000-192000></CODE></DT>
|
||||
<DD>is an integer used for setting the output sample
|
||||
frequency in Hz. The valid range for this parameter is 8kHz to 192kHz. If
|
||||
the input and output sample frequency are the same or if this parameter is
|
||||
omitted the filter is automatically unloaded. A high sample frequency
|
||||
normally improves the audio quality, especially when used in combination
|
||||
with other filters.</DD>
|
||||
|
||||
<DT><CODE>sloppy</CODE></DT>
|
||||
<DD>is an optional binary parameter that allows the output frequency to differ
|
||||
slightly from the frequency given by <CODE>srate</CODE>. This option can be
|
||||
used if the startup of the playback is extremely slow. It is enabled by
|
||||
default.</DD>
|
||||
|
||||
<DT><CODE>type <0-2></CODE><DT>
|
||||
<DD>is an optional integer between <CODE>0</CODE> and <CODE>2</CODE> that
|
||||
selects which resampling method to use. Here <CODE>0</CODE> represents
|
||||
linear interpolation as resampling method, <CODE>1</CODE> represents
|
||||
resampling using a poly-phase filter-bank and integer processing and
|
||||
<CODE>2</CODE> 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 <CODE>2</CODE> but this method also suffers from
|
||||
the highest CPU load.</DD>
|
||||
</DL>
|
||||
|
||||
<P>Example:<BR>
|
||||
<CODE>mplayer -af resample=44100:0:0</CODE></P>
|
||||
|
||||
<P>would set the output frequency of the resample filter to 44100Hz using exact
|
||||
output frequency scaling and linear interpolation.</P>
|
||||
|
||||
|
||||
<H4><A NAME="af_channels">2.3.2.3.2 Changing the number of channels</A></H4>
|
||||
|
||||
<P>The <CODE>channels</CODE> 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:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>nch <1-6></CODE></DT>
|
||||
<DD>is an integer between <CODE>1</CODE> and <CODE>6</CODE> that is used for
|
||||
setting the number of output channels. This option is required, leaving it
|
||||
empty results in a runtime error.</DD>
|
||||
|
||||
<DT><CODE>nr <1-6></CODE></DT>
|
||||
<DD>is an integer between <CODE>1</CODE> and <CODE>6</CODE> that is used for
|
||||
specifying the number of routes. This parameter is optional. If it is
|
||||
omitted the default routing is used.</DD>
|
||||
|
||||
<DT><CODE>from1:to1:from2:to2:from3:to3...</CODE></DT>
|
||||
<DD>are pairs of numbers between <CODE>0</CODE> and <CODE>5</CODE> that define
|
||||
where each channel should be routed.</DD>
|
||||
</DL>
|
||||
|
||||
<P>If only <CODE>nch</CODE> 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.</P>
|
||||
|
||||
<P>Example 1:<BR>
|
||||
<CODE>mplayer -af channels=4:4:0:1:1:0:2:2:3:3 media.avi </CODE></P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Example 2:<BR>
|
||||
<CODE>mplayer -af channels=6:4:0:0:0:1:0:2:0:3 media.avi </CODE></P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="af_format">2.3.2.3.3 Sample format converter</A></H4>
|
||||
|
||||
<P>The <CODE>format</CODE> filter converts between different sample formats. It
|
||||
is automatically enabled when needed by the sound card or another filter.</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>bps <number></CODE></DT>
|
||||
<DD>can be <CODE>1</CODE>, <CODE>2</CODE> or <CODE>4</CODE> and denotes the
|
||||
number of bytes per sample. This option is required, leaving it empty
|
||||
results in a runtime error.</DD>
|
||||
|
||||
<DT><CODE>f <format></CODE></DT>
|
||||
<DD>is a text string describing the sample format. The string is a
|
||||
concatenated mix of: <CODE>alaw</CODE>, <CODE>mulaw</CODE> or
|
||||
<CODE>imaadpcm</CODE>, <CODE>float</CODE> or <CODE>int</CODE>,
|
||||
<CODE>unsigned</CODE> or <CODE>signed</CODE>, <CODE>le</CODE> or
|
||||
<CODE>be</CODE> (little or big endian). This option is required, leaving it
|
||||
empty results in a runtime error.</DD>
|
||||
</DL>
|
||||
|
||||
<P>Example:<BR>
|
||||
<CODE>mplayer -af format=4:float media.avi</CODE></P>
|
||||
|
||||
<P>would set the output format to 4 bytes per sample floating point
|
||||
data.</P>
|
||||
|
||||
|
||||
<H4><A NAME="af_delay">2.3.2.3.4 Delay</A></H4>
|
||||
|
||||
<P>The <CODE>delay</CODE> 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:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>d1:d2:d3...</CODE></DT>
|
||||
<DD>are floating point numbers representing the delays in ms that should be
|
||||
imposed on the different channels. The minimum delay is 0ms and the maximum
|
||||
is 1000ms.</DD>
|
||||
</DL>
|
||||
|
||||
<P>To calculate the required delay for the different channels do as follows:</P>
|
||||
|
||||
<OL>
|
||||
<LI>Measure the distance to the loudspeakers in meters in relation to your
|
||||
listening position, giving you the distances s1 to s5 (for a 5.1 system).
|
||||
There is no point in compensating for the sub-woofer (you will not hear the
|
||||
difference anyway).</LI>
|
||||
<LI>Subtract the distances s1 to s5 from the maximum distance i.e.<BR>
|
||||
s[i] = max(s) - s[i]; i = 1...5</LI>
|
||||
<LI>Calculated the required delays in ms as<BR>
|
||||
d[i] = 1000*s[i]/342; i = 1...5 </LI>
|
||||
</OL>
|
||||
|
||||
<P>Example:<BR>
|
||||
<CODE>mplayer -af delay=10.5:10.5:0:0:7:0 media.avi</CODE></P>
|
||||
|
||||
<P>would delay front left and right by 10.5ms, the two rear channels and the sub
|
||||
by 0ms and the center channel by 7ms.</P>
|
||||
|
||||
|
||||
<H4><A NAME="af_volume">2.3.2.3.5 Software volume control</A></H4>
|
||||
|
||||
<P>Software volume control is implemented by the <CODE>volume</CODE> 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:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>v <-200 - +60></CODE></DT>
|
||||
<DD>is a floating point number between <CODE>-200</CODE> and <CODE>+60</CODE>
|
||||
which represents the volume level in dB. The default level is 0dB.</DD>
|
||||
|
||||
<DT><CODE>c</CODE></DT>
|
||||
<DD>is a binary control that turns soft clipping on and off. Soft-clipping can
|
||||
make the sound more smooth if very high volume levels are used. Enable this
|
||||
option if the dynamic range of the loudspeakers is very low. Be aware that
|
||||
this feature creates distortion and should be considered a last resort.</DD>
|
||||
</DL>
|
||||
|
||||
<P>Example:<BR>
|
||||
<CODE>mplayer -af volume=10.1:0 media.avi</CODE></P>
|
||||
|
||||
<P>would amplify the sound by 10.1dB and hard-clip if the sound level is too
|
||||
high.</P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="af_equalizer">2.3.2.3.6 Equalizer</A></H4>
|
||||
|
||||
<P>The <CODE>equalizer</CODE> 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:</P>
|
||||
|
||||
<TABLE BORDER="0" WIDTH="100%">
|
||||
<TR><TD>Band No.</TD><TD>Center frequency</TD></TR>
|
||||
<TR><TD>0</TD><TD>31.25 Hz</TD></TR>
|
||||
<TR><TD>1</TD><TD>62.50 Hz</TD></TR>
|
||||
<TR><TD>2</TD><TD>125.0 Hz</TD></TR>
|
||||
<TR><TD>3</TD><TD>250.0 Hz</TD></TR>
|
||||
<TR><TD>4</TD><TD>500.0 Hz</TD></TR>
|
||||
<TR><TD>5</TD><TD>1.000 kHz</TD></TR>
|
||||
<TR><TD>6</TD><TD>2.000 kHz</TD></TR>
|
||||
<TR><TD>7</TD><TD>4.000 kHz</TD></TR>
|
||||
<TR><TD>8</TD><TD>8.000 kHz</TD></TR>
|
||||
<TR><TD>9</TD><TD>16.00 kHz</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
<P>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. </P>
|
||||
|
||||
<P>This filter has 10 parameters:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>g1:g2:g3...g10</CODE></DT>
|
||||
<DD>are floating point numbers between <CODE>-12</CODE> and <CODE>+12</CODE>
|
||||
representing the gain in dB for each frequency band.</DD>
|
||||
</DL>
|
||||
|
||||
<P>Example:<BR>
|
||||
<CODE>mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi</CODE></P>
|
||||
|
||||
<P>would amplify the sound in the upper and lower frequency region while
|
||||
canceling it almost completely around 1kHz.</P>
|
||||
|
||||
|
||||
<H4><A NAME="af_panning">2.3.2.3.7 Panning filter</A></H4>
|
||||
|
||||
<P>Use the <CODE>pan</CODE> 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:</P>
|
||||
|
||||
<OL>
|
||||
<LI>Down-mixing many channels to only a few, stereo to mono for example.</LI>
|
||||
<LI>Varying the "width" of the center speaker in a surround sound system.</LI>
|
||||
</OL>
|
||||
|
||||
<P>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:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>nch <1-6></CODE></DT>
|
||||
<DD>is an integer between <CODE>1</CODE> and <CODE>6</CODE> and is used for
|
||||
setting the number of output channels. This option is required, leaving it
|
||||
empty results in a runtime error.</DD>
|
||||
|
||||
<DT><CODE>l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...</CODE></DT>
|
||||
<DD>are floating point values between <CODE>0</CODE> and <CODE>1</CODE>.
|
||||
<CODE>l[i][j]</CODE> determines how much of input channel j is mixed into
|
||||
output channel i.</DD>
|
||||
</DL>
|
||||
|
||||
<P>Example 1:<BR>
|
||||
<CODE>mplayer -af pan=1:0.5:0.5 -channels 1 media.avi</CODE></P>
|
||||
|
||||
<P>would down-mix from stereo to mono.</P>
|
||||
|
||||
<P>Example 2:<BR>
|
||||
<CODE>mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 media.avi</CODE></P>
|
||||
|
||||
<P>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).</P>
|
||||
|
||||
|
||||
<H4><A NAME="af_sub">2.3.2.3.8 Sub-woofer</A></H4>
|
||||
|
||||
<P>The <CODE>sub</CODE> 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:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>fc <20-300></CODE></DT>
|
||||
<DD>is an optional floating point number used for setting the cutoff frequency
|
||||
for the filter in Hz. The valid range is 20Hz to 300Hz. For the best result
|
||||
try setting the cutoff frequency as low as possible. This will improve the
|
||||
stereo or surround sound experience. The default cutoff frequency is
|
||||
60Hz.</DD>
|
||||
|
||||
<DT><CODE>ch <0-5></CODE></DT>
|
||||
<DD>is an optional integer between <CODE>0</CODE> and <CODE>5</CODE> which
|
||||
determines the channel number in which to insert the sub-channel audio.
|
||||
The default is channel number <CODE>5</CODE>. Observe that the number of
|
||||
channels will automatically be increased to <CODE>ch</CODE> if
|
||||
necessary.</DD>
|
||||
</DL>
|
||||
|
||||
<P>Example:<BR>
|
||||
<CODE>mplayer -af sub=100:4 -channels 5 media.avi</CODE></P>
|
||||
|
||||
<P>would add a sub-woofer channel with a cutoff frequency of 100Hz to output
|
||||
channel 4.</P>
|
||||
|
||||
<H4><A NAME="af_surround">2.3.2.3.9 Surround-sound decoder</A></H4>
|
||||
|
||||
<P>Matrix encoded surround sound can be decoded by the <CODE>surround</CODE>
|
||||
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:</P>
|
||||
|
||||
<DL>
|
||||
<DT><CODE>d <0-1000></CODE></DT>
|
||||
<DD>is an optional floating point number between <CODE>0</CODE> and
|
||||
<CODE>1000</CODE> 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 <CODE>d</CODE>
|
||||
should be set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2.
|
||||
The default value for <CODE>d</CODE> is 20ms.</DD>
|
||||
</DL>
|
||||
|
||||
<P>Example:<BR>
|
||||
<CODE>mplayer -af surround=15 -channels 4 media.avi</CODE></P>
|
||||
|
||||
<P>would add surround sound decoding with 15ms delay for the sound to the rear
|
||||
speakers.</P>
|
||||
|
||||
|
||||
<H4><A NAME="plugins">2.3.2.4 Audio plugins (deprecated)</A></H4>
|
||||
|
||||
<H2><STRONG>Note: Audio plugins have been deprecated by audio filters and will be
|
||||
removed soon.</STRONG></H2>
|
||||
|
||||
<P>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 <CODE>-aop</CODE> option which takes a
|
||||
<CODE>list=plugin1,plugin2,...</CODE> argument. The <CODE>list</CODE> argument
|
||||
is required and determines which plugins should be used and in which order they
|
||||
should be executed. Example:</P>
|
||||
|
||||
<P> <CODE>mplayer media.avi -aop list=resample,format</CODE></P>
|
||||
|
||||
<P>would run the sound through the resampling plugin followed by the format
|
||||
plugin.</P>
|
||||
|
||||
<P>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:</P>
|
||||
|
||||
<P> <CODE>mplayer media.avi -aop
|
||||
list=resample,format:fout=44100:format=0x8</CODE></P>
|
||||
|
||||
<P>would set the output frequency of the resample plugin to 44100Hz and the
|
||||
output format of the format plugin to AFMT_U8.</P>
|
||||
|
||||
<P>Currently audio plugins cannot be used in MEncoder.</P>
|
||||
|
||||
|
||||
<H4><A NAME="resample">2.3.2.4.1 Up/Downsampling</A></H4>
|
||||
|
||||
<P>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 <EM>autodetects</EM> whether or not usage of this plugin is necessary.
|
||||
This plugin has one option, <CODE>fout</CODE>, which is used for setting the
|
||||
desired output sample frequency. The value is given in Hz, and defaults to
|
||||
48kHz.</P>
|
||||
|
||||
<P>Usage:<BR>
|
||||
<CODE>mplayer media.avi -aop list=resample:fout=<required
|
||||
frequency in Hz, like 44100></CODE></P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="surround_decoding">2.3.2.4.2 Surround Sound decoding</A></H4>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Usage:<BR>
|
||||
<CODE>mplayer media.avi -aop list=surround</CODE></P>
|
||||
|
||||
|
||||
<H4><A NAME="format">2.3.2.3.3 Sample format converter</A></H4>
|
||||
|
||||
<P>If your sound card driver does not support signed 16bit <CODE>int</CODE> data type,
|
||||
this plugin can
|
||||
be used to change the format to one which your sound card can understand. It
|
||||
has one option, <CODE>format</CODE>, which can be set to one of the numbers
|
||||
found in <CODE>libao2/afmt.h</CODE>. 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.</P>
|
||||
|
||||
<P>Usage:<BR>
|
||||
<CODE>mplayer media.avi -aop
|
||||
list=format:format=<required output format></CODE></P>
|
||||
|
||||
|
||||
<H4><A NAME="delay">2.3.2.4.4 Delay</A></H4>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>If you have a file with a consistent A/V sync fault, use the <CODE>+/-</CODE>
|
||||
keys to adjust timings on-the-fly instead. Usage of the OSD is recommended
|
||||
to make this easier.</P>
|
||||
|
||||
|
||||
<H4><A NAME="volume">2.3.2.4.5 Software volume control</A></H4>
|
||||
|
||||
<P>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 <CODE>volume</CODE> 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.</P>
|
||||
|
||||
<P>Usage:<BR>
|
||||
<CODE>mplayer media.avi -aop
|
||||
list=volume:volume=<0-255></CODE></P>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Usage:<BR>
|
||||
<CODE>mplayer media.avi -aop
|
||||
list=volume:softclip</CODE></P>
|
||||
|
||||
|
||||
<H4><A NAME="extrastereo">2.3.2.4.6 Extrastereo</A></H4>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Usage:<BR>
|
||||
<CODE>mplayer media.avi -aop list=extrastereo</CODE><BR>
|
||||
<CODE>mplayer media.avi -aop list=extrastereo:mul=3.45</CODE></P>
|
||||
|
||||
<P>The default coefficient (<CODE>mul</CODE>) 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.</P>
|
||||
|
||||
|
||||
<H4><A NAME="normalizer">2.3.2.4.7 Volume normalizer</A></H4>
|
||||
|
||||
<P>This plugin maximizes the volume without distorting the sound.</P>
|
||||
|
||||
<P>Usage:<BR>
|
||||
<CODE>mplayer media.avi -aop list=volnorm</CODE><BR>
|
||||
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,186 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Spory Programistów (org. Developer Cries) - MPlayer - Odtwarzacz Filmów dla Linuksa</TITLE>
|
||||
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
|
||||
<H1><A NAME="appendix_e">Dodatek E - Spory Programistów (org. Developer Cries)</A></H1>
|
||||
|
||||
<P>Są taki dwa tematy, które zawsze wywołują wielkie dyskusje i ogniste boje na grupie dyskusyjnej
|
||||
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
|
||||
. Tematem numer jeden jest:</P>
|
||||
|
||||
|
||||
<H2><A NAME="gcc">E.1 GCC 2.96</A></H2>
|
||||
|
||||
<P><B>Tło historii:</B> Seria GCC <B>2.95</B> 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, <B>Red Hat</B>
|
||||
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 - <B>Mandrake</B>, kierujący
|
||||
się także przykładem Red Hata zaczął rozprowadzać GCC 2.96 razem z ich serią
|
||||
Linux-Mandrake 8.0.</P>
|
||||
|
||||
<P><B>Oświadczenie:</B> Zespół GCC wypiera się wszelkich powiązań z GCC 2.96 i wydał
|
||||
<A HREF="http://gcc.gnu.org/gcc-2.96.html">oficjalną odpowiedź</A> 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:
|
||||
<A HREF="http://www.mysql.com/downloads/mysql-3.23.html">MySQL</A>,
|
||||
<A HREF="http://avifile.sourceforge.net/news-old1.htm">avifile</A> i
|
||||
<A HREF="http://www.winehq.com/news/?view=92#RH%207.1%20gcc%20fixes%20compiler%20bug">Wine</A>.
|
||||
Inne interesujące linki to:
|
||||
<A HREF="http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflash.html">
|
||||
Linux kernel news flash about kernel 2.4.17</A> i
|
||||
<A HREF="http://www.voy.com/3516/572.html">Voy Forum</A>.
|
||||
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.</P>
|
||||
|
||||
<P>Możesz przeczytac o innej stronie tej historii
|
||||
<A HREF="http://web.archive.org/web/20011024212120/http://www.bero.org/gcc296.html">na tej stonie</A>.
|
||||
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 <B>po cichu</B> ignoruje cały blok a assemblerze.
|
||||
Podobno zostało to już naprawione, GCC wyświetla ostrzeżenie zamiast pomijania bloku.</P>
|
||||
|
||||
<P><B>Obecnie:</B> 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ę <CODE>--disable-gcc-checking</CODE> 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.</P>
|
||||
|
||||
<P>Jeżeli masz problemy z GCC 2.96, możesz pobrać pakiety 2.96-85 z
|
||||
<A HREF="ftp://updates.redhat.com">serwera ftp</A> 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ć <A HREF="ftp://people.redhat.com/jakub/gcc/3.2-10/">pakiety gcc-3.2-10</A>
|
||||
(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ł:</P>
|
||||
|
||||
<OL>
|
||||
<LI>Wejdź na stronę <A HREF="http://gcc.gnu.org/mirrors.html">GCC z mirrorami</A>
|
||||
i pobierz <CODE>gcc-core-XXX.tar.gz</CODE> gdzie <CODE>XXX</CODE> 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,
|
||||
<CODE>gcc-XXX.tar.gz</CODE> może bardziej odpowiadać twoim wymaganiom.</LI>
|
||||
<LI>Rozpakuj archiwum komendą<BR>
|
||||
<CODE>tar -xvzf gcc-core-XXX.tar.gz</CODE></LI>
|
||||
<LI>GCC nie buduje się w katalogu ze źródłami tak jak większość programów,
|
||||
ale wymaga stworzenia katalogu na zewnątrz katalogu ze źródłami. A zatem musisz
|
||||
stworzyć ten katalog poprzez<BR>
|
||||
<CODE>mkdir gcc-build</CODE></LI>
|
||||
<LI>Potem możesz kontynułować konfigurowanie GCC w stworzonym katalogu, ale potrzebujesz
|
||||
configure z katalogu ze źródłami:<BR>
|
||||
<CODE>cd gcc-build<BR>
|
||||
../gcc-XXX/configure</CODE></LI><BR>
|
||||
<LI>Skompiluj GCC wydając komendę w stworzonym katalogu:<BR>
|
||||
<CODE>make bootstrap</CODE></LI>
|
||||
<LI>Teraz możesz zainstalować GCC (jako root) podając<BR>
|
||||
<CODE>make install</CODE></LI>
|
||||
</OL>
|
||||
|
||||
|
||||
<H2><A NAME="binary">E.2 Dystrybutowanie binariów</A></H2>
|
||||
|
||||
<P>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 <CODE>divx_vbr.c</CODE> 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.</P>
|
||||
|
||||
<P>Inną przeszkodą w dystrybutowaniu binariów była optymalizacja dla architektur CPU.
|
||||
MPlayer wspiera teraz detekcję CPU w czasie rzeczywistym (wyszczególnij opcję
|
||||
<CODE>--enable-runtime-cpudetection</CODE> 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.</P>
|
||||
|
||||
|
||||
<H2><A NAME="nvidia">E.3 nVidia</A></H2>
|
||||
|
||||
<P>W rzeczywistości nie lubimy <A HREF="http://www.nvidia.com">nVidii</A>
|
||||
ponieważ dostarcza tylko binarne sterowniki (dla XFree86), które są często z błędami.
|
||||
Mamy wiele raportów na grupie
|
||||
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
|
||||
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
|
||||
<A HREF="http://www.nvnews.net/vbulletin/forumdisplay.php?s=6d83dc289805c37caef49b77857a0b7e&daysprune=&forumid=27">
|
||||
nVidia Linux Forum</A>.
|
||||
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.</P>
|
||||
|
||||
|
||||
<H2><A NAME="barr">E.4 Joe Barr</A></H2>
|
||||
|
||||
<P>Joe Barr zyskał niesławę pisząc mniej niż przychylną
|
||||
<A HREF="http://www.linuxworld.com/site-stories/2001/1214.mplayer.html">
|
||||
recenzję MPlayera</A>. Założył, że MPlayer jest trudny do zainstalowania, ale potem napisał,
|
||||
że nie bardzo lubi
|
||||
<A HREF="http://www.linuxworld.com/linuxworld/lw-2000-06/lw-06-exam.html">czytać dokumentację</A>.
|
||||
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
|
||||
<A HREF="http://www.linuxworld.com/site-stories/2001/1227.predictions.html">10 Linuksowych przewidywaniach na 2002</A>
|
||||
Kontynuując, w
|
||||
<A HREF="http://www.linuxworld.com/site-stories/2002/0125.xine.html">recenzji xine</A>
|
||||
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:</P>
|
||||
|
||||
<BLOCKQUOTE>
|
||||
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ć."
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<P>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ę:</P>
|
||||
|
||||
<P>Marc Rassbach ma <A HREF="http://daily.daemonnews.org/view_story.php3?story_id=2102">coś do powiedzenia</A>
|
||||
na temat tego faceta.</P>
|
||||
|
||||
<BLOCKQUOTE>
|
||||
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.
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<P><A HREF="http://www.mplayerhq.hu/pipermail/mplayer-users/2001-December/009118.html">Cytat</A>
|
||||
od Roberta Munro na grupie dyskusyjnej
|
||||
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
|
||||
:</P>
|
||||
|
||||
<BLOCKQUOTE>
|
||||
<P>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).</P>
|
||||
|
||||
<P>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>P>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
1468
DOCS/pl/video.html
1468
DOCS/pl/video.html
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user