Pliki MPEG spotykamy w różnych kształtach:
Serie klatek tworzą niezależne grupy w plikach MPEG. To oznacza, że możesz ciąć/łączyć plik MPEG za pomocą zwykłych narzędzi plikowych (typu dd, cut) i pozostaje on całkowicie funkcjonalny.
Jedną ważną cechą plików MPG jest to, że zawierają pole opisujące stosunek szerokości do wysokości obrazu. Na przykład pliki SVCD zawierają obraz o rozdzielczości 480x480, a w nagłówku pole to jest ustawione na 4:3, więc odtwarzane są w 640x480. W plikach AVI często brakuje tego pola, więc muszą być skalowane w trakcie kodowania lub odtwarzane z opcją -aspect
Zaprojektowane przez Microsoft pliki AVI (Audio Video Interleaved) to szeroko stosowany wielofunkcyjny format aktualnie używany głównie dla video MPEG-4 (DivX i DivX4). Posiada wiele wad i niedociągnięć (np. przy strumieniowaniu). Obsługuje jeden strumień video i od 0 do 99 strumieni audio i może mieć co najwyżej 2 GB, lecz istnieje rozszerzenie, które pozwala na osiągnięcie większych plików, zwane OpenDML. Aktualnie Microsoft usilnie zniechęca do stosowania AVI i zaleca ASF/WMV. Nie żeby to kogoś obchodziło...
Istnieje hack, który pozwala plikom AVI zawierać strumień audio Ogg Vorbis, ale powoduje to ich niekompatybilność ze zwykłymi AVI. MPlayer obsługuje odtwarzanie takich plików. Skoki są również zaimplementowane, lecz poważnie ograniczone poprzez źle zakodowane pliki z pomieszanymi nagłówkami tworzonymi przez zepsute programy. Niestety jedyny program, który potrafi tworzyć takie pliki - NanDub ma z tym problem.
Kamery DV tworzą surowe strumienie DV, które są konwertowane przez narzędzia do zgrywania DV do dwóch różnych typów plików AVI. Pliki te zawierają wtedy albo osobne strumienie audio i video, które MPlayer potrafi odtwarzać lub surowy strumień DV, którego obsługa jest w trakcie rozwoju.
Istnieją dwa typy plików AVI:
MPlayer obsługuje dwie metody synchronizacji dla plików AVI:
Każdy kodek video i audio jest dozwolony, lecz należy zauważyć, że dźwięk VBR nie jest zbyt dobrze obsługiwany przez większość odtwarzaczy. Format pliku co prawda pozwala na użycie dźwięku VBR, lecz większość odtwarzaczy spodziewa się dźwięku CBR (Constant Bitrate - stałe tempo bitowe), przez co zawiodą przy VBR. VBR nie jest powszechny i specyfikacja AVI Microsoftu opisuje jedynie CBR. Zauważyłem również, że większość enkoderów/multiplekserów AVI tworzy złe pliki z dźwiękiem VBR. Istnieją jedynie dwa wyjątki potwierdzające tę regułę: NanDub oraz MEncoder.
ASF (Active Streaming Format - Aktywny Format Strumieniowania) pochodzi z Microsoftu. Rozwinęły się dwa warianty ASF: v1.0 i v2.0. v1.0 jest używana przez ich narzędzia medialne (Windows Media Player oraz Windows Media Encoder) i jest bardzo tajna. v2.0 jest opublikowana i opatentowana :). Oczywiście różnią się one znacząco i nie ma pomiędzy nimi żadnej kompatybilności (kolejna zagrywka legalistyczna). MPlayer obsługuje jedynie v1.0, gdyż nikt jeszcze nie widział żadnego pliku v2.0 :). Zauważ, że dzisiejsze pliki ASF mają rozszerzenia .WMA lub .WMV.
Formaty te zostały zaprojektowane przez Apple i mogą zawierać dowolny kodek, CBR lub VBR. Mają przeważnie rozszerzenie .QT lub .MOV. Warto zauważyć, że grupa MPEG-4 wybrała QuickTime jako zalecany format pliku dla MPEG-4, a ich pliki MOV mają rozszerzenie .MPG lub .MP4 (interesujące jest to, że strumienie w tych plikach to w rzeczywistości pliki MPG i AAC. Możesz nawet je wyciągnąć za pomocą opcji -dumpvideo oraz -dumpaudio).
Większość nowych plików QuickTime używa kodeka video Sorenson i dźwięku QDesign Music. Zobacz naszą sekcję poświęconą kodekowi Sorenson.
MPlayer szczęśliwie demultipleksuje pliki VIVO. Największą niedogodnością formatu jest to, że nie ma on bloku indeksu ani stałego rozmiaru pakietu czy bajtów synchronizacji, a większość plików nie ma nawet klatek kluczowych, więc zapomnij o skakaniu po filmie!
Kodek video plików VIVO/1.0 to standardowy h.263. Kodek video plików VIVO/2.0 to zmodyfikowany, niestandardowy h.263v2. Dźwięk jest ten sam i może to być g.723 (standardowy) lub Vivo Siren.
Zobacz sekcje Kodeka video VIVO i Kodeka audio VIVO by uzyskać informacje na temat instalacji.
FLI jest bardzo starym formatem używanym przez Autodesk Animator, lecz jest to powszechny w sieci format dla krótkich animacji. MPlayer demultipleksuje i dekoduje pliki FLI i potrafi nawet po nich skakać (użyteczne przy zapętlaniu za pomocą opcji -loop). Pliki FLI nie zawierają klatek kluczowych, więc obraz będzie trochę zaśmiecony przez krótką chwilę po skoku.
Tak, MPlayer potrafi czytać (demultipleksować) pliki RealMedia (.rm). Tu znajdziesz listę obsługiwanych kodeków RealVideo i RealAudio.
NuppelVideo jest narzędziem do zgrywania TV (AFAIK :). MPlayer potrafi czytać jego pliki .NUV (tylko NuppelVideo 5.0). Pliki te mogą zawierać klatki: nieskompresowane YV12, skompresowane YV12+RTJpeg, skompresowane YV12 RTJpeg+lzo i skompresowane YV12+lzo. MPlayer dekoduje je (a nawet koduje za pomocą MEncodera do MPEG-4 (DivX) itp!) wszystkie. Działają również skoki.
yuv4mpeg / yuv4mpeg2 to format plików stosowany przez programy mjpegtools. Możesz zgrywać, produkować, filtrować lub kodować video w tym formacie za pomocą tych narzędzi. Format ten jest w rzeczywistości sekwencją nieskompresowanych obrazów YUV 4:2:0.
Pliki RoQ to pliki multimedialne używane w niektórych grach ID, np. Quake III czy Return to Castle Wolfenstein.
Jest to nowy format plików z Xiphophorus.
Może zawierać dowolne kodeki audio i video, CBR lub VBR. Będziesz potrzebował
zainstalowanych bibliotek libogg
oraz libvorbis
zanim skompilujesz
MPlayera by móc go odtwarzać.
SDP to format opisu strumieni RTP audio lub wideo będący standardem IETF. (Wymagane jest "LIVE555 Streaming Media".)
PVA to format MPEGo-podobny używany przez oprogramowanie kart DVB (np.: MultiDec lub WinTV pod Windows).
NSV (NullSoft Video) jest formatem plików używanym przez odtwarzacz Winamp do strumieniowania audio i video. Video to VP3, VP5 lub VP6, audio to MP3, AAC lub VLB. Wersja tylko-audio NSV ma rozszerzenie .nsa. MPlayer potrafi odtwarzać zarówno strumienie, jak i pliki NSV. Proszę zauważyć, że większość plików ze strony Winamp'a korzysta z audio VLB, które jeszcze nie jest dekodowane przez MPlayera. Oprócz tego strumienie z tej strony potrzebują dodatkowej warstwy depakietowania, która nie jest jeszcze zaimplementowana (plików tych i tak nie da się odtworzyć ze względu na audio VLB).
Matroska jest otwartym formatem przechowywania. Więcej informacji na oficjalnej stronie.
NUT jest formatem przechowywania opracowanym przez ludzi z MPlayera i FFmpeg. Oba projekty go obsługują. Więcej informacji na oficjalnej stronie.
Format GIF jest powszechnym formatem zapisu
grafiki sieciowej. Istnieją dwie wersje specyfikacji GIF: GIF87a oraz GIF89a.
Główną różnicą jest to, że GIF89a pozwala na animację.
MPlayer obsługuje oba
formaty plików za pomocą biblioteki libungif
lub innej, kompatybilnej z libgif biblioteki. Nieanimowane GIFy są wyświetlane
jako filmy o pojedynczej klatce. (Użyj opcji -loop oraz
-fixed-vo by wyświetlić je dłużej)
MPlayer obecnie nie pozwala na skoki w plikach GIF. Pliki GIF bowiem niekoniecznie muszą mieć stałego rozmiaru klatki, ani stałej prędkości odtwarzania. Raczej każda klatka jest niezależnego rozmiaru i ma zostać umiejscowiona w odpowiednim miejscu na polu o ustalonym rozmiarze. Prędkość odtwarzania jest kontrolowana za pomocą opcjonalnego bloku przed każdą klatką, która ustala opóźnienie kolejnej klatki w setnych sekundy.
Standardowe pliki GIF zawierają 24-bitowe klatki RGB z co najwyżej 8-bitową indeksowaną paletą. Klatki te są przeważnie kompresowane za pomocą LZW, lecz niektóre kodery produkują nieskompresowane klatki by uniknąć problemów patentowych w związku z kompresją LZW.
Jeśli Twoja dystrybucja nie zawiera biblioteki libungif
,
pobierz ją ze
strony domowej libungif.
By uzyskać szczegółowe informacje techniczne, zajrzyj do
specyfikacji GIF89a.