mpv/DOCS/xml/pl/codecs.xml

1054 lines
37 KiB
XML

<?xml version="1.0" encoding="iso-8859-2"?>
<!-- synced with 1.71 -->
<sect1 id="codecs">
<title>Obs³ugiwane kodeki</title>
<sect2 id="video-codecs">
<title>Kodeki Video</title>
<para>
Zajrzyj do
<ulink url="../../codecs-status.html">tabeli stanu 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">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) i
<emphasis role="bold">MPEG-2</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$ MPEG-4</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 niewymienione tutaj kodeki Win32, które nie s± jeszcze
obs³ugiwane, zajrzyj do dzia³u <link linkend="codec-importing">importowanie kodeków
Win32-HOWTO</link> i pomó¿ nam dodaæ ich obs³ugê.
</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 MPEG-1/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 tworzy on obraz YV12 we
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> obs³uguje 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.sf.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.org">FFmpeg</ulink> zawiera pakiet
kodeków <emphasis role="bold">o otwartych ¼ród³ach</emphasis>, które potrafi±
dekodowaæ strumienie 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 MPEG-4: DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Zawiera
równie¿ warty uwagi dekoder WMA.
</para>
<para>
Jednym z najnowszych kodeków, który warto wymieniæ jest
kodek <emphasis role="bold">Sorenson 3</emphasis> (SVQ3). Jest to pierwsza,
ca³kowicie otwarta 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ê obs³ugiwanych 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órego¶ 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 to ca³a rodzina kodeków <systemitem>xanim</systemitem>, mo¿esz wiêc u¿yæ
opcji <option>-vfm xanim</option> ¿eby kazaæ
<application>MPlayerowi</application> u¿ywaæ ich, 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>
MPEG-1 i MPEG-2 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> obs³uguje 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> jest wolnym, kompatybilnym
z MPEG-4 ASP kodekiem video z mo¿liwo¶ciami kodowania dwuprzebiegowego
i pe³n± obs³ug± MPEG-4 ASP, dlatego jest du¿o bardziej efektywny ni¿ dobrze
znany kodek DivX.
£±czy bardzo dobr± jako¶æ video i dobre osi±gi dziêki optymalizacjami kodu dla
wiêkszo¶ci nowoczesnych procesorów.
</para>
<para>
Zacz±³ siê jako od³am kodeka OpenDivX.
Sta³o siê to gdy ProjectMajo zmieni³ OpenDivX na zamkniête 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.
</para>
<procedure>
<title>Instalacja <systemitem class="library">XviD</systemitem></title>
<para>
Jak wiêkszo¶æ otwartego oporgramowania dostêpny jest w dwóch wersjach:
<ulink url="http://www.xvid.org/downloads.html">oficjalnych wydañ</ulink>
i wersji CVS.
Wersja CVS jest zazwyczaj wystarczaj±co stablina by jej u¿ywaæ, jako ¿e
zazwyczaj ma poprawki do b³êdów wystêpuj±cych w wydaniach.
Tak nale¿y nak³oniæ <systemitem class="library">XviD</systemitem> CVS do
pracy z <application>MEncoderem</application> (bêdziesz potrzebowa³
przenajmniej <application>autoconf</application> 2.50,
<application>automake</application> i <application>libtool</application>):
</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 obs³ugiwane 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>
<sect3 id="codec-x264">
<title>x264</title>
<sect4 id="codec-x264-whatis">
<title>Co to jest x264</title>
<para>
<systemitem class="library">x264</systemitem> jest bibliotek± s³urz±c± do
tworzenia strumieni video H.264.
Nie jest w 100% ukoñczona, ale ma przynajmniej pewn± obs³ugê wiêkszo¶ci
maj±cych wp³yw na jako¶æ mo¿liwo¶ci H.264.
Jest te¿ wiele zaawansowanych mo¿liwo¶ci w specyfikacji H.264, które nie maj±
nic wspólnego z jako¶ci± jako tak±; wiele z nich jeszcze nie ma
implementacji w <systemitem class="library">x264</systemitem>.
</para>
<itemizedlist>
<title>Mo¿liwo¶ci kodera</title>
<listitem><para>CAVLC/CABAC</para></listitem>
<listitem><para>Wielokrotne referencje</para></listitem>
<listitem><para>Intra: wszystkie typy makrobloków
(16x16 i 4x4 z wszystkimi predykcjami)</para></listitem>
<listitem><para>Inter P: wszystkie podzia³y
(od 16x16 a¿ do 4x4)</para></listitem>
<listitem><para>Inter B: podzia³y od 16x16 do 8x8
(w³±czaj±c SKIP/DIRECT)</para></listitem>
<listitem><para>Kontrola tempa: sta³y kwantyzator, sta³e bitrate, albo
wieloprzebiegowe ABR</para></listitem>
<listitem><para>Wykrywanie zmian scen</para></listitem>
<listitem><para>Adaptatywne umieszczanie klatek B</para></listitem>
<listitem><para>Referencyjne ramki / dowolna kolejno¶æ
ramek</para></listitem>
</itemizedlist>
<itemizedlist>
<title>Ograniczenia kodera</title>
<listitem><para>Brak prawdziwego RD</para></listitem>
</itemizedlist>
</sect4>
<sect4 id="codec-h264-whatis">
<title>Co to jest H.264</title>
<para>
H.264 jedn± z nazw nowego kodeka video opracowanego wspólnie przez ITU
i MPEG.
Mo¿e te¿ byæ prawid³owo nazywany okropnymi nazwami "ISO/IEC 14496-10" lub
"MPEG-4 Part 10". Czê¶ciej jest nazywany "MPEG-4 AVC" albo po prostu "AVC".
</para>
<para>
Jakkolwiek go nie nazywaæ, H.264 mo¿e byæ wart wypróbowania poniewa¿
zazwyczaj mo¿e dorównaæ jako¶ci± MPEG-4 ASP z mniejsz± o 5%-30% objêto¶ci±.
Dok³adne wyniki zale¿± od materia³u ¼ród³owego i kodera.
Zyski z u¿ywania H.264 nie s± za darmo: Dekodowanie strumieni H.264 maj±
du¿e wymagania obliczeniowe i pamiêciowe.
Na przyk³ad, na Athlonie 1733 MHz, film H.264 w rozdzielczo¶ci DVD 1500kbps
wymaga do zdekodowania oko³o 35% CPU.
Dla porównania, dekodowanie strumienia MPEG-4 ASP w rozdzielczo¶ci DVD
1500kbps wymaga oko³o 10% CPU.
Oznacza to ¿e dekodowanie wysokiej jako¶ci strumieni jest prawie nie do
pomy¶lenia dla zwyk³ych u¿ytkowników.
Oznacza to równie¿ ¿e dobry DVD rip mo¿e siê czasami zacinaæ na procesorach
wolniejszych ni¿ oko³o 2.0 GHz.
</para>
<para>
Przynajmniej przy u¿ywaniu <systemitem class="library">x264</systemitem>
wymagania kodowania nie s± o wiele wiêksze ni¿ te, do których przywykli¶my
przy MPEG-4 ASP.
Na przyk³ad, na Athlonie 1733 MHz typowe kodowanie DVD bêdzie dzia³aæ
z 5-15fps.
</para>
<para>
Ten dokument nie ma wyja¶niaæ szczegó³ów H.264, ale je¶li jeste¶
zainteresowany niewielkim wstêpem mo¿esz chcieæ przeczytaæ
<ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions</ulink>.
</para>
</sect4>
<sect4 id="codec-x264-playback">
<title>Jak mogê odtwarzaæ filmy H.264 u¿ywaj±c <application>MPlayera</application></title>
<para>
<application>MPlayer</application> u¿ywa dekodera H.264 z
<systemitem class="library">libavcodec</systemitem>.
<systemitem class="library">libavcodec</systemitem> mia³o choæ trochê zdatny
do u¿ytku dekoder H.264 od oko³o czerwca 2004, ale od tego czasu wprowadzono
wiele zmian i poprawek, zarówno pod wzglêdem obs³ugiwanej funkcjonalno¶ci
jak i zu¿ycia CPU.
Na wszelki wypadek lepiej jest u¿ywaæ ¶wie¿ej wersji CVS.
</para>
<para>
Je¶li chcesz szybki i ³atwy sposób na sprawdzenie czy by³y ostatnio zmiany
w obs³udze H.264 w <systemitem class="library">libavcodec</systemitem>,
mo¿esz patrzeæ na
<ulink url="http://mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/h264.c?cvsroot=FFMpeg">interface sieciowy repozytorium CVS FFmpeg</ulink>
</para>
</sect4>
<sect4 id="codec-x264-encode">
<title>Jak mogê kodowaæ filmy u¿ywaj±c <application>MEncodera</application> i <systemitem class="library">x264</systemitem>?</title>
<para>
Je¶li masz zainstalowanego klienta subversion, mo¿esz uzyskaæ najnowsze
¼ród³a x264 tym poleceniem:
<screen>
svn co svn://svn.videolan.org/x264/trunk x264<!--
--></screen>
¬ród³a <application>MPlayera</application> s± aktualizowane gdy tylko
zmieni siê API <systemitem class="library">x264</systemitem>, wiêc zalecamy
te¿ u¿ywanie <application>MPlayera</application> z CVS.
Byæ mo¿e sytuacja siê zmieni je¶li i gdy nast±pi "wydanie"
<systemitem class="library">x264</systemitem>.
W miêdzyczasie <systemitem class="library">x264</systemitem> powinna byæ
uwa¿ana za niestabiln±, w tym sensie ¿e jej interface programistyczny mo¿e
siê zmieniæ.
</para>
<para>
<systemitem class="library">x264</systemitem> buduje siê i instaluje
w sposób standardowy:
<screen>
./configure &amp;&amp; make &amp;&amp; sudo make install<!--
--></screen>
To zainstaluje libx264.a w /usr/local/lib oraz x264.h w /usr/local/include.
Gdy biblioteka i nag³ówki <systemitem class="library">x264</systemitem>
ju¿ w standardowych miejscach, budowanie <application>MPlayera</application>
z obs³ug± <systemitem class="library">x264</systemitem> jest proste.
Uruchom standardowe:
<screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
Skrypt konfiguracyjny wykryje ¿e spe³ni³e¶ wymagania do obs³ugi
<systemitem class="library">x264</systemitem>.
</para>
</sect4>
</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 DLL DMO)
</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æ
pe³nego "d¼wiêku przestrzennego" bez potrzeby u¿ycia zewnêtrznego dekodera AC3
wymaganego przez kodek 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± kana³ów wyj¶ciowych jest 2.
</para>
<para>
Aby u¿yæ wiêcej ni¿ dwóch wyj¶ciowych kana³ów, bêdziesz potrzebowa³
OSS i 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>obs³uga libmad</title>
<para>
<ulink url="http://www.underbit.com/products/mad/">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>. Obs³ugiwane 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 migawkê CVSu z
libfaad 2.1beta, 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/modules/mydownloads/">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/
sh 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://hpisi.nerim.net">domowej strony Christiana Marillata</ulink>,
RPMy dla Mandrake/Mandriva 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="codec-importing">
<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 API Video 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 API Video, 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>
<para>
Je¿eli chcesz samodzielnie dodaæ obs³ugê kodeka, przeczytaj
<ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">
DOCS/tech/codecs.conf.txt</ulink> (tylko po angielsku - przyp. t³um.).
</para>
</sect3>
</sect2>
</sect1>