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
(W nowszych wersjach
uruchom 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]/