Zobacz tabelę statusu kodeków po kompletną, codziennie tworzoną listę.
Najważniejsze z nich to:
Jeżeli masz kodeka Win32 nie wyszczególnionego tutaj, który nie jest jeszcze wspierany, prosimy, przeczytaj HOWTO importowania kodeków i pomóż nam dodać obsługę dla niego.
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 ODRADZANE. Jednak, da się nimi kodować. Jedną wadą jest to, że nie są one dostępne na licencji Open Source.
DivX4Linux pracuje w dwóch trybach:
-vc odivx
-vc divx4
Metoda -vc odivx
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ę -vc divx4
.
W trybie RGB prędkości są takie same, różnią się być może tylko
w odniesieniu do aktualnej głębi kolorów.
Informacja: Jeżeli twój sterownik -vo
wspiera bezpośrednie renderowanie,
wtedy -vc divx4
może być szybszy lub być najszybszym rozwiązaniem.
Kodek możesz pobrać z
Binarne biblioteki kodeka Divx4/5 możesz pobrać z
avifile lub
divx.com.
Rozpakuj go, jako root uruchom ./install.sh
i nie zapomnij dodać
/usr/local/lib
do twojego /etc/ld.so.conf
i uruchom
ldconfig
.
Pobierz wersję CVS STARYCH bibliotek jądra OpenDivx w taki sposób (lub podobny):
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore
cd divxcore/decore/build/linux make cp libdivxdecore.so /usr/local/lib ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 cp ../../src/decore.h /usr/local/include
cd ../../../encore/build mkdir linux cd linux cp path/Makefile . make cp libdivxencore.so /usr/local/lib ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 cp ../../src/encore.h /usr/local/include
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.
FFmpeg zawiera pakiet kodeków open source, 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!
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.
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 nie działa z MPlayerem. By to zrobić, wykonaj:
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
libavcodec
ze źródeł FFmpeg sources do
głównego katalogu drzewa CVS MPlayera. To powinno wyglądać mniej więcej tak:
main/libavcodec
Informacja: MPlayer z CVS zawiera podkatalog libavcodec, ale nie zawiera kodu libavcodec! Musisz podążać za powyższymi krokami, by uzyskać kod tej biblioteki.
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.
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.
MPlayer potrafi używać kodeków XAnim do kodowania. Podążaj za poniższymi instrukcjami, by je włączyć:
--with-xanimlibdir
by podać do configure, gdzie ma
ma szukać kodeków XAnim. Domyślnie, szuka ich w
/usr/local/lib/xanim/mods, /usr/lib/xanim/mods i /usr/lib/xanim
.
Alternatywnie, możesz ustawić zmienną środowiskową XANIM_MOD_DIR na
katalog z kodekami XAnim.vid_cvid.xa, vid_h263.xa, vid_iv50.xa
.XAnim należy do rodziny kodeków xanim
, więc możliwe że będziesz chciał
użyć opcji -vfm xanim
by poinformować MPlayera, że ma ich używać,
jeżeli jest to możliwe.
Testowane kodeki zawierają: Indeo 3.2, 4.1, 5.0, CVID, 3ivX, h263.
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ą -vc ffh263
Dla plików 2.0 używaj DLL'i Win32 poprzez opcję -vc vivo
. Jeżeli nie podasz
opcji w linii komend MPlayer automatycznie wybierze najlepszy kodek.
MPEG1 i MPEG2 są dekodowane przez wieloplatformową natywną bibliotekę
libmpeg2, której kod jest dołączony do MPlayera. Odtwarzamy błędne
pliki wideo MPEG 1/2 poprzez wyłapywanie Signal 11 (Segmentation fault)
,
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.
Jest bardzo stary i bardzo zły kodek Microsoftu. W przeszłości był on
dekodowany z kodekiem Win32 msvidc32.dll
, teraz mamy własną
implementację open source (wykonaną przez
Mike'a Melansona).
MPlayer posiada teraz swój własny opensource, wieloplatformowy dekoder Cinepak (wykonany przez Dr. Tim Ferguson), 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.
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ą --with-reallibdir
.
Informacja: Biblioteki RealPlayera aktualnie działają tylko z Linuksem, FreeBSD, NetBSD i Cygwinem na platformach x86 i Alpha.
XViD 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.
Aktualnie XViD jest dostępny tylko z CVS. Tutaj znajduje się instrukcja pobrania i instalacji:
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
cd xvidcore/build/generic
Makefile.linuxx86
) by dopasować swoje wymagania.make -f Makefile.linuxx86
divx4.h
i xvid.h
z
xvidcore/src/
do /usr/local/include/
.encore2.h
i decore.h
z pakietu DivX4Linux,
i skopiuj go do /usr/local/include/
.--with-xvidcore=/path/to/libxvidcore.a
.Sorenson 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:
-vc svq1
i -vc ffsvq1
.
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
xine.INFORMACJA: aktualnie wspierane są tylko platformy 32bit Intel.
$ ./configure --enable-qtx-codecs
/usr/lib/win32
)Najważniejsze kodeki audio:
Jest to domyślny dekoder używany do plików z dźwiękiem AC3.
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.
Użyj opcji -channels
, aby wybrać ilość kanałów wyjściowych.
Użyj opcji -channels 2
dla stereo downmix. Dla czterokanałowego
downmix (wyjścia lewo-przód, prawo-przód, lewo-tył, prawo-tył), użyj opcji
-channels 4
. W tym przypadku jakikolwiek centralny kanał będzie
miksowany odpowiednio do przednich kanałów. -channels 6
będzie
wyprowadzało wszystkie kanały AC3 tak, jak są zakodowane - w kolejności lewy,
prawy, lewy-tylny, prawy-tylny, centralny oraz LFE.
Domyślna liczba kanałów wyjściowych wynosi 2.
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ć).
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 -ac hwac3
.
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.
libmad jest wieloplatformową biblioteką dekodowania dźwięku MPEG. Nie obsługuje zbyt dobrze uszkodzonych plików i ma pewne problemy z przeszukiwaniem.
Aby włączyć obsługę, skompiluj z opcją configure --enable-mad
.
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ą Vivo Siren. Oba formaty są obsługiwane.
By dowiedzieć się, jak zainstalować biblioteki RealPlayer, patrz sekcja RealVideo.
Strumienie audio QDesign (fourcc: QDMC, QDM2) znajdują się w plikach MOV/QT. Obie wersje tych kodeków mogą być dekodowane bibliotekami QuickTime. Po instrukcję instalacji, prosimy zobacz sekcję kodeki wideo Sorenson.
Strumienie audio Qualcomm (fourcc: Qclp) znajdują się z plikach MOV/QT. Mogą być dekodowane bibliotekami QuickTime. Po instrukcję instalacji, prosimy zobacz sekcję kodeki wideo Sorenson.
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:
UNKNOWN video codec: HFYU (0x55594648)
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 system.ini
tę informację w linii:
VIDC.HFYU=huffyuv.dll
Tak więc, potrzebujesz pliku huffyuv.dll
. Zauważ, że kodeki dźwięku
są wyróżnione za pomocą prefiksu MSACM:
msacm.l3acm=L3codeca.acm
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:
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa_kodeka]/
Informacja: 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.
DirectShow to najnowsze Video API, które jest nawet gorsze, niż jego poprzednik. Sprawy się bardziej komplikują, odkąd
system.ini
nie zawiera potrzebnych informacji, a w zamian
za to jest przechowywany w rejestrze iNowa metoda: Użycie Microsoft GraphEdit (szybka)
graphedit.exe
(Spróbuj także:
SysEnum.exe
, przyp. tłumacza).DirectShow Filters
.DisplayName
spójż na tekst w nawiasie po ukośniku
(backslashu) i zapisz go (pięć ograniczonych kreskami bloków, GUID).Filename
.Informacja: Jeżeli nie ma nic w Filename
i DisplayName
zawiera coś w stylu device:dmo
, wtedy jest to DMO-Codec.
Stara metoda: Weź głęboki oddech i zacznij przeszukiwać rejestr...
regedit
.Ctrl-f
, odznacz pierwsze dwa pola i zaznacz trzecie.
Wpisz fourcc kodeka (np. TM20).C:\WINDOWS\SYSTEM\TM20DEC.AX
).Informacja: 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 ...
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:
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nazwa kodeka]/