1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-16 11:55:42 +00:00
mpv/DOCS/xml/pl/codecs.xml
diego d86b87a5b2 URL update, noticed by Gabor Mizda.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13928 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-11-13 15:12:48 +00:00

932 lines
31 KiB
XML

<?xml version="1.0" encoding="iso-8859-2"?>
<!-- synced with 1.52 -->
<sect1 id="codecs">
<title>Obs³ugiwane kodeki</title>
<sect2 id="video-codecs">
<title>Kodeki Video</title>
<para>
Zajrzyj do
<ulink url="http://www.mplayerhq.hu/homepage/codecs-status.html">tabeli statusu
kodeków</ulink>, ¿eby zobaczyæ kompletn±, codziennie generowan± listê. Niektóre
kodeki s± dostêpne do pobrania z naszej strony domowej. ¦ci±gniesz je ze
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">strony z kodekami</ulink>.
</para>
<para>
Najwa¿niejsze ze wszystkich:
</para>
<itemizedlist>
<listitem><simpara>
<emphasis role="bold">MPEG1</emphasis> (<emphasis role="bold">VCD</emphasis>) i
<emphasis role="bold">MPEG2</emphasis> (<emphasis role="bold">DVD</emphasis>) video
</simpara></listitem>
<listitem><simpara>
natywne dekodery dla <emphasis role="bold">DivX ;-), OpenDivX (DivX4),
DivX 5.01 (Pro), 3ivX, M$ MPEG4</emphasis> v1, v2 i dla innych rodzajów MPEG4
</simpara></listitem>
<listitem><simpara>
natywne dekodery dla <emphasis role="bold">Windows Media Video 7/8</emphasis>
(<emphasis role="bold">WMV1/WMV2</emphasis>) i dekodery Win32 DLL
dla <emphasis role="bold">Windows Media Video 9</emphasis>
(<emphasis role="bold">WMV3</emphasis>). Oba u¿ywane w plikach <filename>.wmv</filename>
</simpara></listitem>
<listitem><simpara>
natywny dekoder <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis>
</simpara></listitem>
<listitem><simpara>
natywny dekoder <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis>
</simpara></listitem>
<listitem><simpara>
dekoder <emphasis role="bold">3ivX</emphasis> w wersji 1 i 2
</simpara></listitem>
<listitem><simpara>
Kodeki Cinepak i <emphasis role="bold">Intel Indeo</emphasis> (3.1,3.2,4.1,5.0)
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 i inne formaty sprzêtowe
</simpara></listitem>
<listitem><simpara>
VIVO 1.0, 2.0, I263 i inne warianty <emphasis role="bold">H.263(+)</emphasis>
</simpara></listitem>
<listitem><simpara>
FLI/FLC
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">RealVideo 1.0 &amp; 2.0</emphasis> z u¿yciem
<systemitem class="library"> libavcodec</systemitem> i kodeki
<emphasis role="bold">RealVideo 3.0 &amp; 4.0</emphasis> u¿ywaj±ce bibliotek
RealPlayer
</simpara></listitem>
<listitem><simpara>
natywny dekoder HuffYUV
</simpara></listitem>
<listitem><simpara>
Ró¿ne stare proste formaty podobne do RLE
</simpara></listitem>
</itemizedlist>
<para>
Je¿eli posiadasz kodeki Win32 niewymienione tutaj, które nie s± jeszcze
wspierane, zajrzyj do dzia³u <link linkend="win32-codecs">importowanie kodeków
Win32-HOWTO</link> i pomó¿ nam dodaæ dla nich wsparcie.
</para>
<sect3 id="divx4-5">
<title>DivX4/DivX5</title>
<para>
Ta sekcja zawiera informacje o kodekach DivX4 i DivX5 z
<ulink url="http://www.projectmayo.com">Project Mayo</ulink>.
Ich pierwsz± dostêpn± wersj± by³ OpenDivX 4.0 alpha 47 i 48.
Wsparcie dla nich zosta³o w³±czone do <application>MPlayera</application>
w przesz³o¶ci i by³o domy¶lnie budowane podczas kompilacji.
U¿ywali¶my tak¿e ich kodu postprocessingu do opcjonalnego polepszenia jako¶ci
filmów zakodowanych w MPEG1/2. Teraz u¿ywamy ju¿ naszego w³asnego kodu dla
wszystkich typów plików.
</para>
<para>
Nowa generacja tych kodeków nazywana jest DivX4 i mo¿e nawet dekodowaæ filmy
zakodowane przy pomocy nies³awnych kodeków DivX! Na dodatek s± one znacznie
szybsze od natywnych kodeków Win32 DivX DLLs, ale wolniejsze od
<systemitem class="library">libavcodec</systemitem>. W zwi±zku z tym ich
u¿ywanie do dekodowania jest
<emphasis role="bold">odradzane</emphasis>. Jednak¿e przydaj± siê one do
kodowania. Ich wad± jest fakt, i¿ nie s± udostêpnione na wolnej licencji.
</para>
<para>
DivX4 pracuje w dwóch trybach:
<variablelist>
<varlistentry><term><option>-vc odivx</option></term>
<listitem><simpara>
U¿ywa kodeka w stylu OpenDivX. W tym przypadku wytwarza obraz YV12 w swoim
w³asnym buforze, a <application>MPlayer</application> dokonuje konwersji
przestrzeni kolorów poprzez libvo.
(<emphasis role="bold">Szybkie, zalecane!</emphasis>)
</simpara></listitem>
</varlistentry>
<varlistentry><term><option>-vc divx4</option></term>
<listitem><simpara>
U¿ywa konwersji przestrzeni kolorów kodeka. W tym trybie mo¿na u¿ywaæ tak¿e
YUY2/UYVY. (<emphasis role="bold">POWOLNE</emphasis>)
</simpara></listitem>
</varlistentry>
</variablelist>
</para>
<para>
Metoda <option>-vc odivx</option> jest zazwyczaj szybsza, poniewa¿ dokonuje ona
transferu danych obrazu w formacie YV12 (planar YUV 4:2:0), który wymaga
znacznie mniejszej przepustowo¶ci szyny. Dla pakowanych trybów YUV (YUY2, UYVY)
u¿yj opcji <option>-vc divx4</option>. Dla trybów RGB prêdko¶æ jest w³a¶ciwie
taka sama, ró¿ni±ca siê od najlepszej tylko przy zmianie g³êbi kolorów.
<note>
<para>
Je¿eli twój sterownik <option>-vo</option> wspiera direct rendering,
wydajniejszym albo nawet najbardziej wydajnym rozwi±zaniem mo¿e byæ u¿ycie
<option>-vc divx4</option>.
</para>
<para>
Binarn± bibliotekê kodeków DivX4/5 mo¿na ¶ci±gn±æ z
<ulink url="http://avifile.sourceforge.net">avifile</ulink> albo z
<ulink url="http://www.divx.com">divx.com</ulink>
Nale¿y j± rozpakowaæ, uruchomiæ jako root <filename>./install.sh</filename>
i pamiêtaæ o dodaniu
<filename class="directory">/usr/local/lib</filename> do twojego
<filename>/etc/ld.so.conf</filename> i uruchomieniu <command>ldconfig</command>.
</para>
<para>
Mo¿esz zdobyæ CVSow± wersjê STAREJ biblioteki OpenDivX (core library)
w nastêpuj±cy sposób:
</para>
<procedure>
<step><para>
<screen>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login</screen>
</para></step>
<step><para>
<screen>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore</screen>
</para></step>
<step><para>
Biblioteka ta jest podzielona na biblioteki dekoduj±ce i koduj±ce, które musz±
byæ kompilowane osobno. Dla biblioteki dekoduj±cej wpisz po prostu
<screen>
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
</screen>
</para></step>
<step><para>
Niestety dla biblioteki koduj±cej, Makefile dla Linuksa nie jest dostêpny i
optymalizacja dla MMX dzia³a tylko pod Windows. Pomimo tych niedogodno¶ci,
mo¿esz j± ci±gle skompilowaæ u¿ywaj±c tego
<ulink url="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">Makefile</ulink>.
<screen>
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
</screen>
</para></step>
</procedure>
<para>
<application>MPlayer</application> automatycznie wykrywa DivX4/DivX5, je¿eli
jest on prawid³owo zainstalowany. Po prostu kompiluj tak jak robisz to zwykle.
Je¿eli nie zostanie wykryty, znaczy to, ¿e nie zainstalowa³e¶/skonfigurowa³e¶
go w prawid³owy sposób.
</para>
</note>
</para>
</sect3>
<sect3 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
<title>FFmpeg/libavcodec</title>
<para>
<ulink url="http://ffmpeg.sourceforge.net">FFmpeg</ulink> zawiera pakiet
<emphasis role="bold">otwarto¼ród³owych</emphasis> kodeków, które potrafi±
dekodowaæ strumienie z ró¿nymi kodekami audio i video. Oferuj± one tak¿e
imponuj±ce funkcjê kodowania i szybsz± bibliotekê DivX4/5 ni¿ w przypadku
kodeków Win32, albo tych z DivX.com!
</para>
<para>
W sk³ad pakietu wchodzi wiele dobrych kodeków, szczególnie tych zwi±zanych
z MPEG4: DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Zawiera
równie¿ warty uwagi dekoder WMA.
</para>
<para>
Jednym z ostatnich (w sensie najnowszych) kodeków, który warto wymieniæ jest
kodek <emphasis role="bold">Sorenson 3</emphasis> (SVQ3). Jest to pierwsza,
ca³kowicie otwarto¼ród³owa implementacja tego kodeka. Jest on nawet szybszy od
orygina³u. Zaleca siê wybór tej wersji zamiast kodeków binarnych!
</para>
<para>
Pe³n± listê wspieranych kodeków
(<ulink url="http://www.ffmpeg.org/ffmpeg-doc.html#SEC19">video</ulink>
i <ulink url="http://www.ffmpeg.org/ffmpeg-doc.html#SEC20">audio</ulink>)
znajdziesz na stronie FFmpeg.
</para>
<para>
Je¿eli u¿ywasz, które¶ z wydañ <application>MPlayera</application>
<systemitem class="library">libavcodec</systemitem> znajduje siê ju¿ w paczce.
Po prostu kompiluj tak jak zazwyczaj. Je¿eli u¿ywasz
<application>MPlayera</application> z CVSu musisz wyci±gn±æ
<systemitem class="library">libavcodec </systemitem> z drzewa CVS FFmpega,
poniewa¿ jego wydania ukazuj± siê bardzo rzadko. Wersja z CVSa jest
w wiêkszo¶ci przypadków stabilna i oferuje wiêkszo¶æ funkcji. W celu zdobycia
libavcodec wykonaj nastêpuj±ce czynno¶ci:
</para>
<procedure>
<step><para>
<screen>cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login</screen>
</para></step>
<step><para>
<screen>cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -P ffmpeg/libavcodec</screen>
</para></step>
<step><para>
Przenie¶ katalog <filename>libavcodec</filename> ze ¼róde³ FFmpega
do katalogu g³ównego drzewa CVS <application>MPlayera</application>.
Powinno to wygl±daæ w ten sposób:
<filename class="directory">main/libavcodec</filename>
</para><para>
Utworzenie dowi±zañ symbolicznych (symlinków)
<emphasis role="bold">nie</emphasis> wystarcza. Konieczne jest
skopiowowanie/przeniesienie!
</para></step>
<step><para>
Je¿eli chcesz uaktualniaæ <systemitem class="library">libavcodec</systemitem>
razem z aktualizacj± CVSowej wersji <application>MPlayera</application>,
dodaj nastêpuj±ce linie
do pliku <filename>main/CVS/Entries</filename>:
<screen>D/libavcodec////</screen>
</para></step>
<step><para>
Przejd¼ do kompilowania. <filename>configure</filename> powinien wykryæ
problemy przed kompilacj±.
</para></step>
</procedure>
<note>
<para>
<application>MPlayer</application> z CVSu zawiera podkatalog
<filename>libavcodec</filename>, ale <emphasis role="bold">nie</emphasis>
zawiera ¼róde³ <systemitem class="library">libavcodec</systemitem>! ¯eby
uzyskaæ ¼ród³a tej biblioteki musisz wykonaæ powy¿sze czynno¶ci.
</para>
</note>
<para>
Wykorzystuj±c FFmpega i mojego Matroksa G400, mogê ogl±daæ na moim
K6-2 500 filmy DivX najwy¿szej rozdzielczo¶ci bez gubienia klatek.
</para>
</sect3>
<sect3 id="xanim">
<title>kodeki XAnim</title>
<note>
<para>
Wiedz, ¿e binarne kodeki Xanim wydane s± na licencji, która, oprócz innych
ograniczeñ, zabrania u¿ytkownikowi korzystaæ z nich w zestawieniu z innym
programem ni¿ <application>XAnim</application>. Jednak¿e do tej pory
autor nie podejmowa³ jeszcze ¿adnych kroków prawnych w sprawie
zwi±zanej z kodekami.
</para>
</note>
<formalpara>
<title>INSTALACJA I U¯YTKOWANIE</title>
<para>
<application>MPlayer</application> potrafi zaprzêgn±æ do dekodowania
kodeki Xanim. Aby je uaktywniæ postêpuj zgodnie z instrukcj±:
</para>
</formalpara>
<procedure>
<step><para>
¦ci±gnij kodeki, których chcesz u¿yæ ze
<ulink url="http://xanim.va.pubnix.com">strony XAnim</ulink>.
Nie ma tam kodeka <emphasis role="bold">3ivX</emphasis>, ale mo¿na go
znale¼æ na <ulink url="http://www.3ivx.com">stronie 3ivX</ulink>.
</para></step>
<step><para>
<emphasis role="bold">ALBO</emphasis> ¶ci±gnij zestaw kodeków z naszej
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">strony z kodekami</ulink>
</para></step>
<step><para>
U¿yj opcji <option>--with-xanimlibdir</option> ¿eby wskazaæ skryptowi
<filename>configure</filename> gdzie ma szukaæ kodeków Xanim.
Domy¶lnie szuka ich w katalogach
<filename class="directory">/usr/local/lib/codecs</filename>,
<filename class="directory">/usr/local/lib/xanim/mods</filename>,
<filename class="directory">/usr/lib/xanim/mods</filename> i
<filename class="directory">/usr/lib/xanim</filename>.
Drug± mo¿liwo¶ci± jest ustawienie zmiennej ¶rodowiskowej
<envar>XANIM_MOD_DIR</envar> na katalog z kodekami XAnim.
</para></step>
<step><para>
Zmieñ nazwê/utwórz dowi±zanie symboliczne (symlink) plików,
usuwaj±c z nazwy rzeczy zwi±zane z architektur± komputera, tak ¿eby
mia³y nazwy tego typu: <filename>vid_cvid.xa</filename>,
<filename>vid_h263.xa</filename>, <filename>vid_iv50.xa</filename>
</para></step>
</procedure>
<para>
XAnim jest kodekiem z rodziny <systemitem>xanim</systemitem>, mo¿esz wiêc u¿yæ
opcji <option>-vfm xanim</option> ¿eby kazaæ
<application>MPlayerowi</application> u¿ywaæ go w przypadku, gdy jest to
mo¿liwe.
</para>
<para>
Przetestowane kodeki to: <emphasis role="bold">Indeo 3.2, 4.1, 5.0, CVID, 3ivX,
H.263.</emphasis>
</para>
</sect3>
<sect3 id="vivo-video">
<title>VIVO video</title>
<para>
<application>MPlayer</application> potrafi odtwarzaæ pliki video zakodowane
przy pomocy Vivo (1.0 i 2.0). Najodpowiedniejszym kodekiem dla plików w wersji
1.0 jest dekoder H.263 FFmpega, którego mo¿esz u¿yæ za pomoc± opcji
<option>-vc ffh263</option>. Dla plików w wersji 2.0, u¿yj Win32 DLL
korzystaj±c z opcji <option>-vc vivo</option>. Je¿eli nie wybierzesz ¿adnej
opcji <application>MPlayer</application> automatycznie wybierze najlepszy
kodek.
</para>
</sect3>
<sect3 id="mpeg12">
<title>MPEG 1/2 video</title>
<para>
MPEG1 i MPEG2 s± dekodowane przez natywn±, wieloplatformow± bibliotekê
<systemitem class="library">libmpeg2</systemitem>, której kod ¼ród³owy
wchodzi w sk³ad <application>MPlayera</application>. Z uszkodzonymi plikami
MPEG 1/2 radzimy sobie przechwytuj±c <systemitem>Signal 11</systemitem>
(<systemitem>segmentation fault -b³±d segmentacji -przyp t³umacz</systemitem>)
i szybko reinicjuj±c kodek, kontynuuj±c odtwarzanie dok³adnie w miejscu gdzie
wyst±pi³ b³±d. Ta technika nie ma widocznego wp³ywu na szybko¶æ dzia³ania.
</para>
</sect3>
<sect3 id="avicodecs">
<title>MS Video1, Cinepak CVID i inne stare kodeki</title>
<para>
<application>MPlayer</application> potrafi odtwarzaæ wiêkszo¶æ plików
AVI i MOV w których u¿yto starszych kodeków.
W przesz³o¶ci by³y one dekodowane przy pomocy binarnych kodeków Win32, ale
dzisiaj dysponujemy ju¿ <emphasis role="bold">natywnymi kodekami</emphasis>.
W przypadku wiêkszo¶ci z nich u¿ywany jest
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>.
</para>
</sect3>
<sect3 id="realvideo">
<title>RealVideo</title>
<para>
<application>MPlayer</application> wpiera dekodowanie wszystkich wersji
RealVideo:
<itemizedlist>
<listitem><simpara>
RealVideo 1.0, 2.0 (fourcc RV10, RV20) - kodowanie/dekodowanie realizowane
przez <systemitem class="library">libavcodec</systemitem>
</simpara></listitem>
<listitem><simpara>
RealVideo 3.0, 4.0 (fourcc RV30, RV40) - dekodowanie za pomoc±
<emphasis role="bold">bibliotek RealPlayer</emphasis>
</simpara></listitem>
</itemizedlist>
</para>
<para>
¦ci±gnij kodeki Real z
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</ulink>
i rozpakuj je do katalogu
<filename class="directory">/usr/local/lib/codecs</filename>.
Je¿eli wolisz je trzymaæ w innym miejscu, u¿yj opcji
<option>--with-reallibdir</option> dla <command>configure</command>.
</para>
<note><para>
Aktualnie biblioteki <application>RealPlayer</application>
<emphasis role="bold">dzia³aj± tylko pod Linuksem, FreeBSD, NetBSD, Cygwinem na
platformach x86, Alpha i PowerPC (Sprawdzone zosta³y Linux/Alpha
i Linux/PowerPC) i pod Mac OS X</emphasis>.
</para></note>
</sect3>
<sect3 id="xvid">
<title>XviD</title>
<para>
<ulink url="http://www.xvid.org">XviD</ulink> wydzieli³ siê z projektu OpenDivX.
Sta³o siê to, gdy ProjectMayo zamkn±³ kod OpenDivX i przemianowa³ go na DivX4
(a teraz DivX5). W rezultacie tej decyzji, roze¼leni ludzie spoza ProjectMayo,
którzy pracowali nad OpenDivX, rozpoczêli projekt XViD. Tak wiêc oba projekty
maj± to samo pochodzenie.
<itemizedlist>
<title>ZALETY</title>
<listitem><simpara>
otwarty kod ¼ród³owy
</simpara></listitem>
<listitem><simpara>
API kodeka jest kompatybilne z DivX4, wiêc dodanie dla niego wsparcia jest
proste
</simpara></listitem>
<listitem><simpara>
wsparcie dla 2-przebiegowego kodowania
</simpara></listitem>
<listitem><simpara>
dobra jako¶æ kodowania, wiêksza prêdko¶æ od DivX4 (mo¿esz go zoptymalizowaæ
dla twojej maszyny podczas kompilacji)
</simpara></listitem>
</itemizedlist>
<itemizedlist>
<title>WADY</title>
<listitem><simpara>
na dzieñ dzisiejszy ma k³opoty z
<emphasis role="bold">dekodowaniem</emphasis> niektórych plików DivX/DivX4
(nie stanowi to problemu, poniewa¿ potrafi je odtwarzaæ
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>).
</simpara></listitem>
<listitem><simpara>
w trakcie rozwoju
</simpara></listitem>
</itemizedlist>
</para>
<procedure>
<title>INSTALACJA XVID CVS</title>
<para>
Aktualnie jest dostêpny tylko poprzez CVS. Poni¿ej znajduj± siê instrukcje
pobierania i instalacji (bêdziesz potrzebowa³ autoconf przynajmniej w wersji
2.50, automake i libtool):
</para>
<step><para>
<screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
</para></step>
<step><para>
<screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
</para></step>
<step><para>
<screen>cd xvidcore/build/generic</screen>
</para></step>
<step><para>
<screen>./bootstrap.sh</screen>
</para></step>
<step><para>
<screen>./configure</screen>
Mo¿esz potrzebowaæ dodaæ jakie¶ opcje (przejrzyj wyj¶cie
poni¿szej komendy).
<command>./configure --help</command>
</para></step>
<step><para>
<screen>make &amp;&amp; make install</screen>
</para></step>
<step><para>
Je¿eli u¿y³e¶ opcji <option>--enable-divxcompat</option>,
skopiuj <filename>../../src/divx4.h</filename> do
<filename class="directory">/usr/local/include/</filename>.
</para></step>
<step><para>
Przekompiluj <application>MPlayera</application> z opcjami
<option>--with-xvidcore=<replaceable>/¶cie¿ka/do/</replaceable>libxvidcore.a</option>
<option>--with-xvidincdir=<replaceable>/¶cie¿ka/do/</replaceable>xvid.h</option>.
</para></step>
</procedure>
</sect3>
<sect3 id="sorenson">
<title>Sorenson</title>
<para>
Sorenson jest kodekiem video rozwijanym przez Sorenson Media i licencjonowanym
dla Apple, która rozprowadza go wraz ze swoim <application>Odtwarzaczem
QuickTime</application>.
Aktualnie <application>MPlayer</application> jest w stanie odtwarzaæ wszystkie
wersje plików video Sorensona z u¿yciem nastêpuj±cych dekoderów:
</para>
<itemizedlist>
<listitem><simpara>
Sorenson Video v1 (fourcc <emphasis>SVQ1</emphasis>) - dekodowanie za pomoc±
<emphasis role="bold">natywnego kodeka video</emphasis>
(<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
</simpara></listitem>
<listitem><simpara>
Sorenson Video v3 (fourcc <emphasis>SVQ3</emphasis>) - dekodowanie za pomoc±
<emphasis role="bold">natywnego kodeka video</emphasis>
(<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
</simpara></listitem>
</itemizedlist>
<procedure>
<title>KOMPILOWANIE MPLAYERA ZE WSPARCIEM DLA BIBLIOTEK QUICKTIME</title>
<note><para>Aktualnie wspierane s± tylko 32-bitowe platformy Intela.</para></note>
<step><para>¶ci±gnij <application>MPlayera</application> z CVSu</para></step>
<step><para>pobierz pakiet QuickTime DLL z
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/"/>
</para></step>
<step><para>rozpakuj pakiet QuickTime DLL do twojego katalogu z kodekami Win32
(domy¶lnie: <filename class="directory">/usr/local/lib/codecs/</filename>)
</para></step>
<step><para>skompiluj <application>MPlayera</application></para></step>
</procedure>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="audio-codecs">
<title>Kodeki audio</title>
<itemizedlist>
<title>Najwa¿niejsze ze wszystkich kodeków audio:</title>
<listitem><simpara>
MPEG layer 1/2/3 (MP1/2/3) audio (<emphasis role="bold">natywny</emphasis>
kod, z optymalizacj± dla MMX/SSE/3DNow!)
</simpara></listitem>
<listitem><simpara>
Windows Media Audio 7 i 8 (AKA WMAv1 i WMAv2) (<emphasis role="bold">natywny</emphasis> kod, z
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
</simpara></listitem>
<listitem><simpara>
Windows Media Audio 9 (WMAv3) (poprzez DMO DLL)
</simpara></listitem>
<listitem><simpara>
AC3 Dolby audio (<emphasis role="bold">natywny</emphasis> kod, z
optymalizacj± MMX/SSE/3DNow!)
</simpara></listitem>
<listitem><simpara>
przetwarzanie AC3 przez kartê d¼wiêkow±
</simpara></listitem>
<listitem><simpara>
AAC
</simpara></listitem>
<listitem><simpara>
kodek Ogg Vorbis audio (<emphasis role="bold">natywna</emphasis> biblioteka)
</simpara></listitem>
<listitem><simpara>
RealAudio: DNET (AC3 z niskim bitratem), Cook, Sipro i ATRAC3
</simpara></listitem>
<listitem><simpara>
QuickTime: kodeki Qualcomm i QDesign
</simpara></listitem>
<listitem><simpara>
VIVO audio (g723, Vivo Siren)
</simpara></listitem>
<listitem><simpara>
Voxware audio (poprzez DirectShow DLL)
</simpara></listitem>
<listitem><simpara>
formaty alaw i ulaw, ró¿ne gsm, adpcm i pcm i inne stare, proste kodeki
audio
</simpara></listitem>
</itemizedlist>
<sect3 id="swac3">
<title>Programowe dekodowanie AC3</title>
<para>
To jest domy¶lny dekoder u¿ywany przez pliki z d¼wiêkiem AC3.
</para>
<para>
Dekoder AC3 mo¿e wytworzyæ wyj¶cie audio zmiksowane dla 2,4 lub 6 g³o¶ników.
Kiedy skonfigurowany jest dla 6 g³o¶ników, dekoder dostarcza do sterownika
karty d¼wiêkowej osobne wyj¶cie dla ka¿dego kana³u AC3, pozwalaj±c do¶wiadczyæ
"d¼wiêk surround" bez potrzeby u¿ycia zewnêtrznego dekodera AC3 do kodeka hwac3.
</para>
<para>
U¿yj opcji <option>-channels</option> aby wybraæ liczbê wyj¶ciowych kana³ów.
U¿yj <option>-channels 2</option> do uzyskania d¼wiêku stereo. Dla
czterokana³owego d¼wiêku (wyj¶cia Lewe Przednie, Prawe Przednie, Lewe Surround
i Prawe Surround), u¿yj <option>-channels 4</option>. W tym przypadku,
wszystkie centralne kana³y zostan± zmiksowane do odpowiadaj±cych im przednich
kana³ów. Natomiast <option>-channels 6</option> wyprodukuje wszystkie kana³y
AC3 tak jak zosta³y zakodowane - w kolejno¶ci Lewy, Prawy, Lewy Surround, Prawy
Surround, Centralny i LFE.
</para>
<para>
Domy¶ln± liczb± wyj¶ciowych kana³ów jest 2.
</para>
<para>
Aby u¿yæ wiêcej ni¿ dwóch wyj¶ciowych kana³ów, bêdziesz potrzebowa³ skorzystaæ
z OSS i mieæ kartê d¼wiêkow± ze wsparciem dla odpowiedniej liczby wyj¶ciowych
kana³ów poprzez SNDCTL_DSP_CHANNELS ioctl. Przyk³adem odpowiedniego sterownika
jest emu10k1 (u¿ywany przez karty Soundblaster Live!) z sierpnia 2001 roku,
albo nowszy (przypuszczalnie dzia³a tak¿e ALSA CVS).
</para>
</sect3>
<sect3 id="hwac3">
<title>Sprzêtowe dekodowanie AC3</title>
<para>
Potrzebna jest karta obs³uguj±ca AC3, z cyfrowym wyj¶ciem (S/PDIF). Sterownik
musi prawid³owo obs³ugiwaæ format AFMT_AC3 (robi to C-Media). Pod³±cz swój
dekoder AC3 do wyj¶cia S/PDIF i u¿yj opcji <option>-ac hwac3</option>.
Rozwi±zanie to jest ci±gle w fazie testów, ale wiadomo, ¿e dzia³a z kartami
C-Media i Soundblaster Live! + sterowniki ALSA (ale nie z OSS) i kartami
dekoduj±cymi DXR3/Hollywood+ MPEG.
</para>
</sect3>
<sect3 id="libmad">
<title>wsparcie dla libmad</title>
<para>
<ulink url="http://mad.sourceforge.net">libmad</ulink> jest wieloplatformow±,
sta³oprzecinkow± (wewnêtrznie 24-bitowe PCM) bibliotek± dekoduj±c± d¼wiêk
MPEG. Nie odtwarza zbyt dobrze uszkodzonych plików i czasami ma problemy
z przewijaniem, ale mo¿e mieæ lepsz± wydajno¶æ ni¿ mp3lib na platformach ze
s³abszymi FPU (jednostka do wykonywania obliczeñ
zmiennoprzecinkowych-przyp. t³umacza) (jak np. <link linkend="arm">ARM</link>).
</para>
<para>
Aby w³±czyæ wsparcie dla biblioteki, podczas kompilacji u¿yj opcji
<option>--enable-mad</option> przy wywo³ywaniu configure.
</para>
</sect3>
<sect3 id="vivo-audio">
<title>VIVO audio</title>
<para>
Rodzaj kodeka audio u¿ywanego w plikach VIVO zale¿y od tego, czy jest to plik
VIVO/1.0, czy VIVO/2.0. Pliki VIVO/1.0 maj± d¼wiêk w formacie
<emphasis role="bold">g.723</emphasis>, a pliki VIVO/2.0 w formacie
<emphasis role="bold">Vivo Siren</emphasis>. Wspierane s± oba typy.
</para>
</sect3>
<sect3 id="realaudio">
<title>RealAudio</title>
<para>
<application>MPlayer</application> potrafi dekodowaæ prawie wszystkie wersje RealAudio:
</para>
<itemizedlist>
<listitem><simpara>
RealAudio DNET - dekodowanie poprzez
<systemitem class="library">liba52</systemitem>
</simpara></listitem>
<listitem><simpara>
RealAudio Cook/Sipro/ATRAC3 - dekodowanie z u¿yciem
<emphasis role="bold">bibliotek RealPlayer</emphasis>
</simpara></listitem>
</itemizedlist>
<para>
Instrukcje dotycz±ce sposobu instalacji bibliotek RealPlayer
znajduj± siê w dziale <link linkend="realvideo">RealVideo</link>.
</para>
</sect3>
<sect3 id="qdesign">
<title>kodeki QDesign</title>
<para>
Format d¼wiêku QDesign (fourcc:<emphasis>QDMC, QDM2</emphasis>) wykorzystywany
jest w plikach MOV/QT. Obie wersje tych kodeków mog± byæ odtwarzane za pomoc±
bibliotek QuickTime. Instrukcje instalacji znajduj± siê w dziale
<link linkend="sorenson">kodek Sorenson video</link>.
</para>
</sect3>
<sect3 id="qualcomm">
<title>kodeki Qualcomm</title>
<para>
D¼wiêk w formacie Qualcomm (fourcc:<emphasis>Qclp</emphasis>) u¿ywany jest
w plikach MOV/QT. Mo¿e byæ dekodowany z u¿yciem bibliotek QuickTime.
Instrukcje instalacji znajduj± siê w dziale
<link linkend="sorenson">kodeka video Sorenson</link>.
</para>
</sect3>
<sect3 id="aac">
<title>AAC codec</title>
<para>
AAC (Advanced Audio Coding) jest kodekiem audio spotykanym czasami w plikach
MOV i MP4. Otwarty dekoder nazywany FAAD dostêpny jest na stronie
<ulink url="http://www.audiocoding.com"/>.
<application>MPlayer</application> zawiera libfaad 2.0RC1, wiêc nie musisz
¶ci±gaæ go oddzielnie.
</para>
<para>
Je¿eli u¿ywasz gcc 3.2, który ma k³opoty z kompilacj± wbudowanej wersji
FAAD lub chcesz z jakich¶ powodów u¿yæ zewnêtrznej biblioteki,
¶ci±gnij j± z
<ulink url="http://www.audiocoding.com/download.php">tej strony</ulink>
i dodaj opcjê <option>--enable-external-faad</option> do
<filename>configure</filename>. Nie potrzebujesz ca³ego faad2 do dekodowanie
plików AAC. Wystarczy u¿yæ samej biblioteki libfaad. Zbudujesz j± w nastêpuj±cy
sposób
<screen>
cd faad2/
chmod +x bootstrap
./bootstrap
./configure
cd libfaad
make
make install
</screen>
Wersje binarne nie s± dostêpne na stronie audiocoding.com, ale mo¿esz
¶ci±gn±æ (apt-getem) Debianowe paczki z
<ulink url="http://marillat.free.fr">domowej strony Christiana Marillata</ulink>,
RPMy dla Mandrake ze strony <ulink url="http://plf.zarb.org">P.L.F</ulink>
a RedHatowe RPMy z
<ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>.
</para>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="win32-codecs">
<title>importowanie kodeków Win32-HOWTO</title>
<!-- TODO: a short paragraph of text would be nice here... -->
<!-- Taa, a ja to potem pewnie bede mial tlumaczyc:-) -->
<sect3 id="vfw-codecs">
<title>kodeki VFW</title>
<para>
VFW (Video for Windows) jest starym Video API pod Windows. Jego kodeki maj±
rozszerzenie <filename>.DLL</filename> albo (rzadziej)
<filename>.DRV</filename>. Je¿eli <application>MPlayer</application> odmawia
odtwarzania plików AVI z komunikatem tego typu:
<screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
</para>
<para>
oznacza to, ¿e twój plik AVI jest zakodowany z u¿yciem kodeka, który korzysta
z fourcc HFYU (HFYU = kodek HuffYUV, DIV3 = DivX Low Motion, itd.;
fourcc-unikalny, czteroliterowy identyfikator kodeka znajduj±cy siê najczê¶ciej
w nag³ówkach plików AVI-przyp. t³umacz). Kiedy ju¿ to wiesz, musisz odzukaæ
DLL'a, który jest ³adowany przez Windows w celu odtworzenia tego pliku.
W naszym przypadku plik <filename>system.ini</filename> zawiera tê informacjê
w nastêpuj±cej linii:
<programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
</para>
<para>
Zatem potrzebujesz pliku <filename>huffyuv.dll</filename>. Zauwa¿, ¿e kodeki
audio s± oznaczane za pomoc± prefiksu MSACM:
<programlisting>msacm.l3acm=L3codeca.acm</programlisting>
</para>
<para>
Jest to kodek MP3. Teraz powiniene¶ mieæ wszystkie niezbêdne informacje
(fourcc, plik z kodekiem, przyk³adowy plik AVI). Umie¶æ swoj± pro¶bê o wsparcie
dla kodeka za pomoc± poczty elektronicznej i wy¶lij ww. pliki na poni¿szy
serwer FTP:
<systemitem role="url">
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/
</systemitem>
</para>
<note><para> W systemach Windows NT/2000/XP szukaj powy¿szych informacji
w rejestrze, np. szukaj wyra¿enia &quot;VIDC.HFYU&quot;. Aby dowiedzieæ siê jak
to zrobiæ, spójrz ni¿ej na star± metodê DirectShow.
</para></note>
</sect3>
<sect3 id="dshow-codecs">
<title>Kodeki DirectShow</title>
<para>
DirectShow jest nowszym Video API, które jest nawet gorsze od swojego
poprzednika. Sprawa ma siê gorzej z DirectShow, poniewa¿:
<itemizedlist>
<listitem><simpara>
<filename>system.ini</filename> nie zawiera wymaganych informacji,
zamiast tego s± one przechowywane w rejestrze.
</simpara></listitem>
<listitem><simpara>
Z tego powodu wymagane jest GUID kodeka.
</simpara></listitem>
</itemizedlist>
</para>
<procedure>
<title>Nowa metoda:</title>
<para>
U¿ywaj±c <application>Microsoft GraphEdit</application> (szybki sposób)
</para>
<step><para>
Pobierz <application>GraphEdit</application> z dowolnego DirectX SDK, albo z
<ulink url="http://doom9.net">doom9</ulink>
</para></step>
<step><para>
Uruchom <command>graphedit.exe</command>.
</para></step>
<step><para>
Z menu wybierz Graph -> Insert Filters.
</para></step>
<step><para>
Rozwiñ listê <systemitem>DirectShow Filters</systemitem>
</para></step>
<step><para>
Wybierz w³a¶ciwy kodek i rozwiñ go.
</para></step>
<step><para>
We wpisie <systemitem>DisplayName</systemitem> spójrz na tekst w
nawiasach klamrowych po znaku "backslash" i zapisz go (piêæ bloków
oddzielonych kreskami, GUID).
</para></step>
<step><para>
Binariami kodeka jest plik okre¶lony w polu <systemitem>Filename</systemitem>.
</para></step>
</procedure>
<note>
<para>
Je¿eli nie ma pola <systemitem>Filename</systemitem>, a
<systemitem>DisplayName</systemitem> zawiera co¶ w stylu
<systemitem>device:dmo</systemitem>, to jest to DMO-kodek.
</para>
</note>
<procedure>
<title>Stara Metoda:</title>
<para>
We¼ g³êboki oddech i zacznij przeszukiwanie rejestru...
</para>
<step><para>
Uruchom <command>regedit</command>.
</para></step>
<step><para>
Naci¶nij <keycap>Ctrl</keycap>+<keycap>F</keycap>, odznacz dwa pierwsze
pola (checkboxes) i zaznacz trzecie. Wpisz fourcc kodeka (np.
<userinput>TM20</userinput>).
</para></step>
<step><para>
Powiniene¶ zobaczyæ pole zwieraj±ce ¶cie¿kê i nazwê pliku (np.
<filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>).
</para></step>
<step><para>
Gdy odnalaz³e¶ ju¿ plik, potrzebny bêdzie GUID. Spróbuj ponownego
wyszukiwania, ale tym razem wpisz nazwê kodeka, a nie jego fourcc. Jego nazwê
mo¿na sprawdziæ, kiedy Media Player odtwarza plik, odszukuj±c j± w
<guimenu>Plik</guimenu> -&gt; <guisubmenu>Opcje</guisubmenu> -&gt;
<guimenuitem>Zaawansowane</guimenuitem>.
Je¿eli jej tam nie bêdzie, to masz pecha. Spróbuj odgadn±æ nazwê (np. spróbuj
wyszukaæ "TrueMotion").
</para></step>
<step><para>
Je¿eli GUID zosta³ odnaleziony, powiniene¶ ujrzeæ pola <guilabel>FriendlyName</guilabel>
i <guilabel>CLSID</guilabel>. Zapisz szesnastobajtowy CLSID bêd±cy GUIDem,
którego potrzebujemy.
</para></step>
</procedure>
<note>
<para>
Je¿eli wyszukiwanie siê nie powiedzie, spróbuj zaznaczyæ wszystkie pola
(checkboxes). Prawdopodobnie dostaniesz niepasuj±ce wyniki, ale byæ mo¿e
bêdziesz mia³ szczê¶cie...
</para>
</note>
<para>
Teraz, kiedy masz ju¿ wszystkie niezbêdne informacje (fourcc, GUID, plik
z kodekiem, przyk³adowy plik AVI), umie¶æ swoj± pro¶bê o wsparcie dla kodeka
za pomoc± poczty elektronicznej i wy¶lij ww. pliki na poni¿szy serwer FTP:
<systemitem role="url">ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/
</systemitem>
</para>
</sect3>
</sect2>
</sect1>