2006-10-30 21:25:02 +00:00
<?xml version="1.0" encoding="utf-8"?>
2006-11-27 08:56:42 +00:00
<!-- synced with r21168 -->
2006-07-12 14:06:43 +00:00
<!-- Opiekun: Boski -->
<chapter id= "codecs" >
2006-10-30 21:25:02 +00:00
<title > Obsługiwane kodeki</title>
2004-04-18 20:29:59 +00:00
2006-07-12 14:06:43 +00:00
<sect1 id= "video-codecs" >
2006-11-05 15:37:06 +00:00
<title > Kodeki video</title>
2004-04-18 20:29:59 +00:00
<para >
2004-09-01 19:42:51 +00:00
Zajrzyj do
2006-10-30 21:25:02 +00:00
<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
2006-11-05 15:37:06 +00:00
<ulink url= "http://www.mplayerhq.hu/design7/dload.html#binary_codecs" > strony z kodekami</ulink> .
2004-04-18 20:29:59 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
Najważniejsze ze wszystkich:
2004-04-18 20:29:59 +00:00
</para>
<itemizedlist >
<listitem > <simpara >
2004-12-25 22:54:56 +00:00
<emphasis role= "bold" > MPEG-1</emphasis> (<emphasis role= "bold" > VCD</emphasis> ) i
<emphasis role= "bold" > MPEG-2</emphasis> (<emphasis role= "bold" > DVD</emphasis> ) video
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
<listitem > <simpara >
2006-11-05 15:37:06 +00:00
natywne dekodery dla <emphasis role= "bold" > wszystkich wariantów DivX,
3ivX, M$ MPEG-4</emphasis> v1, v2 i innych rodzajów MPEG-4
2004-04-18 20:29:59 +00:00
</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>
2006-10-30 21:25:02 +00:00
(<emphasis role= "bold" > WMV3</emphasis> ). Oba używane w plikach <filename > .wmv</filename>
2004-04-18 20:29:59 +00:00
</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 >
2006-10-30 21:25:02 +00:00
<emphasis role= "bold" > MJPEG</emphasis> , AVID, VCR2, ASV2 i inne formaty sprzętowe
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
<listitem > <simpara >
2004-09-01 19:42:51 +00:00
VIVO 1.0, 2.0, I263 i inne warianty <emphasis role= "bold" > H.263(+)</emphasis>
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
<listitem > <simpara >
FLI/FLC
</simpara> </listitem>
<listitem > <simpara >
2006-11-05 15:37:06 +00:00
<emphasis role= "bold" > RealVideo 1.0 i 2.0</emphasis> przy użyciu
2005-09-19 18:27:43 +00:00
<systemitem class= "library" > libavcodec</systemitem> i kodeki
2006-11-05 15:37:06 +00:00
<emphasis role= "bold" > RealVideo 3.0 i 4.0</emphasis> używające bibliotek
2004-09-01 19:42:51 +00:00
RealPlayer
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
<listitem > <simpara >
natywny dekoder HuffYUV
</simpara> </listitem>
<listitem > <simpara >
2006-10-30 21:25:02 +00:00
Różne stare proste formaty podobne do RLE
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
</itemizedlist>
<para >
2006-11-05 15:37:06 +00:00
Jeżeli masz 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ę.
2004-04-18 20:29:59 +00:00
</para>
2006-11-05 15:37:06 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "ffmpeg" xreflabel= "FFmpeg/libavcodec" >
2004-04-18 20:29:59 +00:00
<title > FFmpeg/libavcodec</title>
<para >
2006-11-05 15:37:06 +00:00
<ulink url= "http://ffmpeg.org" > FFmpeg</ulink> zawiera
<systemitem class= "library" > libavcodec</systemitem> , wiodącą bibliotekę kodeków
audio i video mającą otwarte źródła.
Może ona dekodować większość formatów multimedialnych, zazwyczaj z większą
prędkością niż alternatywy, a docelowo chce obsługiwać je wszystkie.
Jest to domyślny dekoder dla większości kodeków obsługiwanych przez
<application > MPlayera</application> .
Kodowanie do niektórych formatów również jest możliwe i obsługiwane przez
<application > MEncodera</application> .
2004-04-18 20:29:59 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
Pełną listę obsługiwanych kodeków
2006-11-05 15:37:06 +00:00
<ulink url= "http://ffmpeg.org/ffmpeg-doc.html#SEC19" > video</ulink>
i <ulink url= "http://ffmpeg.org/ffmpeg-doc.html#SEC20" > audio</ulink>
2004-04-18 20:29:59 +00:00
znajdziesz na stronie FFmpeg.
</para>
<para >
2006-11-05 15:37:06 +00:00
<application > MPlayer</application> zawiera
<systemitem class= "library" > libavcodec</systemitem> .
Po prostu uruchom <filename > ./configure</filename> i kompiluj.
2004-04-18 20:29:59 +00:00
</para>
2006-07-12 14:06:43 +00:00
</sect2>
2004-04-18 20:29:59 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "xvid" >
2006-11-13 12:45:46 +00:00
<title > Xvid</title>
2004-04-18 20:29:59 +00:00
<para >
2006-11-13 12:45:46 +00:00
<ulink url= "http://www.xvid.org" > Xvid</ulink> jest wolnym, kompatybilnym
2006-11-05 15:37:06 +00:00
z MPEG-4 ASP, kodekiem video z możliwościami kodowania dwuprzebiegowego
2006-10-30 21:25:02 +00:00
i pełną obsługą MPEG-4 ASP, dlatego jest dużo bardziej efektywny niż dobrze
2005-07-23 12:12:34 +00:00
znany kodek DivX.
2006-10-30 21:25:02 +00:00
Łączy bardzo dobrą jakość video i dobre osiągi dzięki optymalizacjami kodu dla
większości nowoczesnych procesorów.
2005-07-23 12:12:34 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
Zaczął się jako odłam kodeka OpenDivX.
2006-11-05 15:37:06 +00:00
Stało się to gdy ProjectMajo zmienił OpenDivX na zamknięte DivX4.
W rezultacie tej decyzji rozeźleni ludzie spoza ProjectMayo,
2006-11-13 12:45:46 +00:00
którzy pracowali nad OpenDivX, rozpoczęli projekt Xvid. Tak więc oba projekty
2006-10-30 21:25:02 +00:00
mają to samo pochodzenie.
2004-04-18 20:29:59 +00:00
</para>
2006-11-05 15:37:06 +00:00
<para >
2006-11-13 12:45:46 +00:00
Zauważ, że Xvid nie jest konieczny do odtwarzania video zakodowanego przy
pomocy Xvid. Domyślnie używana jest biblioteka
2006-11-05 15:37:06 +00:00
<systemitem class= "library" > libavcodec</systemitem> , bo jest szybsza.
</para>
2004-04-18 20:29:59 +00:00
<procedure >
2006-11-13 12:45:46 +00:00
<title > Instalacja <systemitem class= "library" > Xvid</systemitem> </title>
2005-07-23 12:12:34 +00:00
<para >
2006-10-30 21:25:02 +00:00
Jak większość otwartego oporgramowania dostępny jest w dwóch wersjach:
<ulink url= "http://www.xvid.org/downloads.html" > oficjalnych wydań</ulink>
2005-07-23 12:12:34 +00:00
i wersji CVS.
2006-10-30 21:25:02 +00:00
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.
2006-11-13 12:45:46 +00:00
Tak należy nakłonić <systemitem class= "library" > Xvid</systemitem> CVS do
2006-10-30 21:25:02 +00:00
pracy z <application > MEncoderem</application> (będziesz potrzebował
2005-07-23 12:12:34 +00:00
przenajmniej <application > autoconf</application> 2.50,
<application > automake</application> i <application > libtool</application> ):
2004-04-18 20:29:59 +00:00
</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>
2006-10-30 21:25:02 +00:00
Możesz potrzebować dodać jakieś opcje (przejrzyj wyjście
2006-11-05 15:37:06 +00:00
polecenia <command > ./configure --help</command> )
2004-04-18 20:29:59 +00:00
</para> </step>
<step > <para >
<screen > make & & make install</screen>
</para> </step>
<step > <para >
2006-10-30 21:25:02 +00:00
Jeżeli użyłeś opcji <option > --enable-divxcompat</option> ,
2004-04-18 20:29:59 +00:00
skopiuj <filename > ../../src/divx4.h</filename> do
<filename class= "directory" > /usr/local/include/</filename> .
</para> </step>
<step > <para >
Przekompiluj <application > MPlayera</application> z opcjami
2006-11-05 15:37:06 +00:00
<option > --with-xvidlibdir=<replaceable > /ścieżka/do/</replaceable> libxvidcore.a</option>
2006-10-30 21:25:02 +00:00
<option > --with-xvidincdir=<replaceable > /ścieżka/do/</replaceable> xvid.h</option> .
2004-04-18 20:29:59 +00:00
</para> </step>
</procedure>
2006-07-12 14:06:43 +00:00
</sect2>
2004-04-18 20:29:59 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "codec-x264" >
2006-11-05 15:37:06 +00:00
<title > <systemitem class= "library" > x264</systemitem> </title>
2005-07-23 12:12:34 +00:00
2006-07-12 14:06:43 +00:00
<sect3 id= "codec-x264-whatis" >
2006-11-05 15:37:06 +00:00
<title > Co to jest <systemitem class= "library" > x264</systemitem> ?</title>
2005-07-23 12:12:34 +00:00
<para >
2006-11-05 15:37:06 +00:00
<ulink url= "http://developers.videolan.org/x264.html" > <systemitem class= "library" > x264</systemitem> </ulink>
jest biblioteką służącą do tworzenia strumieni video H.264.
2006-10-30 21:25:02 +00:00
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ą
2006-11-05 15:37:06 +00:00
nic wspólnego z jakością jako taką; wiele z nich jeszcze nie jest
zaimplementowanych w <systemitem class= "library" > x264</systemitem> .
2005-07-23 12:12:34 +00:00
</para>
<itemizedlist >
2006-10-30 21:25:02 +00:00
<title > Możliwości kodera</title>
2005-07-23 12:12:34 +00:00
<listitem > <para > CAVLC/CABAC</para> </listitem>
<listitem > <para > Wielokrotne referencje</para> </listitem>
2006-10-30 21:25:02 +00:00
<listitem > <para > Intra: wszystkie typy makrobloków
2006-07-12 14:06:43 +00:00
(16x16, 8x8 i 4x4 z wszystkimi predykcjami)</para> </listitem>
2006-10-30 21:25:02 +00:00
<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ły bitrate,
2006-11-05 15:37:06 +00:00
jedno- albo wieloprzebiegowe ABR, opcjonalne VBV</para> </listitem>
2005-07-23 12:12:34 +00:00
<listitem > <para > Wykrywanie zmian scen</para> </listitem>
<listitem > <para > Adaptatywne umieszczanie klatek B</para> </listitem>
2006-11-05 15:37:06 +00:00
<listitem > <para > Referencyjne klatki B / dowolna kolejność
2006-11-05 11:29:02 +00:00
ramek</para> </listitem>
2006-07-12 14:06:43 +00:00
<listitem > <para > adaptywna transformacja przestrzenna
2006-11-05 11:29:02 +00:00
8x8 i 4x4</para> </listitem>
2006-07-12 14:06:43 +00:00
<listitem > <para > tryb bezstratny</para> </listitem>
2006-10-30 21:25:02 +00:00
<listitem > <para > Własne matryce kwantyzacji</para> </listitem>
<listitem > <para > Równoległe kodowanie wielu fragmentów</para> </listitem>
2006-11-27 08:56:42 +00:00
<listitem > <para > Przeplot</para> </listitem>
2005-07-23 12:12:34 +00:00
</itemizedlist>
2006-07-12 14:06:43 +00:00
</sect3>
2005-07-23 12:12:34 +00:00
2006-07-12 14:06:43 +00:00
<sect3 id= "codec-h264-whatis" >
2005-07-23 12:12:34 +00:00
<title > Co to jest H.264</title>
<para >
2006-10-30 21:25:02 +00:00
H.264 jedną z nazw nowego kodeka video opracowanego wspólnie przez ITU
2005-07-23 12:12:34 +00:00
i MPEG.
2006-10-30 21:25:02 +00:00
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
2006-11-05 15:37:06 +00:00
wolniejszych niż jakieś 2.0 GHz.
2006-10-30 21:25:02 +00:00
</para>
<para >
2006-11-05 15:37:06 +00:00
Jeśli używasz <systemitem class= "library" > x264</systemitem> ,
2006-10-30 21:25:02 +00:00
wymagania kodowania nie są o wiele większe niż te, do których przywykliśmy
2005-07-23 12:12:34 +00:00
przy MPEG-4 ASP.
2006-10-30 21:25:02 +00:00
Na przykład, na Athlonie 1733 MHz typowe kodowanie DVD będzie działać
2005-07-23 12:12:34 +00:00
z 5-15fps.
</para>
<para >
2006-10-30 21:25:02 +00:00
Ten dokument nie ma wyjaśniać szczegółów H.264, ale jeśli jesteś
zainteresowany niewielkim wstępem możesz chcieć przeczytać
2005-07-23 12:12:34 +00:00
<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>
2006-07-12 14:06:43 +00:00
</sect3>
2005-07-23 12:12:34 +00:00
2006-07-12 14:06:43 +00:00
<sect3 id= "codec-x264-playback" >
2006-10-30 21:25:02 +00:00
<title > Jak mogę odtwarzać filmy H.264 używając <application > MPlayera</application> </title>
2005-07-23 12:12:34 +00:00
<para >
2006-10-30 21:25:02 +00:00
<application > MPlayer</application> używa dekodera H.264 z
2005-07-23 12:12:34 +00:00
<systemitem class= "library" > libavcodec</systemitem> .
2006-10-30 21:25:02 +00:00
<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ć najnowszej wersji z Subversion.
2005-07-23 12:12:34 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
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
2006-11-05 15:37:06 +00:00
<ulink url= "http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log" > interfejs sieciowy repozytorium SVN FFmpega</ulink>
2005-07-23 12:12:34 +00:00
</para>
2006-07-12 14:06:43 +00:00
</sect3>
2005-07-23 12:12:34 +00:00
2006-07-12 14:06:43 +00:00
<sect3 id= "codec-x264-encode" >
2006-10-30 21:25:02 +00:00
<title > Jak mogę kodować filmy używając <application > MEncodera</application> i <systemitem class= "library" > x264</systemitem> ?</title>
2005-07-23 12:12:34 +00:00
<para >
2006-10-30 21:25:02 +00:00
Jeśli masz zainstalowanego klienta subversion, możesz uzyskać najnowsze
źródła x264 tym poleceniem:
2006-11-05 15:37:06 +00:00
<screen > svn co svn://svn.videolan.org/x264/trunk x264</screen>
2006-10-30 21:25:02 +00:00
Źródła <application > MPlayera</application> są aktualizowane, gdy tylko
zmieni się API <systemitem class= "library" > x264</systemitem> , więc zalecane
jest także używanie <application > MPlayera</application> z Subversion.
Być może sytuacja się zmieni jeśli i gdy nastąpi "wydanie"
2005-07-23 12:12:34 +00:00
<systemitem class= "library" > x264</systemitem> .
2006-10-30 21:25:02 +00:00
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ć.
2005-07-23 12:12:34 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
<systemitem class= "library" > x264</systemitem> buduje się i instaluje
w sposób standardowy:
2006-11-05 15:37:06 +00:00
<screen > ./configure & & make & & sudo make install</screen>
2005-07-23 12:12:34 +00:00
To zainstaluje libx264.a w /usr/local/lib oraz x264.h w /usr/local/include.
2006-10-30 21:25:02 +00:00
Gdy biblioteka i nagłówki <systemitem class= "library" > x264</systemitem> są
już w standardowych miejscach, budowanie <application > MPlayera</application>
z obsługą <systemitem class= "library" > x264</systemitem> jest proste.
2005-07-23 12:12:34 +00:00
Uruchom standardowe:
<screen > ./configure & & make & & sudo make install</screen>
2006-10-30 21:25:02 +00:00
Skrypt konfiguracyjny wykryje że spełniłeś wymagania do obsługi
2005-07-23 12:12:34 +00:00
<systemitem class= "library" > x264</systemitem> .
</para>
</sect3>
2004-04-18 20:29:59 +00:00
</sect2>
2006-07-12 14:06:43 +00:00
</sect1>
2004-04-18 20:29:59 +00:00
<!-- ********** -->
2006-07-12 14:06:43 +00:00
<sect1 id= "audio-codecs" >
2004-04-18 20:29:59 +00:00
<title > Kodeki audio</title>
<itemizedlist >
2006-10-30 21:25:02 +00:00
<title > Najważniejsze ze wszystkich kodeków audio:</title>
2004-04-18 20:29:59 +00:00
<listitem > <simpara >
MPEG layer 1/2/3 (MP1/2/3) audio (<emphasis role= "bold" > natywny</emphasis>
2006-10-30 21:25:02 +00:00
kod, z optymalizacją dla MMX/SSE/3DNow!)
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
<listitem > <simpara >
2004-09-02 06:57:07 +00:00
Windows Media Audio 7 i 8 (AKA WMAv1 i WMAv2) (<emphasis role= "bold" > natywny</emphasis> kod, z
2004-04-18 20:29:59 +00:00
<link linkend= "ffmpeg" > <systemitem class= "library" > libavcodec</systemitem> </link> )
</simpara> </listitem>
<listitem > <simpara >
2004-12-25 22:54:56 +00:00
Windows Media Audio 9 (WMAv3) (poprzez DLL DMO)
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
<listitem > <simpara >
AC3 Dolby audio (<emphasis role= "bold" > natywny</emphasis> kod, z
2006-10-30 21:25:02 +00:00
optymalizacją MMX/SSE/3DNow!)
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
<listitem > <simpara >
2006-10-30 21:25:02 +00:00
przetwarzanie AC3 przez kartę dźwiękową
2004-04-18 20:29:59 +00:00
</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 >
2006-10-30 21:25:02 +00:00
formaty alaw i ulaw, różne gsm, adpcm i pcm i inne stare, proste kodeki
2004-04-18 20:29:59 +00:00
audio
</simpara> </listitem>
2006-07-15 11:42:29 +00:00
<listitem > <simpara >
2006-11-05 11:29:02 +00:00
kodeki mowy Adaptive Multi-Rate (AMR)
2006-07-15 11:42:29 +00:00
</simpara> </listitem>
2004-04-18 20:29:59 +00:00
</itemizedlist>
2006-07-12 14:06:43 +00:00
<sect2 id= "swac3" >
2004-04-18 20:29:59 +00:00
<title > Programowe dekodowanie AC3</title>
<para >
2006-10-30 21:25:02 +00:00
To jest domyślny dekoder używany przez pliki z dźwiękiem AC3.
2004-04-18 20:29:59 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
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
2004-12-25 22:54:56 +00:00
wymaganego przez kodek hwac3.
2004-04-18 20:29:59 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
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
2004-09-01 19:42:51 +00:00
Surround, Centralny i LFE.
2004-04-18 20:29:59 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
Domyślną liczbą kanałów wyjściowych jest 2.
2004-04-18 20:29:59 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
Aby użyć więcej niż dwóch wyjściowych kanałów, będziesz potrzebował
2006-11-05 15:37:06 +00:00
OSS i karty dźwiękowej obsługującej odpowiednią ilość wyjściowych
2006-10-30 21:25:02 +00:00
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).
2004-04-18 20:29:59 +00:00
</para>
2006-07-12 14:06:43 +00:00
</sect2>
2004-04-18 20:29:59 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "hwac3" >
2006-10-30 21:25:02 +00:00
<title > Sprzętowe dekodowanie AC3</title>
2004-04-18 20:29:59 +00:00
<para >
2006-10-30 21:25:02 +00:00
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
2004-09-01 19:42:51 +00:00
C-Media i Soundblaster Live! + sterowniki ALSA (ale nie z OSS) i kartami
2006-10-30 21:25:02 +00:00
dekodującymi DXR3/Hollywood+ MPEG.
2004-04-18 20:29:59 +00:00
</para>
2006-07-12 14:06:43 +00:00
</sect2>
2004-04-18 20:29:59 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "libmad" >
2006-11-05 15:37:06 +00:00
<title > Obsługa <systemitem class= "library" > libmad</systemitem> </title>
2004-04-18 20:29:59 +00:00
<para >
2006-11-05 15:37:06 +00:00
<ulink url= "http://www.underbit.com/products/mad/" > <systemitem class= "library" > libmad</systemitem> </ulink>
jest wieloplatformową,
2006-10-30 21:25:02 +00:00
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
2006-11-05 15:37:06 +00:00
z przewijaniem, ale na platformach bez jednostki zmiennoprzecinkowej (FPU),
czyli na przykład <link linkend= "arm" > ARM</link> ,
może mieć lepszą wydajność niż mp3lib.
2004-04-18 20:29:59 +00:00
</para>
<para >
2006-11-05 15:37:06 +00:00
Jeśli masz prawidłowo zainstalowaną bibliotekę
<systemitem class= "library" > libmad</systemitem> , <filename > ./configure</filename>
zauważy to i automatycznie zostanie zbudowana obsługa dekodowania dźwięku MPEG
przy użyciu <systemitem class= "library" > libmad</systemitem> .
2004-04-18 20:29:59 +00:00
</para>
2006-07-12 14:06:43 +00:00
</sect2>
2004-04-18 20:29:59 +00:00
2006-11-05 15:37:06 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "hwmpa" >
2006-11-05 15:37:06 +00:00
<title > Sprzętowy kodek MPEG audio</title>
2006-11-05 11:29:02 +00:00
<para >
2006-11-05 15:37:06 +00:00
Ten kodek (wybierany poprzez <option > -ac hwmpa</option> ) przepuszcza pakiety
2006-11-05 11:29:02 +00:00
MPEG audio do sprzętowego dekodera takiego, jak ten, który można
znaleźć w pełni wyposażonych kartach DVB i adapterach DXR2.
Nie używaj ich w połączeniu z żadnymi innymi wyjściowymi
2006-11-05 15:37:06 +00:00
urządzeniami audio (np. OSS i ALSA), bo nie będzie to działało
2006-11-05 11:29:02 +00:00
(będziesz słyszeć tylko szum).
</para>
2006-07-12 14:06:43 +00:00
</sect2>
2004-04-18 20:29:59 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "aac" >
2006-11-05 15:37:06 +00:00
<title > Kodek AAC</title>
2004-04-18 20:29:59 +00:00
<para >
AAC (Advanced Audio Coding) jest kodekiem audio spotykanym czasami w plikach
2006-10-30 21:25:02 +00:00
MOV i MP4. Otwarty dekoder nazywany FAAD dostępny jest na stronie
2004-04-18 20:29:59 +00:00
<ulink url= "http://www.audiocoding.com" /> .
2006-10-30 21:25:02 +00:00
<application > MPlayer</application> zawiera migawkę CVS z
libfaad 2.1beta, więc nie musisz ściągać go oddzielnie.
2004-04-18 20:29:59 +00:00
</para>
<para >
2006-10-30 21:25:02 +00:00
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
2004-12-25 22:54:56 +00:00
<ulink url= "http://www.audiocoding.com/modules/mydownloads/" > tej strony</ulink>
2006-10-30 21:25:02 +00:00
i dodaj opcję <option > --enable-external-faad</option> do
2006-11-05 15:37:06 +00:00
<filename > ./configure</filename> . Nie potrzebujesz całego faad2 do dekodowanie
2006-10-30 21:25:02 +00:00
plików AAC. Wystarczy użyć samej biblioteki libfaad. Zbudujesz ją w następujący
sposób
2004-04-18 20:29:59 +00:00
<screen >
cd faad2/
2005-02-16 20:32:14 +00:00
sh bootstrap
2004-04-18 20:29:59 +00:00
./configure
cd libfaad
make
make install
</screen>
2006-10-30 21:25:02 +00:00
Wersje binarne nie są dostępne na stronie audiocoding.com, ale możesz
2006-11-05 15:37:06 +00:00
ściągnąć (apt-getem) Debianowe paczki ze
<ulink url= "http://www.debian-multimedia.org/" > strony domowej Christiana Marillata</ulink> ,
2006-07-15 11:42:29 +00:00
RPM-y dla Mandrake/Mandriva ze strony <ulink url= "http://plf.zarb.org" > P.L.F</ulink> .
a RedHatowe RPM-y z
2004-09-01 19:42:51 +00:00
<ulink url= "http://greysector.rangers.eu.org/" > Grey Sector</ulink> .
2004-04-18 20:29:59 +00:00
</para>
</sect2>
2006-11-05 15:37:06 +00:00
2006-07-15 11:42:29 +00:00
<sect2 id= "amr" >
2006-11-05 15:37:06 +00:00
<title > Kodeki AMR</title>
2006-11-05 11:29:02 +00:00
<para >
2006-11-05 15:37:06 +00:00
Kodeki mowy Adaptive Multi-Rate są używane w telefonii komórkowej
2006-11-05 11:29:02 +00:00
trzeciej generacji (3G).
Opis implementacji udostępniany jest przez
<ulink url= "http://www.3gpp.org" > The 3rd Generation Partnership Project</ulink>
(za darmo dla osób prywatnych).
</para>
<para >
Żeby uaktywnić obsługę kodeków, pobierz źródła kodeków
2006-11-05 15:37:06 +00:00
<ulink url= "http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip" > AMR-NB</ulink> i
<ulink url= "http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip" > AMR-WB</ulink> ,
2006-11-05 11:29:02 +00:00
umieść je w katalogu do którego rozpakowałeś źródła
<application > MPlayera</application> i wpisz następujące komendy:
<screen >
unzip 26104-610.zip
unzip 26104-610_ANSI_C_source_code.zip
mv c-code libavcodec/amr_float
unzip 26204-600.zip
unzip 26204-600_ANSI-C_source_code.zip
mv c-code libavcodec/amrwb_float
</screen>
Gdy już to zrobisz, kontynuuj <link linkend= "features" > budowanie</link>
<application > MPlayera</application> tak, jak zwykle.
</para>
2006-07-15 11:42:29 +00:00
</sect2>
2006-07-12 14:06:43 +00:00
</sect1>
2004-04-18 20:29:59 +00:00
<!-- ********** -->
2006-07-12 14:06:43 +00:00
<sect1 id= "codec-importing" >
2006-11-05 15:37:06 +00:00
<title > Importowanie kodeków Win32-HOWTO</title>
2004-04-18 20:29:59 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "vfw-codecs" >
2006-11-05 15:37:06 +00:00
<title > Kodeki VFW</title>
2004-04-18 20:29:59 +00:00
<para >
2006-10-30 21:25:02 +00:00
VFW (Video for Windows) jest starym API Video pod Windows. Jego kodeki mają
2004-09-01 19:42:51 +00:00
rozszerzenie <filename > .DLL</filename> albo (rzadziej)
2006-10-30 21:25:02 +00:00
<filename > .DRV</filename> . Jeżeli <application > MPlayer</application> odmawia
2006-11-05 15:37:06 +00:00
odtwarzania plików AVI z komunikatem typu
2004-04-18 20:29:59 +00:00
<screen > UNKNOWN video codec: HFYU (0x55594648)</screen>
2006-10-30 21:25:02 +00:00
oznacza to, że twój plik AVI jest zakodowany z użyciem kodeka, który korzysta
2004-09-01 19:42:51 +00:00
z fourcc HFYU (HFYU = kodek HuffYUV, DIV3 = DivX Low Motion, itd.;
2006-10-30 21:25:02 +00:00
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:
2004-04-18 20:29:59 +00:00
<programlisting > VIDC.HFYU=huffyuv.dll</programlisting>
</para>
<para >
2006-10-30 21:25:02 +00:00
Zatem potrzebujesz pliku <filename > huffyuv.dll</filename> . Zauważ, że kodeki
audio są oznaczane za pomocą prefiksu MSACM:
2004-04-18 20:29:59 +00:00
<programlisting > msacm.l3acm=L3codeca.acm</programlisting>
</para>
<para >
2006-10-30 21:25:02 +00:00
Jest to kodek MP3. Teraz powinieneś mieć wszystkie niezbędne informacje
2006-11-05 15:37:06 +00:00
(fourcc, plik z kodekiem, przykładowy plik AVI). Umieść swoją prośbę o obsługę
kodeka za pomocą poczty elektronicznej i wyślij ww. pliki na poniższy
2004-09-01 19:42:51 +00:00
serwer FTP:
2004-04-18 20:29:59 +00:00
<systemitem role= "url" >
2006-11-05 15:37:06 +00:00
ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable > < nazwakodeka> </replaceable> /
2004-04-18 20:29:59 +00:00
</systemitem>
</para>
2006-10-30 21:25:02 +00:00
<note > <para > W systemach Windows NT/2000/XP szukaj powyższych informacji
w rejestrze, np. szukaj wyrażenia " VIDC.HFYU" . Aby dowiedzieć się jak
to zrobić, spójrz niżej na starą metodę DirectShow.
2004-04-18 20:29:59 +00:00
</para> </note>
2006-07-12 14:06:43 +00:00
</sect2>
2004-04-18 20:29:59 +00:00
2006-07-12 14:06:43 +00:00
<sect2 id= "dshow-codecs" >
2004-04-18 20:29:59 +00:00
<title > Kodeki DirectShow</title>
<para >
2006-10-30 21:25:02 +00:00
DirectShow jest nowszym API Video, które jest nawet gorsze od swojego
poprzednika. Sprawa ma się gorzej z DirectShow, ponieważ:
2004-04-18 20:29:59 +00:00
<itemizedlist >
<listitem > <simpara >
<filename > system.ini</filename> nie zawiera wymaganych informacji,
2006-10-30 21:25:02 +00:00
zamiast tego są one przechowywane w rejestrze.
2004-04-18 20:29:59 +00:00
</simpara> </listitem>
<listitem > <simpara >
Z tego powodu wymagane jest GUID kodeka.
</simpara> </listitem>
</itemizedlist>
</para>
<procedure >
<title > Nowa metoda:</title>
<para >
2006-10-30 21:25:02 +00:00
Używając <application > Microsoft GraphEdit</application> (szybki sposób)
2004-04-18 20:29:59 +00:00
</para>
<step > <para >
Pobierz <application > GraphEdit</application> z dowolnego DirectX SDK, albo z
2004-11-13 15:12:48 +00:00
<ulink url= "http://doom9.net" > doom9</ulink>
2004-04-18 20:29:59 +00:00
</para> </step>
<step > <para >
Uruchom <command > graphedit.exe</command> .
</para> </step>
<step > <para >
Z menu wybierz Graph -> Insert Filters.
</para> </step>
<step > <para >
2006-10-30 21:25:02 +00:00
Rozwiń listę <systemitem > DirectShow Filters</systemitem>
2004-04-18 20:29:59 +00:00
</para> </step>
<step > <para >
2006-10-30 21:25:02 +00:00
Wybierz właściwy kodek i rozwiń go.
2004-04-18 20:29:59 +00:00
</para> </step>
<step > <para >
2006-10-30 21:25:02 +00:00
We wpisie <systemitem > DisplayName</systemitem> spójrz na tekst w
nawiasach klamrowych po znaku "backslash" i zapisz go (pięć bloków
2004-09-01 19:42:51 +00:00
oddzielonych kreskami, GUID).
2004-04-18 20:29:59 +00:00
</para> </step>
<step > <para >
2006-10-30 21:25:02 +00:00
Binariami kodeka jest plik określony w polu <systemitem > Filename</systemitem> .
2004-04-18 20:29:59 +00:00
</para> </step>
</procedure>
<note >
<para >
2006-10-30 21:25:02 +00:00
Jeżeli nie ma pola <systemitem > Filename</systemitem> , a
<systemitem > DisplayName</systemitem> zawiera coś w stylu
2006-11-05 15:37:06 +00:00
<systemitem > device:dmo</systemitem> , to jest to kodek DMO.
2004-04-18 20:29:59 +00:00
</para>
</note>
<procedure >
<title > Stara Metoda:</title>
<para >
2006-10-30 21:25:02 +00:00
Weź głęboki oddech i zacznij przeszukiwanie rejestru...
2004-04-18 20:29:59 +00:00
</para>
<step > <para >
Uruchom <command > regedit</command> .
</para> </step>
<step > <para >
2006-10-30 21:25:02 +00:00
Naciśnij <keycap > Ctrl</keycap> +<keycap > F</keycap> , odznacz dwa pierwsze
2004-04-18 20:29:59 +00:00
pola (checkboxes) i zaznacz trzecie. Wpisz fourcc kodeka (np.
<userinput > TM20</userinput> ).
</para> </step>
<step > <para >
2006-11-05 15:37:06 +00:00
Powinieneś zobaczyć pole zawierające ścieżkę i nazwę pliku (np.
2004-04-18 20:29:59 +00:00
<filename > C:\WINDOWS\SYSTEM\TM20DEC.AX</filename> ).
</para> </step>
<step > <para >
2006-10-30 21:25:02 +00:00
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
2004-04-18 20:29:59 +00:00
<guimenu > Plik</guimenu> -> <guisubmenu > Opcje</guisubmenu> ->
<guimenuitem > Zaawansowane</guimenuitem> .
2006-10-30 21:25:02 +00:00
Jeżeli jej tam nie będzie, to masz pecha. Spróbuj odgadnąć nazwę (np. spróbuj
wyszukać "TrueMotion").
2004-04-18 20:29:59 +00:00
</para> </step>
<step > <para >
2006-10-30 21:25:02 +00:00
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.
2004-04-18 20:29:59 +00:00
</para> </step>
</procedure>
<note >
<para >
2006-10-30 21:25:02 +00:00
Jeżeli wyszukiwanie się nie powiedzie, spróbuj zaznaczyć wszystkie pola
2006-11-05 15:37:06 +00:00
(checkboxes). Prawdopodobnie dostaniesz fałszywe trafienia, ale być może
2006-10-30 21:25:02 +00:00
będziesz miał szczęście...
2004-04-18 20:29:59 +00:00
</para>
</note>
<para >
2006-10-30 21:25:02 +00:00
Teraz, kiedy masz już wszystkie niezbędne informacje (fourcc, GUID, plik
2006-11-05 15:37:06 +00:00
z kodekiem, przykładowy plik AVI), umieść swoją prośbę o obsługę kodeka
2006-10-30 21:25:02 +00:00
za pomocą poczty elektronicznej i wyślij ww. pliki na poniższy serwer FTP:
2006-11-05 15:37:06 +00:00
<systemitem role= "url" > ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable > < nazwakodeka> </replaceable> /
2004-04-18 20:29:59 +00:00
</systemitem>
</para>
2004-12-25 22:54:56 +00:00
<para >
2006-10-30 21:25:02 +00:00
Jeżeli chcesz samodzielnie dodać obsługę kodeka, przeczytaj
2004-12-25 22:54:56 +00:00
<ulink url= "http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt" >
2006-10-30 21:25:02 +00:00
DOCS/tech/codecs.conf.txt</ulink> (tylko po angielsku - przyp. tłum.).
2004-12-25 22:54:56 +00:00
</para>
2004-04-18 20:29:59 +00:00
</sect2>
</sect1>
2006-07-12 14:06:43 +00:00
</chapter>