mirror of
https://github.com/mpv-player/mpv.git
synced 2026-06-06 20:10:30 +00:00
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10046 b3059339-0415-0410-9bf9-f77b7e298cf2
568 lines
24 KiB
HTML
568 lines
24 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML>
|
|
|
|
<HEAD>
|
|
<TITLE>Kodeki - MPlayer - Odtwarzacz Filmów dla Linuksa</TITLE>
|
|
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
|
|
|
|
<H2><A NAME="codecs">2.2 Wspierane kodeki</A></H2>
|
|
|
|
|
|
<H3><A NAME="video_codecs">2.2.1 Kodeki wideo</A></H3>
|
|
|
|
<P>Zobacz <A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">tabelę statusu kodeków</A>
|
|
po kompletną, codziennie tworzoną listę.</P>
|
|
|
|
<P>Najważniejsze z nich to:</P>
|
|
<UL>
|
|
<LI><B>MPEG1</B> (<B>VCD</B>) i <B>MPEG2</B> (<B>DVD</B>) wideo</LI>
|
|
<LI>natywny dekoder dla <B>DivX ;-)</B>, <B>OpenDivX</B>, <B>DivX4</B>, <B>
|
|
DivX5</B>, <B>M$ MPEG4</B> v1, v2 i inne warianty MPEG4</LI>
|
|
<LI>natywny dekoder dla <B>Windows Media Video 7/8</B> (<B>WMV1/WMV2</B>), i
|
|
dekoder Win32 DLL dla <B>Windows Media Video 9</B> (<B>WMV3</B>), oba
|
|
używane w plikach .wmv</LI>
|
|
<LI>natywny dekoder <B>Sorenson 1 (SVQ1)</B></LI>
|
|
<LI>dekoder Win32/QT <B>Sorenson 3 (SVQ3)</B></LI>
|
|
<LI>dekoder <B>3ivx</B> v1, v2</LI>
|
|
<LI>kodeki Cinepak i <B>Intel Indeo</B> (3.1, 3.2, 4.1, 5.0)</LI>
|
|
<LI><B>MJPEG</B>, AVID, VCR2, ASV2 i inne sprzętowe formaty</LI>
|
|
<LI>VIVO 1.0, 2.0, I263 i inne warianty h263(+)</LI>
|
|
<LI>FLI/FLC</LI>
|
|
<LI>kodek <B>RealVideo 1.0</B> libavcodec, i kodeki <B>RealVideo 2.0</B>,
|
|
<B>3.0</B> i <B>4.0</B> używające bibliotek RealPlayer</LI>
|
|
<LI>natywny dekoder dla HuffYUV</LI>
|
|
<LI>różne stare, proste formaty, jak np. RLE</LI>
|
|
</UL>
|
|
|
|
<P>Jeżeli masz kodeka Win32 nie wyszczególnionego tutaj, który nie jest jeszcze wspierany,
|
|
prosimy, przeczytaj <A HREF="#importing">HOWTO importowania kodeków</A> i pomóż nam dodać
|
|
obsługę dla niego.</P>
|
|
|
|
|
|
<H4><A NAME="divx">2.2.1.1 DivX4/DivX5</A></H4>
|
|
|
|
</P>Ta sekcja zawiera informacje o kodekach DivX4 i DivX5 z
|
|
<A HREF="http://www.projectmayo.com">Project Mayo</A>.
|
|
Ich pierwszą dostępną wersją alfa był OpenDivX 4.0 alfa 47 oraz 48.
|
|
Wsparcie dla nich zostało dołączone w MPlayerze, i jest kompilowane
|
|
standardowo. Dawniej używaliśmy kodu postprocessing z tych kodeków do
|
|
opcjonalnego zwiększenia jakości filmów MPEG1/2. Teraz już stosujemy własny.</P>
|
|
|
|
<P>Nowa generacja tych kodeków potrafi nawet dekodować filmy zrobione
|
|
z użyciem niesławnych kodeków DivX! W dodatku, są one dużo szybsze,
|
|
niż natywne DLLe Win32 DivX, ale wolniejsze niż libavcodec. W związku z tym,
|
|
używanie ich jako kodera jest <B>ODRADZANE</B>. Jednak, da się nimi kodować.
|
|
Jedną wadą jest to, że nie są one dostępne na licencji Open Source.</P>
|
|
|
|
<P>DivX4Linux pracuje w dwóch trybach:</P>
|
|
|
|
<DL>
|
|
<DT><CODE>-vc odivx</CODE></DT>
|
|
<DD>Użycie kodeka sposobem OpenDivX. W tym przypadku produkuje on
|
|
we własnym buforze obrazy YV12, a MPlayer dokonuje konwersji
|
|
przestrzeni kolorów przy pomocy libvo. (<B>Szybkie, zalecane!</B>)</DD>
|
|
|
|
<DT><CODE>-vc divx4</CODE></DT>
|
|
<DD>Użycie konwersji przestrzeni kolorów z kodeka divx4. W tym
|
|
trybie można użyć również YUY2/UYVY. (<B>POWOLNE</B>)</DD>
|
|
</DL>
|
|
|
|
<P>Metoda <CODE>-vc odivx</CODE>Metoda 'odivx' jest zazwyczaj szybsza, ze
|
|
względu na fakt, że przenosi ona dane obrazu do formatu YV12 (planar YUV 4:2:0),
|
|
a to wymaga dużo mniejszego pasma przenoszenia na szynie. W trybie
|
|
spakowanego YUV (YUY2, UYVY) stosuj metodę <CODE>-vc divx4</CODE>.
|
|
W trybie RGB prędkości są takie same, różnią się być może tylko
|
|
w odniesieniu do aktualnej głębi kolorów.</P>
|
|
|
|
<P><B>Informacja:</B> Jeżeli twój sterownik <CODE>-vo</CODE> wspiera bezpośrednie renderowanie,
|
|
wtedy <CODE>-vc divx4</CODE> może być szybszy lub być najszybszym rozwiązaniem.</P>
|
|
|
|
<P>Kodek możesz pobrać z
|
|
<P>Binarne biblioteki kodeka Divx4/5 możesz pobrać z
|
|
<A HREF="http://avifile.sourceforge.net">avifile</A> lub
|
|
<A HREF="http://www.divx.com">divx.com</A>.
|
|
Rozpakuj go, jako root uruchom <CODE>./install.sh</CODE> i nie zapomnij dodać
|
|
<CODE>/usr/local/lib</CODE> do twojego <CODE>/etc/ld.so.conf</CODE> i uruchom
|
|
<CODE>ldconfig</CODE>.</P>
|
|
|
|
<P>Pobierz wersję CVS STARYCH bibliotek jądra OpenDivx w taki sposób (lub podobny):</P>
|
|
|
|
<OL>
|
|
<LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login</CODE></LI>
|
|
<LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore</CODE></LI>
|
|
<LI>Ta biblioteka jądra jest podzielona na bibliotekę dekodującą i kodującą
|
|
więc muszą być kompilowane odzielnie. Dla biblioteki dekodującej, po prostu podaj
|
|
<PRE>
|
|
cd divxcore/decore/build/linux
|
|
make
|
|
cp libdivxdecore.so /usr/local/lib
|
|
ln -s libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
|
|
cp ../../src/decore.h /usr/local/include
|
|
</PRE>
|
|
</LI>
|
|
<LI>Niestety, dla biblioteki kodującej nie ma dostępnego Linux Makefile, a
|
|
optymalizacja kodu dla MMX działa tylko w Windowsie. Nadal możesz skompilować ją,
|
|
używając tego
|
|
<A HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">Makefile</A>.
|
|
<PRE>
|
|
cd ../../../encore/build
|
|
mkdir linux
|
|
cd linux
|
|
cp path/Makefile .
|
|
make
|
|
cp libdivxencore.so /usr/local/lib
|
|
ln -s libdivxencore.so /usr/local/lib/libdivxencore.so.0
|
|
cp ../../src/encore.h /usr/local/include
|
|
</PRE>
|
|
</LI>
|
|
</OL>
|
|
|
|
<P>MPlayer automatycznie wykrywa, czy DivX4/DivX5 jest poprawnie zainstalowany,
|
|
po prostu skompilować tak jak zwykle. Jeżeli nie został wykryty, nie zainstalowałeś
|
|
go, lub skonfiguruj go poprawnie.</P>
|
|
|
|
|
|
<H4><A NAME="libavcodec">2.2.1.2 FFmpeg DivX/libavcodec</A></H4>
|
|
|
|
<P><A HREF="http://ffmpeg.sourceforge.net">FFmpeg</A> zawiera pakiet
|
|
kodeków <B>open source</B>, które są zdolne dekodować strumienie
|
|
wideo skodowane do
|
|
H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV
|
|
i kodeki audio WMA (Windows Media Audio). Nie dość, że niektórymi z nich możesz
|
|
kodować, oferują również wyższą prędkość niż kodeki Win32
|
|
lub biblioteki DivX.com DivX4/5!</P>
|
|
|
|
<P>Zawiera wiele niezłych kodeków, z czego najistotniejszymi są warianty MPEG4:
|
|
DivX3, DivX4, DivX5, Windows Media Video 7 (WMV1). Ponad to, jednym z bardziej
|
|
interesujących jest dekoder WMA.</P>
|
|
|
|
<P>Jeżeli używasz wydania MPlayera (nie CVS) masz libavcodec i pakiecie, po prostu
|
|
skompiluj go jak zazwyczaj. Jeżeli używasz MPlayera z CVS musisz wydobyć
|
|
libavcodec z drzewa CVS FFmpeg, ponieważ wydanie FFmpeg <B>nie</B>
|
|
działa z MPlayerem. By to zrobić, wykonaj:</P>
|
|
|
|
<OL>
|
|
<LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login</CODE></LI>
|
|
<LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg</CODE></LI>
|
|
<LI>Przenieś katalog <CODE>libavcodec</CODE> ze źródeł FFmpeg sources do
|
|
głównego katalogu drzewa CVS MPlayera. To powinno wyglądać mniej więcej tak:
|
|
<P> <CODE>main/libavcodec</CODE></P>
|
|
Linki symboliczne <B>nie są</B> wystarczające, musisz go skopiować lub przenieść!</LI>
|
|
<LI>Kompilacja. Configure powinno wykryć problemy, przed kompilacją.</LI>
|
|
</OL>
|
|
|
|
<P><B>Informacja:</B> MPlayer z CVS zawiera podkatalog libavcodec, ale
|
|
<B>nie</B> zawiera kodu libavcodec!
|
|
Musisz podążać za powyższymi krokami, by uzyskać kod tej biblioteki.</P>
|
|
|
|
<P>Z FFmpeg i moim Matroxem G400, Mogę oglądać nawet filmy DivX w wysokiej rozdzielczości
|
|
DivX bez gubienia klatek na moim K6/2 500.</P>
|
|
|
|
|
|
<H4><A NAME="xanim">2.2.1.3 Kodeki XAnim</A></H4>
|
|
|
|
<H4>PRZEDMOWA</H4>
|
|
<P>
|
|
Musisz wiedzieć, że binarne kodeki XAnim są pakietami częściowo objętymi
|
|
prawem własności, po to, by mogły być legalnie rozprowadzane, zawierają
|
|
również licencję która, zawierając inne restrykcje, zabrania użytkownikom
|
|
używanie kodeków wraz z programami innymi niż XAnim.
|
|
Jednak autorzy XAnim nie prowadzą już żadnych działań prawnych
|
|
w sprawach związanych z kodekami.
|
|
</P>
|
|
|
|
<H4>INSTALACJA I UŻYWANIE</H4>
|
|
<P>MPlayer potrafi używać kodeków XAnim do kodowania. Podążaj za poniższymi
|
|
instrukcjami, by je włączyć:</P>
|
|
|
|
<OL>
|
|
<LI>Pobierz kodeki których chcesz używać ze
|
|
<A HREF="http://xanim.va.pubnix.com">strony XAnim</A>. Nie ma tam kodeka
|
|
<B>3ivx</B>, ale na <A HREF="http://www.3ivx.com">stronie 3ivx</A>.</LI>
|
|
<LI><B>LUB</B> pobierz pakiet kodeków z naszej
|
|
<A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">strony z kodekami</A>.
|
|
</LI>
|
|
<LI>Użyj opcji <CODE>--with-xanimlibdir</CODE> by podać do configure, gdzie ma
|
|
ma szukać kodeków XAnim. Domyślnie, szuka ich w
|
|
<CODE>/usr/local/lib/xanim/mods, /usr/lib/xanim/mods i /usr/lib/xanim</CODE>.
|
|
Alternatywnie, możesz ustawić zmienną środowiskową <I>XANIM_MOD_DIR</I> na
|
|
katalog z kodekami XAnim.</LI>
|
|
<LI>Zmień nazwy/stwórz linki do plików, wycinając część dotyczącą architektury, tak więc
|
|
nazwy plików będą wyglądały tak: <CODE>vid_cvid.xa, vid_h263.xa, vid_iv50.xa</CODE>.</LI>
|
|
</OL>
|
|
|
|
<P>XAnim należy do rodziny kodeków <CODE>xanim</CODE>, więc możliwe że będziesz chciał
|
|
użyć opcji <CODE>-vfm xanim</CODE> by poinformować MPlayera, że ma ich używać,
|
|
jeżeli jest to możliwe.</P>
|
|
|
|
<P>Testowane kodeki zawierają: <B>Indeo 3.2</B>, <B>4.1</B>, <B>5.0</B>, <B>CVID</B>,
|
|
<B>3ivX</B>, <B>h263</B>.</P>
|
|
|
|
|
|
<H4><A NAME="vivo_video">2.2.1.4 Wideo VIVO</A></H4>
|
|
|
|
<P>MPlayer może odtwarzać wideo Vivo (1.0 i 2.0). Najbardziej odpowiednim kodekiem
|
|
dla plików 1.0 jest dekoder H263 z FFmpeg, możesz użyć go opcją <CODE>-vc ffh263</CODE>
|
|
Dla plików 2.0 używaj DLL'i Win32 poprzez opcję <CODE>-vc vivo</CODE>. Jeżeli nie podasz
|
|
opcji w linii komend MPlayer automatycznie wybierze najlepszy kodek.</P>
|
|
|
|
|
|
<H4><A NAME="mpeg">2.2.1.5 Wideo MPEG 1/2</A></H4>
|
|
|
|
<P>MPEG1 i MPEG2 są dekodowane przez wieloplatformową natywną bibliotekę
|
|
<B>libmpeg2</B>, której kod jest dołączony do MPlayera. Odtwarzamy błędne
|
|
pliki wideo MPEG 1/2 poprzez wyłapywanie <CODE>Signal 11 (Segmentation fault)</CODE>,
|
|
i szybką reinicjalizację kodeka, kontynuując dokładne z miejsca, gdzie błąd
|
|
wystąpił. Ta technika odzyskiwania, nie powoduję wymiernych strat na prędkości.</P>
|
|
|
|
|
|
<H4><A NAME="ms_video1">2.2.1.6 MS Video1</A></H4>
|
|
|
|
<P>Jest bardzo stary i bardzo zły kodek Microsoftu. W przeszłości był on
|
|
dekodowany z kodekiem Win32 <CODE>msvidc32.dll</CODE>, teraz mamy własną
|
|
implementację open source (wykonaną przez <A HREF="mailto:melanson@pcisys.net">
|
|
Mike'a Melansona</A>).</P>
|
|
|
|
|
|
<H4><A NAME="cinepak">2.2.1.7 Cinepak CVID</A></H4>
|
|
|
|
<P>MPlayer posiada teraz swój własny opensource, wieloplatformowy dekoder Cinepak
|
|
(wykonany przez <A HREF="mailto:timf@csse.monash.edu.au">Dr. Tim Ferguson</A>),
|
|
wybierany jako domyślny. Obsługuje on wyjścia YUV, więc skalowanie sprzętowe
|
|
jest możliwe, jeżeli sterownik wyjścia pozwala na to.</P>
|
|
|
|
|
|
<H4><A NAME="realvideo">2.2.1.8 RealVideo</A></H4>
|
|
|
|
MPlayer wspiera dekodowanie wszystkich wersji RealVideo:
|
|
|
|
<UL>
|
|
<LI>RealVideo 1.0 (fourcc RV10) - wsparcie dla ko/dekodowanie przez <B>libavcodec</B></LI>
|
|
<LI>RealVideo 2.0, 3.0, 4.0 (fourcc RV20, RV30, RV40) - dekodowane przez <B>biblioteki RealPlayera</B></LI>
|
|
</UL>
|
|
|
|
<P>Zalecane jest pobranie i instalacja RealPlayera8 lub RealONE, ponieważ
|
|
MPlayer może używać ich bibliotek do dekodowania plików wideo RealVideo 2.0 -
|
|
4.0. Skrypt configure MPlayera powinien wykryć biblioteki RealPlayera w
|
|
standardowej lokalizacji pełnej instalacji. Jeżeli tego nie zrobił, przekarz
|
|
do configure, gdzie ma ich szukać opcją <CODE>--with-reallibdir</CODE>.</P>
|
|
|
|
<P><B>Informacja:</B> Biblioteki RealPlayera aktualnie <B>działają tylko z Linuksem,
|
|
FreeBSD, NetBSD i Cygwinem na platformach x86, Alpha i PowerPC
|
|
(Linux/Alpha i Linux/PowerPC zostały przetestowane).</B></P>
|
|
|
|
|
|
<H4><A NAME="xvid">2.2.1.9 XviD</A></H4>
|
|
|
|
<P><A HREF="http://www.xvid.org/"><B>XViD</B></A> jest odgałęzieniem od projektu
|
|
kodeka OpenDivX. Stało się to, gdy ProjectMayo przeniósł OpenDivX na zamknięto
|
|
źródłowy DivX4 (teraz DivX5), i ludzie nie-ProjectMayo pracujący nad OpenDivX
|
|
rozzłościli się, wtedy postał XviD. Więc oba projekty mają to samo źródło.</P>
|
|
|
|
<H4>KORZYŚCI</H4>
|
|
|
|
<UL>
|
|
<LI>otwarty kod</LI>
|
|
<LI>jego API jest kompatybilne z DivX4, więc dodanie wsparcia dla niego jest proste</LI>
|
|
<LI>wsparcie dla kodowania 2-krokowego</LI>
|
|
<LI>niezła jakość kodowania, większa prędkość niż DivX4 (możesz zoptymalizować
|
|
go do twojego sprzętu podczas kompilacji)</LI>
|
|
</UL>
|
|
|
|
<H4>WADY</H4>
|
|
|
|
<UL>
|
|
<LI>aktualnie niezbyt poprawnie <B>dekoduje</B> wszystkich plików DivX/DivX4 (nie
|
|
problemu, bo <A HREF="#libavcodec">libavcodec</A> odtwarza je wszystkie)</LI>
|
|
<LI>musisz wybrać między wsparciem dla DivX4 <B>lub</B> XviD podczas kompilacji</LI>
|
|
<LI>nie ukończony</LI>
|
|
</UL>
|
|
|
|
<H4>INSTALOWANIE XVID Z CVS</H4>
|
|
|
|
<P>Aktualnie XviD jest dostępny tylko z CVS. Tutaj znajduje się instrukcja
|
|
pobrania i instalacji(potrzebujesz przynajmniej autoconf 2.50, automake i libtool):</P>
|
|
|
|
<OL>
|
|
<LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</CODE></LI>
|
|
<LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</CODE></LI>
|
|
<LI><CODE>cd xvidcore/build/generic</CODE></LI>
|
|
<LI><CODE>./bootstrap.sh</CODE></LI>
|
|
<LI><CODE>./configure</CODE><BR>
|
|
Możesz dodać kilka opcji (przestudiuj komunikaty
|
|
<CODE>./configure --help</CODE>).</LI>
|
|
<LI><CODE>make && make install</CODE></LI>
|
|
<LI>Jeżeli określiłeś <CODE>--enable-divxcompat</CODE>, skopiuj plik
|
|
nagłówkowy <CODE>divx4.h</CODE> z <CODE>xvidcore/src/</CODE>
|
|
do <CODE>/usr/local/include/</CODE>.</LI>
|
|
<LI>Przekompiluj MPlayer z
|
|
<CODE>--with-xvidcore=/path/to/libxvidcore.a</CODE>.</LI>
|
|
</OL>
|
|
|
|
|
|
<H4><A NAME="sorenson">2.2.1.10 Sorenson</A></H4>
|
|
|
|
<P><B>Sorenson</B> jest rodziną kodeków rozwijaną przez Sorenson Media i
|
|
licencjonowaną na Apple który rozprowadza go z ich QuickTime Playerem.
|
|
Aktualnie jesteśmy w stanie zdekodować wszystkie wersje plików wideo Sorenson
|
|
podanymi kodekami:</P>
|
|
|
|
<UL>
|
|
<LI>Sorenson 1 (fourcc <I>SVQ1</I>) - wsparcie dla dekodowanie przez <B>natywne
|
|
kodeki</B><BR>
|
|
Aktualnie są dwa (prawie jednakowe) dekodery dla SVQ1: jeden jest wbudowany w
|
|
MPlayera, inny jest w libavcodec. Możesz wybierać między nimi odpowiednio opcjami
|
|
<CODE>-vc svq1</CODE> i <CODE>-vc ffsvq1</CODE>.
|
|
Niektóre pliki mogą działać z jednym, a nie z innym, więc przetestuj oba dekodery.
|
|
Dekodery zostały napisane (reverse engineered) przez autorów
|
|
<A HREF="http://www.xinehq.de">xine</A>.</LI>
|
|
<LI>Sorenson 3 (fourcc <I>SVQ3</I>) - wsparcie dla dekodowanie przez <B>biblioteki
|
|
Win32 QuickTime</B></LI>
|
|
</UL>
|
|
|
|
<H4>KOMPILOWANIE MPLAYERA Z WSPARCIEM DLA BIBLIOTEK QUICKTIME</H4>
|
|
|
|
<P><B>INFORMACJA:</B> aktualnie wspierane są tylko platformy 32bit Intel.</P>
|
|
|
|
<OL>
|
|
<LI>pobierz MPlayera z CVS</LI>
|
|
<LI>skompiluj MPlayera z:<BR>
|
|
<CODE>$ ./configure --enable-qtx-codecs</CODE></LI>
|
|
<LI>pobierz pakiet DLLi QuickTime z
|
|
<A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</A></LI>
|
|
<LI>rozpakuj pakiet DLLi QuickTime do twojego katalogu z kodekami Win32 (domyślnie:
|
|
<CODE>/usr/lib/win32</CODE>)</LI>
|
|
</OL>
|
|
|
|
|
|
<H3><A NAME="audio_codecs">2.2.2 Kodeki audio</A></H3>
|
|
|
|
<P>Najważniejsze kodeki audio:<BR></P>
|
|
|
|
<UL>
|
|
<LI>dźwięk MPEG layer 2 (MP2), i layer 3 (MP3) (<B>natywny</B> kod, z
|
|
optymalizacją MMX/SSE/3DNow!)</LI>
|
|
<LI>dźwięk MPEG layer 1 (<B>natywny</B> kod, z libavcodec)</LI>
|
|
<LI>Windows Media Audio v1, v2 (<B>natywny</B> kod, z libavcodec)</LI>
|
|
<LI>Windows Media Audio 9 (WMAv3) (używający DMO DLL)</LI>
|
|
<LI>AC3 Dolby audio (<B>natywny</B> kod, z optymalizacją MMX/SSE/3DNow!</LI>
|
|
<LI>AC3 wykorzystujący osprzętowanie karty dźwiękowej</LI>
|
|
<LI>kodek audio Ogg Vorbis (<B>natywne</B> biblioteki)</LI>
|
|
<LI>RealAudio: DNET (nisko-bitrate'owy AC3), Cook, Sipro i ATRAC3</LI>
|
|
<LI>QuickTime: kodeki audi Qualcomm i QDesign</LI>
|
|
<LI>dźwięk VIVO audio (g723, Vivo Siren)</LI>
|
|
<LI>dźwięk Voxware (używający DirectShow DLL)</LI>
|
|
<LI>formaty alaw i ulaw, różne gsm, adpcm i pcm i inne proste, stare kodeki audio</LI>
|
|
<LI>AAC</LI>
|
|
</UL>
|
|
|
|
|
|
<H4><A NAME="software_ac3">2.2.2.1 Programowe dekodowanie AC3</A></H4>
|
|
|
|
<P>Jest to domyślny dekoder używany do plików z dźwiękiem AC3.</P>
|
|
|
|
<P>Dekoder AC3 może tworzyć wyjściowego dźwięku dla 2, 4 lub 6 głośników.
|
|
Skonfigurowany dla 6 głośników, dekoder ten dostarcza oddzielne wyjścia
|
|
dla wszystkich kanałów AC3 do sterownika karty dźwiękowej, umożliwiając
|
|
doświadczenie wrażenia pełnego "dźwięku otaczającego", bez wymagania od
|
|
zewnętrznego dekodera AC3 użycia kodeka hwac3.</P>
|
|
|
|
<P>Użyj opcji <CODE>-channels</CODE>, aby wybrać ilość kanałów wyjściowych.
|
|
Użyj opcji <CODE>-channels 2</CODE> dla stereo downmix. Dla czterokanałowego
|
|
downmix (wyjścia lewo-przód, prawo-przód, lewo-tył, prawo-tył), użyj opcji
|
|
<CODE>-channels 4</CODE>. W tym przypadku jakikolwiek centralny kanał będzie
|
|
miksowany odpowiednio do przednich kanałów. <CODE>-channels 6</CODE> będzie
|
|
wyprowadzało wszystkie kanały AC3 tak, jak są zakodowane - w kolejności lewy,
|
|
prawy, lewy-tylny, prawy-tylny, centralny oraz LFE.</P>
|
|
|
|
<P>Domyślna liczba kanałów wyjściowych wynosi 2.</P>
|
|
|
|
<P>Aby korzystać z więcej niż dwóch kanałów wyjściowych, musisz użyć OSS,
|
|
i posiadać sterownik dla karty dźwiękowej, który obsługuje odpowiednią liczbę
|
|
kanałów wyjściowych przez SNDCTL_DSP_CHANNELS ioctl. Na przykład odpowiednim
|
|
sterownikiem jest emu10k1 (używanego z kartami SB Live!) z lub nowszy niż
|
|
z sierpnia 2001 (ALSA z CVS także powinien działać).</P>
|
|
|
|
|
|
<H4><A NAME="hardware_ac3">2.2.2.2 Sprzętowe dekodowanie AC3</A></H4>
|
|
|
|
<P>Potrzebujesz karty dźwiękowej, zdolnej do obsługi AC3, z cyfrowym wyjściem (SP/DIF).
|
|
Sterownik karty dźwiękowej musi obsługiwać format AFMT_AC3 (C-Media). Podłącz
|
|
swój dekoder AC3 do wyjścia SP/DIF i użyj opcji <CODE>-ac hwac3</CODE>.
|
|
Jest to eksperymantalne, ale działa z kartami C-Media, Soundblaster Live! używający
|
|
sterownika ALSA (ale nie OSS) i kartami dekodującymi DXR3/Hollywood+ MPEG.</P>
|
|
|
|
|
|
<H4><A NAME="libmad">2.2.2.3 Wsparcie dla libmad</A></H4>
|
|
|
|
<P><A HREF="http://mad.sourceforge.net">libmad</A> jest wieloplatformową biblioteką
|
|
dekodowania dźwięku MPEG. Nie obsługuje zbyt dobrze uszkodzonych plików i ma
|
|
pewne problemy z przeszukiwaniem.</P>
|
|
|
|
<P>Aby włączyć obsługę, skompiluj z opcją configure <CODE>--enable-mad</CODE>.</P>
|
|
|
|
|
|
<H4><A NAME="vivo_audio">2.2.2.4 Dźwięk VIVO</A></H4>
|
|
|
|
<P>Kodek dźwięku używany do plików VIVO zależy od tego, czy jest to plik VIVO/1.0,
|
|
czy VIVO/2.0. Pliki VIVO/1.0 zawierają dźwięk g.723, zaś pliki VIVO/2.0 mają
|
|
<B>Vivo Siren</B>. Oba formaty są obsługiwane.</P>
|
|
|
|
<H4><A NAME="realaudio">2.2.2.5 RealAudio</A></H4>
|
|
|
|
MPlayer wspiera dekodowanie prawie wszystkich wersji RealAudio:
|
|
|
|
<UL>
|
|
<LI>RealAudio DNET - wsparcie dla dekodowania przez <B>liba52</B></LI>
|
|
<LI>RealAudio Cook/Sipro/ATRAC3 - wsparcie dla dekodowania przez <B>biblioteki
|
|
RealPlayer</B></LI>
|
|
</UL>
|
|
|
|
<P>By dowiedzieć się, jak zainstalować biblioteki RealPlayer, patrz sekcja
|
|
<A HREF="#realvideo">RealVideo</A>.</P>
|
|
|
|
|
|
<H4><A NAME="qdesign">2.2.2.6 Kodeki QDesign</A></H4>
|
|
|
|
<P>Strumienie audio QDesign (fourcc: <I>QDMC</I>, <I>QDM2</I>) znajdują się w plikach
|
|
MOV/QT. Obie wersje tych kodeków mogą być dekodowane bibliotekami QuickTime.
|
|
Po instrukcję instalacji, prosimy zobacz sekcję <A HREF="#sorenson">kodeki wideo
|
|
Sorenson</A>.</P>
|
|
|
|
|
|
<H4><A NAME="qclp">2.2.2.7 Kodeki Qualcomm</A></H4>
|
|
|
|
<P>Strumienie audio Qualcomm (fourcc: <I>Qclp</I>) znajdują się z plikach MOV/QT.
|
|
Mogą być dekodowane bibliotekami QuickTime. Po instrukcję instalacji, prosimy zobacz sekcję <A HREF="#sorenson">kodeki wideo
|
|
Sorenson</A>.</P>
|
|
|
|
|
|
<H4><A NAME="aac">2.2.2.8 Kodek AAC</A></H4>
|
|
|
|
<P>AAC (Advanced Audio Coding) jest kodekiem audio czasami znajdowanym w plikach
|
|
MOV i MP4. Dekoder open source FAAD jest dostępny na
|
|
<A HREF="http://www.audiocoding.com/">AudioCoding.com</A>.
|
|
Możesz pobrać drugą generację kodeka FAAD2 na ich
|
|
<A HREF="http://www.audiocoding.com/download.php">stronie download</A>.
|
|
Niestety FAAD2 1.1 nie kompiluje się na Linuksie, więc musisz użyć wersji
|
|
z CVS. Poniżej instrukcja jak:</P>
|
|
|
|
<OL>
|
|
<LI>cvs -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac login</LI>
|
|
<LI>cvs -z3 -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac co faad2</LI>
|
|
<LI>cd faad2/</LI>
|
|
<LI>chmod +x bootstrap</LI>
|
|
<LI>./bootstrap</LI>
|
|
<LI>./configure</LI>
|
|
<LI>make</LI>
|
|
<LI>make install</LI>
|
|
</OL>
|
|
|
|
<P>Pakiety nie są dostępne na audiocoding.com, ale możesz je pobrać (apt-get)
|
|
pakiety Debiana
|
|
<A HREF="http://marillat.free.fr/">Christian Marillat's homepage</A>
|
|
i RPMy Mandrake'a z
|
|
<A HREF="http://plf.zarb.org/">P.L.F</A>.</P>
|
|
|
|
|
|
|
|
<H3><A NAME="importing">2.2.3 HOWTO importowania kodeków Win32</A></H3>
|
|
|
|
|
|
<H4><A NAME="importing_vfw">2.2.3.1 Kodeki VFW</A></H4>
|
|
|
|
<P>VfW (Video for Windows), jest starym Video API dla Windows. Jego kodeki mają
|
|
rozszerzenia .DLL lub (rzadziej) .DRV.
|
|
Jeśli MPlayer nie potrafi odtworzyć twojego AVI i wyświetla komunikat
|
|
o takim typie:</P>
|
|
|
|
<P> <CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
|
|
|
|
<P>To oznacza, że twój AVI jest zakodowany za pomocą kodeka, który ma fourcc
|
|
HFYU fourcc (HFYU = kodek HuffYUV, DIV3 = DivX Low Motion, itd....). Teraz,
|
|
gdy już to wiemy, będziemy musieli dowiedzieć się, którą bibliotekę DLL z Windows
|
|
załadować, aby móc odtworzyć ten plik. W naszym przypadku <CODE>system.ini</CODE>
|
|
tę informację w linii:</P>
|
|
|
|
<P> <CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
|
|
|
|
<P>Tak więc, potrzebujesz pliku <CODE>huffyuv.dll</CODE>. Zauważ, że kodeki dźwięku
|
|
są wyróżnione za pomocą prefiksu MSACM:</P>
|
|
|
|
<P> <CODE>msacm.l3acm=L3codeca.acm</CODE></P>
|
|
|
|
|
|
<P>To jest kodek MP3. Mając już wszystkie potrzebne informacje (fourcc,
|
|
plik z kodekiem, próbka AVI), wyślij żądanie wsparcia dla twojego kodeka mailem
|
|
i załaduj te pliki przez FTP:</P>
|
|
|
|
<P> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa_kodeka]/</CODE></P>
|
|
|
|
<P><B>Informacja:</B> W Windows NT/2000/XP szukaj tych informacji w rejestrze. np
|
|
szukaj "VIDC.HFYU". By dowiedzieć się więcej, przeczytaj poniższą metodę na
|
|
stare DirectShow.</P>
|
|
|
|
<H4><A NAME="importing_directshow">2.2.3.2 Kodeki DirectShow</A></H4>
|
|
|
|
<P>DirectShow to najnowsze Video API, które jest nawet gorsze, niż jego poprzednik.
|
|
Sprawy się bardziej komplikują, odkąd</P>
|
|
|
|
<UL>
|
|
<LI><CODE>system.ini</CODE> nie zawiera potrzebnych informacji, a w zamian
|
|
za to jest przechowywany w rejestrze i</LI>
|
|
<LI>potrzebujemy GUID kodeka.</LI>
|
|
</UL>
|
|
|
|
<P><B>Nowa metoda:</B> Użycie Microsoft GraphEdit (szybka)</P>
|
|
|
|
<OL>
|
|
<LI>Pobierz GraphEdit z któregoś DirectX SDK, z
|
|
<A HREF="http://doom9.org">Doom9</A>, (lub poszukaj na
|
|
<A HREF="http://www.google.com.pl">Google</A>, u mnie w Windowsie 2000
|
|
nie bardzo działało) .</LI>
|
|
<LI>Uruchom <CODE>graphedit.exe</CODE> (Spróbuj także:
|
|
<CODE>SysEnum.exe</CODE>, przyp. tłumacza).</LI>
|
|
<LI>Z menu wybierz Graph -> Insert Filters.</LI>
|
|
<LI>Rozwiń listę <CODE>DirectShow Filters</CODE>.</LI>
|
|
<LI>Wybierz odpowiedną nazwę kodeka i rozwiń listę.</LI>
|
|
<LI>W polu <CODE>DisplayName</CODE> spójż na tekst w nawiasie po ukośniku
|
|
(backslashu) i zapisz go (pięć ograniczonych kreskami bloków, GUID).</LI>
|
|
<LI>Binaria kodeka są w pliku określonym w polu <CODE>Filename</CODE>.</LI>
|
|
</OL>
|
|
|
|
<P><B>Informacja:</B> Jeżeli nie ma nic w <CODE>Filename</CODE> i <CODE>DisplayName</CODE>
|
|
zawiera coś w stylu <CODE>device:dmo</CODE>, wtedy jest to DMO-Codec.</P>
|
|
|
|
<P><B>Stara metoda:</B> Weź głęboki oddech i zacznij przeszukiwać rejestr...</P>
|
|
|
|
<OL>
|
|
<LI>Uruchom <CODE>regedit</CODE>.</LI>
|
|
<LI>Wciśnij <CODE>Ctrl-f</CODE>, odznacz pierwsze dwa pola i zaznacz trzecie.
|
|
Wpisz fourcc kodeka (np. TM20).</LI>
|
|
<LI>Powinieneś zobaczyć wpis zawierający ścieżkę i nazwę pliku
|
|
(np. <CODE>C:\WINDOWS\SYSTEM\TM20DEC.AX</CODE>).</LI>
|
|
<LI>Teraz, gdy masz już plik, potrzebujemy GUID. Spróbuj szukać jeszcze raz, ale
|
|
tym razem szukaj nazwy kodeka, a nie fourcc. Nazwę możesz zdobyć sprawdzając
|
|
File(Plik) -> Properties(Właściwości) -> Advanced(Zaawansowane), podczas
|
|
odtwarzania pliku w Media Playerze.
|
|
Jeżeli się nie da, to masz pecha. Spróbuj zgadnąć (np. szukaj TrueMotion).</LI>
|
|
<LI>Jeśli znalazłeś (w rejestrze), powinno być tam pole FriendlyName oraz pole CLSID.
|
|
Zapisz 16 bajtów CLSID, to potrzebne nam GUID.</LI>
|
|
</OL>
|
|
|
|
<P><B>Informacja:</B> Jeżeli szukanie zawodzi, spróbuj zaznaczyć wszystkie pola. Możesz
|
|
uzyskać nieprzydatne wyszukania, ale być może dostaniesz te właściwe przy okazji ...</P>
|
|
|
|
<P>Mając teraz wszystkie niezbędne informacje, (fourcc, GUID, plik kodeka, próbka AVI),
|
|
wyślij zgłoszenie wsparcia dla swojego kodeka mailem, i prześlij te pliki na adres FTP:</P>
|
|
|
|
<P> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa kodeka]/</CODE></P>
|
|
|
|
</BODY>
|
|
</HTML>
|