Obsługiwane kodekiKodeki Video
Zajrzyj do
tabeli stanu kodeków, żeby
zobaczyć kompletną, codziennie generowaną listę. Niektóre
kodeki są dostępne do pobrania z naszej strony domowej. Ściągniesz je ze
strony z kodekami.
Najważniejsze ze wszystkich:
MPEG-1 (VCD) i
MPEG-2 (DVD) video
natywne dekodery dla DivX ;-), OpenDivX (DivX4),
DivX 5.01 (Pro), 3ivX, M$ MPEG-4 v1, v2 i dla innych rodzajów MPEG4
natywne dekodery dla Windows Media Video 7/8
(WMV1/WMV2) i dekodery Win32 DLL
dla Windows Media Video 9
(WMV3). Oba używane w plikach .wmv
natywny dekoder Sorenson 1 (SVQ1)
natywny dekoder Sorenson 3 (SVQ3)
dekoder 3ivX w wersji 1 i 2
Kodeki Cinepak i Intel Indeo (3.1,3.2,4.1,5.0)
MJPEG, AVID, VCR2, ASV2 i inne formaty sprzętowe
VIVO 1.0, 2.0, I263 i inne warianty H.263(+)
FLI/FLC
RealVideo 1.0 & 2.0 z użyciem
libavcodec i kodeki
RealVideo 3.0 & 4.0 używające bibliotek
RealPlayer
natywny dekoder HuffYUV
Różne stare proste formaty podobne do RLE
Jeżeli posiadasz niewymienione tutaj kodeki Win32, które nie są jeszcze
obsługiwane, zajrzyj do działu importowanie kodeków
Win32-HOWTO i pomóż nam dodać ich obsługę.
DivX4/DivX5
Ta sekcja zawiera informacje o kodekach DivX4 i DivX5 z
Project Mayo.
Ich pierwszą dostępną wersją był OpenDivX 4.0 alpha 47 i 48.
Wsparcie dla nich zostało włączone do MPlayera
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.
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
libavcodec. W związku z tym ich
używanie do dekodowania jest
odradzane. Jednakże przydają się one do
kodowania. Ich wadą jest fakt, iż nie są udostępnione na wolnej licencji.
DivX4 pracuje w dwóch trybach:
Używa kodeka w stylu OpenDivX. W tym przypadku tworzy on obraz YV12 we
własnym buforze, a MPlayer dokonuje konwersji
przestrzeni kolorów poprzez libvo.
(Szybkie, zalecane!)
Używa konwersji przestrzeni kolorów kodeka. W tym trybie można używać także
YUY2/UYVY. (POWOLNE)
Metoda 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 . 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.
Jeżeli twój sterownik obsługuje direct rendering,
wydajniejszym albo nawet najbardziej wydajnym rozwiązaniem może być użycie
.
Binarną bibliotekę kodeków DivX4/5 można ściągnąć z
avifile albo z
divx.com
Należy ją rozpakować, uruchomić jako root ./install.sh
i pamiętać o dodaniu
/usr/local/lib do twojego
/etc/ld.so.conf i uruchomieniu ldconfig.
Możesz zdobyć CVSową wersję STAREJ biblioteki OpenDivX (core library)
w następujący sposób:
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot logincvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore
Biblioteka ta jest podzielona na biblioteki dekodujące i kodujące, które muszą
być kompilowane osobno. Dla biblioteki dekodującej wpisz po prostu
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
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
Makefile.
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
MPlayer 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.
FFmpeg/libavcodecFFmpeg zawiera pakiet
kodeków o otwartych źródłach, 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!
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.
Jednym z najnowszych kodeków, który warto wymienić jest
kodek Sorenson 3 (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!
Pełną listę obsługiwanych kodeków
(video
i audio)
znajdziesz na stronie FFmpeg.
Jeżeli używasz któregoś z wydań MPlayeralibavcodec znajduje się już w paczce.
Po prostu kompiluj tak, jak zazwyczaj. Jeżeli używasz
MPlayera z CVSu, musisz wyciągnąć
libavcodec 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:
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg logincvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -P ffmpeg/libavcodec ffmpeg/libavutil
Przenieś katalogi libavcodec i
libavutil ze źródeł FFmpega
do katalogu głównego drzewa CVS MPlayera.
Powinno to wyglądać w ten sposób:
main/libavcodecmain/libavutil
Utworzenie dowiązań symbolicznych (symlinków)
nie wystarcza. Konieczne jest
skopiowowanie/przeniesienie!
Jeżeli chcesz uaktualniać libavcodec
razem z aktualizacją CVSowej wersji MPlayera,
dodaj następujące linie
do pliku main/CVS/Entries:
D/libavcodec////D/libavutil////
Przejdź do kompilowania. configure powinien wykryć
problemy przed kompilacją.
MPlayer z CVSu zawiera podkatalog
libavcodec, ale nie
zawiera źródeł libavcodec! Żeby
uzyskać źródła tej biblioteki musisz wykonać powyższe czynności.
Wykorzystując FFmpega i mojego Matroksa G400, mogę oglądać na moim
K6-2 500 filmy DivX najwyższej rozdzielczości bez gubienia klatek.
kodeki XAnim
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ż XAnim. Jednakże do tej pory
autor nie podejmował jeszcze żadnych kroków prawnych w sprawie
związanej z kodekami.
INSTALACJA I UŻYTKOWANIEMPlayer potrafi zaprzęgnąć do dekodowania
kodeki Xanim. Aby je uaktywnić, postępuj zgodnie z instrukcją:
Ściągnij kodeki, których chcesz użyć ze
strony XAnim.
Nie ma tam kodeka 3ivX, ale można go
znaleźć na stronie 3ivX.
ALBO ściągnij zestaw kodeków z naszej
strony z kodekami
Użyj opcji żeby wskazać skryptowi
configure gdzie ma szukać kodeków Xanim.
Domyślnie szuka ich w katalogach
/usr/local/lib/codecs,
/usr/local/lib/xanim/mods,
/usr/lib/xanim/mods i
/usr/lib/xanim.
Drugą możliwością jest ustawienie zmiennej środowiskowej
XANIM_MOD_DIR na katalog z kodekami XAnim.
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: vid_cvid.xa,
vid_h263.xa, vid_iv50.xa
XAnim to cała rodzina kodeków xanim, możesz więc użyć
opcji żeby kazać
MPlayerowi używać ich, gdy jest to możliwe.
Przetestowane kodeki to: Indeo 3.2, 4.1, 5.0, CVID, 3ivX,
H.263.VIVO videoMPlayer 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
. Dla plików w wersji 2.0, użyj Win32 DLL
korzystając z opcji . Jeżeli nie wybierzesz żadnej
opcji, MPlayer automatycznie wybierze najlepszy
kodek.
MPEG-1/2 video
MPEG-1 i MPEG-2 są dekodowane przez natywną, wieloplatformową bibliotekę
libmpeg2, której kod źródłowy
wchodzi w skład MPlayera. Z uszkodzonymi plikami
MPEG-1/2 radzimy sobie przechwytując Signal 11
(segmentation fault -błąd segmentacji -przyp tłumacz)
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.
MS Video1, Cinepak CVID i inne stare kodekiMPlayer 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ż natywnymi kodekami.
W przypadku większości z nich używany jest
libavcodec.
RealVideoMPlayer obsługuje dekodowanie wszystkich wersji
RealVideo:
RealVideo 1.0, 2.0 (fourcc RV10, RV20) - kodowanie/dekodowanie realizowane
przez libavcodec
RealVideo 3.0, 4.0 (fourcc RV30, RV40) - dekodowanie za pomocą
bibliotek RealPlayer
Ściągnij kodeki Real z
http://www.mplayerhq.hu/MPlayer/releases/codecs/
i rozpakuj je do katalogu
/usr/local/lib/codecs.
Jeżeli wolisz je trzymać w innym miejscu, użyj opcji
dla configure.
Aktualnie biblioteki RealPlayerdział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.
XviDXviD 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.
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.
Instalacja XviD
Jak większość otwartego oporgramowania dostępny jest w dwóch wersjach:
oficjalnych wydań
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ć XviD CVS do
pracy z MEncoderem (będziesz potrzebował
przenajmniej autoconf 2.50,
automake i libtool):
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid logincvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcorecd xvidcore/build/generic./bootstrap.sh./configure
Możesz potrzebować dodać jakieś opcje (przejrzyj wyjście
poniższej komendy).
./configure --helpmake && make install
Jeżeli użyłeś opcji ,
skopiuj ../../src/divx4.h do
/usr/local/include/.
Przekompiluj MPlayera z opcjami
.
Sorenson
Sorenson jest kodekiem video rozwijanym przez Sorenson Media i licencjonowanym
dla Apple, która rozprowadza go wraz ze swoim Odtwarzaczem
QuickTime.
Aktualnie MPlayer jest w stanie odtwarzać wszystkie
wersje plików video Sorensona z użyciem następujących dekoderów:
Sorenson Video v1 (fourcc SVQ1) - dekodowanie za pomocą
natywnego kodeka video
(libavcodec)
Sorenson Video v3 (fourcc SVQ3) - dekodowanie za pomocą
natywnego kodeka video
(libavcodec)
KOMPILOWANIE MPLAYERA ZE WSPARCIEM DLA BIBLIOTEK QUICKTIMEAktualnie obsługiwane są tylko 32-bitowe platformy Intela.ściągnij MPlayera z CVSupobierz pakiet QuickTime DLL z
rozpakuj pakiet QuickTime DLL do twojego katalogu z kodekami Win32
(domyślnie: /usr/local/lib/codecs/)
skompiluj MPlayerax264Co to jest x264x264 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 x264.
Możliwości koderaCAVLC/CABACWielokrotne referencjeIntra: wszystkie typy makrobloków
(16x16 i 4x4 z wszystkimi predykcjami)Inter P: wszystkie podziały
(od 16x16 aż do 4x4)Inter B: podziały od 16x16 do 8x8
(włączając SKIP/DIRECT)Kontrola tempa: stały kwantyzator, stałe bitrate, albo
wieloprzebiegowe ABRWykrywanie zmian scenAdaptatywne umieszczanie klatek BReferencyjne ramki / dowolna kolejność
ramekOgraniczenia koderaBrak prawdziwego RDCo to jest H.264
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".
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.
Przynajmniej przy używaniu x264
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.
Ten dokument nie ma wyjaśniać szczegółów H.264, ale jeśli jesteś
zainteresowany niewielkim wstępem możesz chcieć przeczytać
The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions.
Jak mogę odtwarzać filmy H.264 używając MPlayeraMPlayer używa dekodera H.264 z
libavcodec.
libavcodec 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.
Jeśli chcesz szybki i łatwy sposób na sprawdzenie czy były ostatnio zmiany
w obsłudze H.264 w libavcodec,
możesz patrzeć na
interface sieciowy repozytorium CVS FFmpegJak mogę kodować filmy używając MEncodera i x264?
Jeśli masz zainstalowanego klienta subversion, możesz uzyskać najnowsze
źródła x264 tym poleceniem:
svn co svn://svn.videolan.org/x264/trunk x264
Źródła MPlayera są aktualizowane gdy tylko
zmieni się API x264, więc zalecamy
też używanie MPlayera z CVS.
Być może sytuacja się zmieni jeśli i gdy nastąpi "wydanie"
x264.
W międzyczasie x264 powinna być
uważana za niestabilną, w tym sensie że jej interface programistyczny może
się zmienić.
x264 buduje się i instaluje
w sposób standardowy:
./configure && make && sudo make install
To zainstaluje libx264.a w /usr/local/lib oraz x264.h w /usr/local/include.
Gdy biblioteka i nagłówki x264 są
już w standardowych miejscach, budowanie MPlayera
z obsługą x264 jest proste.
Uruchom standardowe:
./configure && make && sudo make install
Skrypt konfiguracyjny wykryje że spełniłeś wymagania do obsługi
x264.
Kodeki audioNajważniejsze ze wszystkich kodeków audio:
MPEG layer 1/2/3 (MP1/2/3) audio (natywny
kod, z optymalizacją dla MMX/SSE/3DNow!)
Windows Media Audio 7 i 8 (AKA WMAv1 i WMAv2) (natywny kod, z
libavcodec)
Windows Media Audio 9 (WMAv3) (poprzez DLL DMO)
AC3 Dolby audio (natywny kod, z
optymalizacją MMX/SSE/3DNow!)
przetwarzanie AC3 przez kartę dźwiękową
AAC
kodek Ogg Vorbis audio (natywna biblioteka)
RealAudio: DNET (AC3 z niskim bitratem), Cook, Sipro i ATRAC3
QuickTime: kodeki Qualcomm i QDesign
VIVO audio (g723, Vivo Siren)
Voxware audio (poprzez DirectShow DLL)
formaty alaw i ulaw, różne gsm, adpcm i pcm i inne stare, proste kodeki
audio
Programowe dekodowanie AC3
To jest domyślny dekoder używany przez pliki z dźwiękiem AC3.
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.
Użyj opcji aby wybrać liczbę wyjściowych kanałów.
Użyj 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 . W tym przypadku,
wszystkie centralne kanały zostaną zmiksowane do odpowiadających im przednich
kanałów. Natomiast wyprodukuje wszystkie kanały
AC3 tak jak zostały zakodowane - w kolejności Lewy, Prawy, Lewy Surround, Prawy
Surround, Centralny i LFE.
Domyślną liczbą kanałów wyjściowych jest 2.
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).
Sprzętowe dekodowanie AC3
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 .
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.
obsługa libmadlibmad 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. ARM).
Aby włączyć wsparcie dla biblioteki, podczas kompilacji użyj opcji
przy wywoływaniu configure.
VIVO audio
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
g.723, a pliki VIVO/2.0 w formacie
Vivo Siren. Obsługiwane są oba typy.
RealAudioMPlayer potrafi dekodować prawie wszystkie wersje RealAudio:
RealAudio DNET - dekodowanie poprzez
liba52
RealAudio Cook/Sipro/ATRAC3 - dekodowanie z użyciem
bibliotek RealPlayer
Instrukcje dotyczące sposobu instalacji bibliotek RealPlayer
znajdują się w dziale RealVideo.
kodeki QDesign
Format dźwięku QDesign (fourcc:QDMC, QDM2) wykorzystywany
jest w plikach MOV/QT. Obie wersje tych kodeków mogą być odtwarzane za pomocą
bibliotek QuickTime. Instrukcje instalacji znajdują się w dziale
kodek Sorenson video.
kodeki Qualcomm
Dźwięk w formacie Qualcomm (fourcc:Qclp) używany jest
w plikach MOV/QT. Może być dekodowany z użyciem bibliotek QuickTime.
Instrukcje instalacji znajdują się w dziale
kodeka video Sorenson.
AAC codec
AAC (Advanced Audio Coding) jest kodekiem audio spotykanym czasami w plikach
MOV i MP4. Otwarty dekoder nazywany FAAD dostępny jest na stronie
.
MPlayer zawiera migawkę CVSu z
libfaad 2.1beta, więc nie musisz ściągać go oddzielnie.
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
tej strony
i dodaj opcję do
configure. Nie potrzebujesz całego faad2 do dekodowanie
plików AAC. Wystarczy użyć samej biblioteki libfaad. Zbudujesz ją w następujący
sposób
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install
Wersje binarne nie są dostępne na stronie audiocoding.com, ale możesz
ściągnąć (apt-getem) Debianowe paczki z
domowej strony Christiana Marillata,
RPMy dla Mandrake/Mandriva ze strony P.L.F
a RedHatowe RPMy z
Grey Sector.
importowanie kodeków Win32-HOWTOkodeki VFW
VFW (Video for Windows) jest starym API Video pod Windows. Jego kodeki mają
rozszerzenie .DLL albo (rzadziej)
.DRV. Jeżeli MPlayer odmawia
odtwarzania plików AVI z komunikatem tego typu:
UNKNOWN video codec: HFYU (0x55594648)
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 system.ini zawiera tę informację
w następującej linii:
VIDC.HFYU=huffyuv.dll
Zatem potrzebujesz pliku huffyuv.dll. Zauważ, że kodeki
audio są oznaczane za pomocą prefiksu MSACM:
msacm.l3acm=L3codeca.acm
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:
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/
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.
Kodeki DirectShow
DirectShow jest nowszym API Video, które jest nawet gorsze od swojego
poprzednika. Sprawa ma się gorzej z DirectShow, ponieważ:
system.ini nie zawiera wymaganych informacji,
zamiast tego są one przechowywane w rejestrze.
Z tego powodu wymagane jest GUID kodeka.
Nowa metoda:
Używając Microsoft GraphEdit (szybki sposób)
Pobierz GraphEdit z dowolnego DirectX SDK, albo z
doom9
Uruchom graphedit.exe.
Z menu wybierz Graph -> Insert Filters.
Rozwiń listę DirectShow Filters
Wybierz właściwy kodek i rozwiń go.
We wpisie DisplayName spójrz na tekst w
nawiasach klamrowych po znaku "backslash" i zapisz go (pięć bloków
oddzielonych kreskami, GUID).
Binariami kodeka jest plik określony w polu Filename.
Jeżeli nie ma pola Filename, a
DisplayName zawiera coś w stylu
device:dmo, to jest to DMO-kodek.
Stara Metoda:
Weź głęboki oddech i zacznij przeszukiwanie rejestru...
Uruchom regedit.
Naciśnij Ctrl+F, odznacz dwa pierwsze
pola (checkboxes) i zaznacz trzecie. Wpisz fourcc kodeka (np.
TM20).
Powinieneś zobaczyć pole zwierające ścieżkę i nazwę pliku (np.
C:\WINDOWS\SYSTEM\TM20DEC.AX).
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
Plik -> Opcje ->
Zaawansowane.
Jeżeli jej tam nie będzie, to masz pecha. Spróbuj odgadnąć nazwę (np. spróbuj
wyszukać "TrueMotion").
Jeżeli GUID został odnaleziony, powinieneś ujrzeć pola FriendlyName
i CLSID. Zapisz szesnastobajtowy CLSID będący GUIDem,
którego potrzebujemy.
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...
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:
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/
Jeżeli chcesz samodzielnie dodać obsługę kodeka, przeczytaj
DOCS/tech/codecs.conf.txt (tylko po angielsku - przyp. tłum.).