mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 06:42:03 +00:00
66e747f5be
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26146 b3059339-0415-0410-9bf9-f77b7e298cf2
719 lines
25 KiB
XML
719 lines
25 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- synced with r21748 -->
|
|
<!-- Opiekun: Boski -->
|
|
<chapter id="codecs">
|
|
<title>Obsługiwane kodeki</title>
|
|
|
|
<sect1 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/design7/dload.html#binary_codecs">strony z kodekami</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
Najważniejsze ze wszystkich:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) i
|
|
<emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) video
|
|
</para></listitem>
|
|
<listitem><para>
|
|
natywne dekodery dla <emphasis role="bold">wszystkich wariantów DivX,
|
|
3ivX, Microsoft MPEG-4</emphasis> v1, v2 i innych rodzajów MPEG-4
|
|
</para></listitem>
|
|
<listitem><para>
|
|
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>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
natywny dekoder <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
natywny dekoder <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
dekoder <emphasis role="bold">3ivX</emphasis> w wersji 1 i 2
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Kodeki Cinepak i <emphasis role="bold">Intel Indeo</emphasis>
|
|
(3.1,3.2,4.1,5.0)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 i inne formaty
|
|
sprzętowe
|
|
</para></listitem>
|
|
<listitem><para>
|
|
VIVO 1.0, 2.0, I263 i inne warianty
|
|
<emphasis role="bold">H.263(+)</emphasis>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
FLI/FLC
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">RealVideo 1.0 i 2.0</emphasis> przy użyciu
|
|
<systemitem class="library">libavcodec</systemitem> i kodeki
|
|
<emphasis role="bold">RealVideo 3.0 i 4.0</emphasis> używające bibliotek
|
|
RealPlayer
|
|
</para></listitem>
|
|
<listitem><para>
|
|
natywny dekoder HuffYUV
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Różne stare proste formaty podobne do RLE
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
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ę.
|
|
</para>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
|
|
<title>FFmpeg/libavcodec</title>
|
|
|
|
<para>
|
|
<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>.
|
|
</para>
|
|
|
|
<para>
|
|
Pełną listę obsługiwanych kodeków
|
|
<ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC19">video</ulink>
|
|
i <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC20">audio</ulink>
|
|
znajdziesz na stronie FFmpeg.
|
|
</para>
|
|
|
|
<para>
|
|
<application>MPlayer</application> zawiera
|
|
<systemitem class="library">libavcodec</systemitem>.
|
|
Po prostu uruchom <filename>./configure</filename> i kompiluj.
|
|
</para>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 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.
|
|
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>
|
|
|
|
<para>
|
|
Zauważ, że Xvid nie jest konieczny do odtwarzania video zakodowanego przy
|
|
pomocy Xvid. Domyślnie używana jest biblioteka
|
|
<systemitem class="library">libavcodec</systemitem>, bo jest szybsza.
|
|
</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
|
|
polecenia <command>./configure --help</command>)
|
|
</para></step>
|
|
<step><para>
|
|
<screen>make && 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-xvidlibdir=<replaceable>/ścieżka/do/</replaceable>libxvidcore.a</option>
|
|
<option>--with-xvidincdir=<replaceable>/ścieżka/do/</replaceable>xvid.h</option>.
|
|
</para></step>
|
|
</procedure>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="codec-x264">
|
|
<title><systemitem class="library">x264</systemitem></title>
|
|
|
|
<sect3 id="codec-x264-whatis">
|
|
<title>Co to jest <systemitem class="library">x264</systemitem>?</title>
|
|
|
|
<para>
|
|
<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.
|
|
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 jest
|
|
zaimplementowanych 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, 8x8 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ły bitrate,
|
|
jedno- albo wieloprzebiegowe ABR, opcjonalne VBV
|
|
</para></listitem>
|
|
<listitem><para>Wykrywanie zmian scen</para></listitem>
|
|
<listitem><para>Adaptatywne umieszczanie klatek B</para></listitem>
|
|
<listitem><para>
|
|
Referencyjne klatki B / dowolna kolejność ramek
|
|
</para></listitem>
|
|
<listitem><para>
|
|
adaptywna transformacja przestrzenna 8x8 i 4x4
|
|
</para></listitem>
|
|
<listitem><para>tryb bezstratny</para></listitem>
|
|
<listitem><para>Własne matryce kwantyzacji</para></listitem>
|
|
<listitem><para>Równoległe kodowanie wielu fragmentów</para></listitem>
|
|
<listitem><para>Przeplot</para></listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
|
|
<sect3 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ż jakieś 2.0 GHz.
|
|
</para>
|
|
|
|
<para>
|
|
Jeśli używasz <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>
|
|
</sect3>
|
|
|
|
|
|
<sect3 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ć najnowszej wersji z Subversion.
|
|
</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://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log">interfejs sieciowy repozytorium SVN FFmpega</ulink>
|
|
</para>
|
|
</sect3>
|
|
|
|
|
|
<sect3 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 zalecane
|
|
jest także używanie <application>MPlayera</application> z Subversion.
|
|
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 && make && 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> są
|
|
już w standardowych miejscach, budowanie <application>MPlayera</application>
|
|
z obsługą <systemitem class="library">x264</systemitem> jest proste.
|
|
Uruchom standardowe:
|
|
<screen>./configure && make && sudo make install</screen>
|
|
Skrypt konfiguracyjny wykryje że spełniłeś wymagania do obsługi
|
|
<systemitem class="library">x264</systemitem>.
|
|
</para>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="audio-codecs">
|
|
<title>Kodeki audio</title>
|
|
|
|
<itemizedlist>
|
|
<title>Najważniejsze ze wszystkich kodeków audio:</title>
|
|
<listitem><para>
|
|
MPEG layer 1/2/3 (MP1/2/3) audio (<emphasis role="bold">natywny</emphasis>
|
|
kod, z optymalizacją dla MMX/SSE/3DNow!)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
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>)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Windows Media Audio 9 (WMAv3) (poprzez DLL DMO)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
AC3 Dolby audio (<emphasis role="bold">natywny</emphasis> kod, z
|
|
optymalizacją MMX/SSE/3DNow!)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
przetwarzanie AC3 przez kartę dźwiękową
|
|
</para></listitem>
|
|
<listitem><para>
|
|
AAC
|
|
</para></listitem>
|
|
<listitem><para>
|
|
kodek Ogg Vorbis audio (<emphasis role="bold">natywna</emphasis> biblioteka)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
RealAudio: DNET (AC3 z niskim bitratem), Cook, Sipro i ATRAC3
|
|
</para></listitem>
|
|
<listitem><para>
|
|
QuickTime: kodeki Qualcomm i QDesign
|
|
</para></listitem>
|
|
<listitem><para>
|
|
VIVO audio (g723, Vivo Siren)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Voxware audio (poprzez DirectShow DLL)
|
|
</para></listitem>
|
|
<listitem><para>
|
|
formaty alaw i ulaw, różne gsm, adpcm i pcm i inne stare, proste kodeki
|
|
audio
|
|
</para></listitem>
|
|
<listitem><para>
|
|
kodeki mowy Adaptive Multi-Rate (AMR)
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 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 karty dźwiękowej obsługującej odpowiednią ilość 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>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 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>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="libmad">
|
|
<title>Obsługa <systemitem class="library">libmad</systemitem></title>
|
|
|
|
<para>
|
|
<ulink url="http://www.underbit.com/products/mad/"><systemitem class="library">libmad</systemitem></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 na platformach bez jednostki zmiennoprzecinkowej (FPU),
|
|
czyli na przykład <link linkend="arm">ARM</link>,
|
|
może mieć lepszą wydajność niż mp3lib.
|
|
</para>
|
|
|
|
<para>
|
|
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>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="hwmpa">
|
|
<title>Sprzętowy kodek MPEG audio</title>
|
|
|
|
<para>
|
|
Ten kodek (wybierany poprzez <option>-ac hwmpa</option>) przepuszcza pakiety
|
|
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
|
|
urządzeniami audio (np. OSS i ALSA), bo nie będzie to działało
|
|
(będziesz słyszeć tylko szum).
|
|
</para>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="aac">
|
|
<title>Kodek AAC</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ę CVS 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 ze
|
|
<ulink url="http://www.debian-multimedia.org/">strony domowej Christiana Marillata</ulink>,
|
|
RPM-y dla Mandrake/Mandriva ze strony <ulink url="http://plf.zarb.org">P.L.F</ulink>,
|
|
a RPM-y dla Fedory z <ulink url="http://rpm.livna.org/">Livna</ulink>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="amr">
|
|
<title>Kodeki AMR</title>
|
|
|
|
<para>
|
|
Kodeki mowy Adaptive Multi-Rate są używane w telefonii komórkowej
|
|
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
|
|
<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>,
|
|
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>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="codec-importing">
|
|
<title>Importowanie kodeków Win32-HOWTO</title>
|
|
|
|
<sect2 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 typu
|
|
<screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
|
|
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 obsługę
|
|
kodeka za pomocą poczty elektronicznej i wyślij ww. pliki na poniższy
|
|
serwer FTP:
|
|
<systemitem role="url">
|
|
ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><nazwakodeka></replaceable>/
|
|
</systemitem>
|
|
</para>
|
|
|
|
<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.
|
|
</para></note>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 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><para>
|
|
<filename>system.ini</filename> nie zawiera wymaganych informacji,
|
|
zamiast tego są one przechowywane w rejestrze.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Z tego powodu wymagane jest GUID kodeka.
|
|
</para></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
|
|
<menuchoice><guimenu>Graph</guimenu>
|
|
<guisubmenu>Insert Filters</guisubmenu></menuchoice>.
|
|
</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 kodek DMO.
|
|
</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 <keycombo><keycap>Ctrl</keycap><keycap>F</keycap></keycombo>,
|
|
odznacz dwa pierwsze pola (checkboxes) i zaznacz trzecie. Wpisz fourcc kodeka
|
|
(np. <userinput>TM20</userinput>).
|
|
</para></step>
|
|
<step><para>
|
|
Powinieneś zobaczyć pole zawierają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
|
|
<menuchoice><guimenu>Plik</guimenu> <guisubmenu>Opcje</guisubmenu>
|
|
<guimenuitem>Zaawansowane</guimenuitem></menuchoice>.
|
|
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 fałszywe trafienia, 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 obsługę kodeka
|
|
za pomocą poczty elektronicznej i wyślij ww. pliki na poniższy serwer FTP:
|
|
<systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><nazwakodeka></replaceable>/</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>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
</chapter>
|