Kontenery, formaty wideo i standardy napisów

Czy zdarzyło ci się, że twój odtwarzacz nie rozpoznał formatu pliku i nie chciał uruchomić jakiegoś filmu? Nic strasznego. Z pewnością brakowało mu odpowiedniego kodeka. Poznaj najpopularniejsze rodzaje kontenerów audio-wideo, formaty oraz kodeki.

Matroska

Spokojny wieczór, wygodny fotel, być może zestaw przekąsek no i dobry film. Typowy widz nie zastanawia się, jakie naprawdę procesy zachodzą i jakie mechanizmy funkcjonują, by można było cieszyć się dobrym obrazem, wysokiej jakości dźwiękiem, zobaczyć na ekranie napisy czy słyszeć ścieżkę dźwiękową w odpowiedniej wersji językowej. Potrzebny jest oczywiście wysokiej jakości sprzęt ale nie na niego chcieliśmy zwrócić uwagę. Podstawą każdego nagrania filmowego jest przecież zapis w odpowiednim formacie, zakodowanie materiału wideo, audio i dodatków oraz możliwość ich prawidłowego odczytu, interpretacji i odtworzenia. Nikt nie zwraca na to uwagi do momentu, aż odtwarzacz odmówi pracy albo na ekranie komputera pojawi się komunikat o nierozpoznanym formacie bądź braku kodeków. Okazuje się wtedy, że to co wydawało się być formatem wcale nim nie jest, że rozszerzenie pliku niewiele pomaga w znalezieniu rozwiązania problemu, do tego dochodzą użyte formaty kompresji i zastosowane kodeki. Każdy może się w tym pogubić tym bardziej, że wielokrotnie pojęcia te stosowane są zamiennie. Sytuację komplikuje dodatkowo powszechny dostęp do różnych urządzeń nagrywających i programów ripujących. Rejestrację można przecież przeprowadzić z pomocą zwykłego telefonu komórkowego, smartfona, kamery wideo czy nawet tradycyjnej lustrzanki. Liczba producentów sprzętu jest zaś tak duża, że wersji plików filmowych jest bez liku.

Kontenery audio-wideo

Film to nie tylko obraz ale również dźwięk czy napisy. Rozpatrując więc zawierający go plik nie można mówić od razu o formacie. Plik jest bowiem pojemnikiem zawierającym różne strumienie wideo i audio, ścieżki napisów czy informacje dodatkowe w postaci metadanych. W zależności od typu kontenera ich liczba może być całkiem spora, mogą być też zapisane w różnych formatach. Między innymi dlatego też informacja o rozszerzeniu pliku niewiele mówi o tym czy uda się go odtworzyć. Często na przykład jeden plik AVI działa na danym systemie a inny nie. Starsze technologie natomiast, pozwalają jedynie na przechowywanie pojedynczego bloku wideo i audio. I z tymi jest zdecydowanie łatwiej. Kontenery nie muszą być w pełni multimedialne. Istnieją standardy zapisu samego dźwięku jak WAV czy AIFF bądź grafiki jak TIFF. Przyjrzyjmy się jednak kilku najpopularniejszym kontenerom audio-wideo.

Plik filmowy z rozszerzeniem AVI. Z właściwiści pliku nie wynika jednak, jakiego formatu wideo użyto do zapisu i w jakiej postaci zakodwany został dźwięk

Plik filmowy z rozszerzeniem AVI. Z właściwiści pliku nie wynika jednak, jakiego formatu wideo użyto do zapisu i w jakiej postaci zakodwany został dźwięk

AVI (Audio Video Interleave) to kontener opracowany przez Microsoft. Może zawierać materiał wideo oraz audio, a także metadane. Pozwala na synchronizację i przechowywanie wielu strumieni. Obsługuje większość formatów wideo. Kłopoty sprawia na przykład H.264, co związane jest z jego możliwością odwołań do przyszłych ramek w algorytmie kompresji (ramki typu B). Kłopotliwym dla AVI formatem audio jest natomiast Vorbis. AVI nie obsługuje menu, materiału 3D, ma kłopoty ze zmienną przepływnością i zmienną liczbą wyświetlanych ramek. Nie pozwala kodować informacji o proporcjach ekranu.

ASF (Advanced Streaming Format) także jest kontenerem opracowanym przez Microsoft. Najczęsciej zawiera pliki WMA i WMV choć te dziś częściej spotyka je się osobno, bez niego. Używany jest w przesyłaniu mediów strumieniowych. Teoretycznie kontener nie ma ograniczeń, co do obsługiwanych formatów wideo i audio ale nie istnieją kodeki, które pozwalałyby umieścic w nim inny typ danych niż WMA i WMV. Standard obsługuje zmienny bitrate, fps, rozdziały i napisy. Nie pozwala korzystać z kompresji używającej ramek typu B.

3GP (Third Generation Partnership Project) opracowano dla telefonii komórkowej trzeciej generacji. Wywodzi się on ze standardu MPEG4 i zoptymalizowany został dla mediów telefonii komórkowej. Zmniejszono w nim ilość miejsca potrzebnego do przechowywania strumieni oraz pasmo niezbędne do ich przesłania. Obsługuje zmienną przepływność i zmienną liczbe ramek, pozwala korzystać z ramen B podczas kompresji. Nie zawiera metadanych. 3GP obsługiwane jest przez większość telefonów standardu 3G z ograniczeniami rozdzielczości czy maksymalnej wielkości pliku w zależności od danego modelu.

MPEG PS (Moving Pictures Experts Group Program Stream) - kontener przeznaczony na dane, strumienie audio oraz wideo. Zdefiniowany jest w dwóch specyfikacjach - MPEG-1 oraz MPEG-2 i przygotowany został do wykorzystania na nośnikach fizycznych gdzie zachodzi minimalne prawdopodobieństwo utraty danych.Używany jest na płytach DVD, a także z pewnymi ograniczeniami na płytach HD-DVD. Może zawierać strumienie wideo w formatach MPEG-1, MPEG-2, MPEG-4 czy H.264 i audio takie jak MP3, AAC czy AC-3. Nie obsługuje metadanych.

MPEG-2 TS (Moving Pictures Experts Group Transport Stream). Wariant TS przeznaczony jest do transmisji danych, dedykowany konfiguracjom, w których mogą wystąpić straty i zakłócenia. Na przykład do rozsyłania sygnału przez naziemną telewizję cyfrową. Stosowany jest także jednak do zapisu sygnału na płytach Blu-ray (BDAV MPEG-2). Kontener nie zawiera informacji o menu (nie dotyczy wariantu BDAV) i metadanych, przenosi za to zapis EPG. Zezwala na korzystanie z funkcji zmiennego bitrate i zmiennej liczby ramek.

Strona internetowa grupy standardów MPEG

Strona internetowa grupy standardów MPEG

MP4 (MPEG-4 Part 14) - specyfikacja standardu przewiduje jego wykorzystanie do przenoszenia strumieni wideo i audio, tekstowych informacji o napisach do filmów, czy zwykłych obrazów. Kontener umożliwia także udostępnianie strumieni przez internet. Lista obsługiwanych przez niego formatów jest długa, pozwala on na zmienny bitrate i liczbę wyświetlanych rameki czy korzystanie z przyszłych ramek podczas kompresji. Można w nim umieszczać metadane, informacje o menu i dołączać załączniki. Obsługuje także 3D na poziomie kodeka i szyfrowanie danych. Pewne ograniczenia występują w funkcjonowaniu rozdziałów i podczas używania części formatów napisów.

Flash Video - kontener Adobe przeznaczony do dostarczania materiałów wideo przez Internet. Został zaakceptowany jako standard przez wiele serwisów internetowych. Może zawierać wideo, audio, dane i tekst. Nie obsługuje rozdziałów i napisów, a także menu.

QuickTime - standard opracowany przez Apple. Obsługuje praktycznie wszystkie udogodnienia i najnowsze technologie. Może zawierać materiał wideo, audio, tekst i inne dane. Pozwala na przenoszenie informacji o rozdzialach, układzie menu i napisach. Działa ze zmienną przepływnością i zmienną liczbą ramek. Minusem jest ograniczenie liczby obsługiwanych formatów do kodeka QuckTime.

RM (Real Media) - to kolejny kontener opracowany specjalnie z myślą o oprzesyłaniu strumieni audio i wideo przez internet. Lista fomratów, kó™re można w nim umieścić ograniczona jest właściwie tylko do RealVideo oraz RealAudio, AAC oraz Vorbis w przypadku dźwięku. Podstawowa wersja kontenera obsługuje stały bitrate, nowszy wariant - RMVB - również zmienny.

DivX Media Format - kontener dla formatu MPEG-4, obsługuje audio w formatach MP3, PCM i AC-3. Przenosi informacje o rozdziałach, napisach i menu. Pozwala na przesyłanie strumieniowe. Działa ze zmiennym bitrate oraz zmienną liczbą ramek

Strona projektu Matroska

Strona projektu Matroska

MKV (Matroska) - kontener ten został opracowany w ramach projektu open source. Umożliwia obsługę praktycznie każdego formatu audio i wideo, jest aktualnie najbardziej elastycznym i dającym największe możliwości standardem. Pozwala na odtwarzanie ze zmienną przepływnością, zmienną liczbą ramek, obsługuje ramki typu B podczas kompresji. Nie sprawiają mu problemu najważniejse formaty napisów, współpracuje z większością mniej popularnych. Przenosi informacje o napisach, tytułach, menu i dodatkowych danych. Co ważne, jest licencjonowany bezpłatnie, co umożliwia wykorzystywanie go w każdych warunkach bez żadnych ograniczeń.

Różnica między kontenerem, formatem i kodekiem

Jak było wspomniane wcześniej, kontener to jedynie pojemnik na dane. Dobry kontener nie powinien wprowadzać ograniczeń w możliwości przenoszenia informacji zakodowanych do różnych formatów wideo czy audio. Kodek zaś, to mechanizm pozwlający w określony sposób zakodować i odkodować dane wideo bądź audio do jednego z formatów obsługiwanych przez dany kontener. Podsumowując: jeden kontener może być nośnikiem wielu różnych formatów, jeden format może być kodowany i odkodowywany za pomocą różnych kodeków i umieszczany w różnych kontenerach, a jeden kodek może kodować i odkodowywać dane z różnych formatów.

Formaty plików filmowych

Format filmu to sposób cyfrowego zapisu strumienia wideo. Z formatem związana jest wydajność odtwarzania, ilość miejsca potrzebna do przechowywania materiału, odporność na błędy w trakcie przesyłania czy jakość zapisu. Najpopularniejszym ostatnio formatem jest H.264 czyli MPEG-4 Part 10. W użyciu jest też MPEG-2, RealVideo czy MPEG-1.

Dzięki kompresji można w sposób efektywny przechowywać i przesyłać pliki filmowe bez utraty ich jakości. Bez niej byloby to praktycznie niemożliwe. Dla przykładu godzina nieskompresowanego filmu w wysokiej rozdzielczości, odtwarzanego z szybkością 60 klatek na sekundę zajmuje ponad 400 (!) gigabajtów. Takiej ilości danych nie można przesłać bez opóźnień nawet szerokopasmowymi łączami, a rezerwowanie całego terabajtowego dysku tylko po to, by przechować jeden filmHD jest bez sensu.

MPEG-1 Part 2 - standard stratnej kompresji wykorzystującej mechanizmy percepcyjne, zaprojektowany do kodowania materiału wideo o jakości VHS. W ten sposób zapisywane były płyty Video-CD. Jego działanie polega na całkowitym bądź częściowym wycinaniu częstotliwości na, które ludzkie oko nie reaguje bądź reaguje bardzo słabo. Obsługuje rodzielczości do 12 bitów i przepływność do 100 Mbit/s i operuje na makroblokach o rozdzielczości 16x16 pikseli. W dużym uproszczeniu, aby zwiększyć stopien kompresji aktualizowane są jedynie bloki, które uległy zmianie, zapisywane są też wektory ruchu

MPEG-2 Part 2 - format zbliżony do MPEG-1. Różnica między nimi jest taka, że MPEG-2 obsługuje również wideo transmitowane z przeplotem, takie, jak na przykład w telewizji analogowej. Nie sprawdza się w niewielkich przepływnościach. Nie jest stosowany w przypadku gdy wynosi ona poniżej 1Mbit/s. Standard definiuje różne profile w zależności od liczby klatek kodowanego wideo oraz jego rozdzielczości. MPEG-2 używany jest na płytach DVD, w naziemnej telewizji cyfrowej niektórych państw, można go spotkać na płytach Blu-ray.

Niektórzy producenci oprogramowania próbują sprzedawać komercyjne wersje kodeków, zwykle wystarczają jednak warianty bezpłatne

Niektórzy producenci oprogramowania próbują sprzedawać komercyjne wersje kodeków, zwykle wystarczają jednak warianty bezpłatne

MPEG-4 Part 2 - obsługuje rozwiązania stosowane w MPEG-1 i MPEG-2 takie jak makrobloki, przeplot i ramki typu B. Nowym rozwiazaniem jest kompensacja ruchu bloków pikseli. Ma ona jednak ujemy wpyw na wydajność i w niektórych implementacjach na jakość obrazu. Standard definiuje dwa profile - prosty dla niskich przepływności jak na przykład w implementacjach rozwiązań wideokonferencyjnych czy w telefonach komórkowych i zaawansowany dla pozostałych zastosowań.

MPEG-4 Part 10/H.264 - jeden z najczęściej używanych formatów do kompresji, zapisu i przesyłania wideo wysokiej rozdzielczości. Technologia wykorzystuje między innymi makrobloki o zmiennej wielkości oraz kompensację ruchu. Do jednego makrobloku pozwala przypisać do 32 dwóch wektorów ruchu. Kwantyzacja przeprowadzana jest w zależności od wrażliwości oka na daną częstotliwość. Główną zaletą standardu MPEG-4 Part 10 jest elastyczność. H.264 został zaprojektowany tak, by sprawdzać się w transmisji o niskich i wysokich przepływnościach, obsługiwać różne rozdzielczości i zastosowania począwszy od zapisu na płytach, przeż użycie w sieciach komputerowych czy telefonii komórkowej. Kolejne rozszerzenia dodawane do standardu umożliwiają na przykład obsługę podstrumieni strumienia głównego o niższej przepływności czy możliwość zakodowania kilku widoków tej samej sceny. To jeden z głównych standardów kodowania zawartości płyt Blu-ray, korzystają z niego media strumieniowe YouTube, używany jest w transmisji cyfrowych telewizji kablowych, satelitarnych i naziemnych. Zastosowano go także w Polskiej DVB-T.

RealVideo jest właściwie zestawem standardów kompresji, w których format zmienia się w zależności od wersji. Używa stałego bitrate.Zmienna przepływność pojawiła się dopiero wraz z kontenerem RMVB. Poprawiło to jakość obrazu ale zmniejszyło możliwość zastosowania w mediach strumieniowych ze względu na kłopoty z oceną potrzebnej szerokości strumienia danych.

VC-1 - format opracowny z myślą o transmisjach sygnałów z przeplotem, głównie standardów telewizyjnych. Jego zadaniem było kodowanie bez przekształcania sygnału na progresywny. Przedstawiany jest jako alternatywa dla H.264. Gwarantuje doskonałą jakość obrazu oraz bardzo wysoki stopień kompresji. Bardziej wymagający sprzętowo od konkurenta.

VC-1 można znaleźć na płytach Blu-ray, stosowany jest w technologii Windows Media, korzysta z niego Silverlight. To podstawowy standard wideo, konsoli Xbox 360.

Free Media Converter - nie wszystko da się zawsze odtworzyć, czasami trzeba przekonwertować film do innego formatu

Free Media Converter - nie wszystko da się zawsze odtworzyć, czasami trzeba przekonwertować film do innego formatu

Dirac to otwarty kodek opracowany przez BBC do kodowania obrazu w standardzie Ultra HD czyli rozdzielczościach 2160p i wyższych choć obsługuje 1920x1080. Aktualnie to konkurent formatów H.264 oraz VC-1. Jego zadaniem jest zwiększenie wydajnosci, poprawa wykorzystania pasma i jakości obrazu. Korzysta z technologii kompensacji ruchu i kodowania wewnątrzramkowego. Może używać stałej i zmiennej przepływności, stosuje kompresję stratną i bezstratną. Jest jednym z pierwszych standardów, w których porzucono dyskretną transformatę kosinusową w mechanizmach kompresji na rzecz technik matematycznej linearyzacji i teorii transformacji fal elementarnych.

Theora - bezpłatny format kompresji wideo oparty na zmiennej przepływności i dyskretnej transformacie kosinusowej. Korzysta z mechanizmów podpróbkowania toru chrominancji czyli zmniejszania rozdzielczości informacji o kolorze. Obsługuje piksele zgrupowane w trzy różne struktury określane mianem bloków, makrobloków i super bloków. Używa technik wewnętrznego kodowania ramek.

Automatyczny konfigurator i narzędzia zestawu kodeków K-Lite

Automatyczny konfigurator i narzędzia zestawu kodeków K-Lite

HEVC/H.265/MPEG-H - High Efficiency Video Codek jest projektem następcy formatu H.264 i będzie przeznaczony dla przyszłych standardów telewizji wysokich rozdzielczości. Ma poprawić jakość obrazu i zwiększyć dwukrotnie stopień kompresji w porównaniu do H.264. Będzie obsługiwał rozdzielczości do 7680x4320. Przykładowe zmiany to zastąpienie techniki makrobloków drzewem bloków o zmiennych rozmiarach, zwiększenie rozdzielczości bitowej i umożliwienie równoległego przetwarzania fregmentów obrazu.

Jak odtworzyć i zapisać

Aby zapisać bądź odtworzyć film potrzebna jest znajomość jego formatu oraz sposobu kodowania. W następnej kolejności materiał wideo poddawany jest obróbce za pomocą określonego algorytmu. Zadanie to realizowane jest przez kodek czyli program będź urządzenie kompresujące i dekompresujące materiał wideo do wybranego formatu za pomocą jakiejś metody. Kodek powinien być efektywny i dawać wysoką jakość kodowanego obrazu. Ten drugi parametr zależy głównie od formatu ale różne kodeki mogą generować wideo tego samego formatu ale o różnej jakości.

Kodeki używane do kompresji wideo to między innymi Blackbird, DivX, Ffmpeg, x264, Sorenson, VP8, DNxHD, TMPGEnc, CineCraft, Windows Media Encoder, Elecard czy Indeo Video. Podstawowe różnice między kodekami dotyczą głównie licencji użytkowania, stosowanej metodzie kompresji stratnej bądź bezstratnej oraz maksymalnej kodowanej przepływności i rozdzielczości. Dla przykładu, popularne "kodeki" K-Lite czy ffdshow to w rzeczywistości zestawy filtrów i kodeków umożliwiające odtwarzanie różnych formatów.

Co z napisami?

Nie każdy film dystrybuowany jest we wszystkich wersjach językowych. Koszt przygotowania dubbingu nie jest mały. Dlatego powszechnie stosowane są tłumaczenia w postaci napisów wyświetlanych w trakcie trwania pokazu. Formaty napisów oraz sposoby ich kodowania to kolejne zmartwienie kinomana. Nie każdy sposób i wariant jest odtwarzany przez każdy odtwarzacz.

Generalnie napisy można podzielić na wewnętrzne i zewnętrzne. Pierwsza grupa to rozwiązania, w których tekst dołączony jest do strumienia wideo. Wyróżnić tu można napisy na stałe wkomponowane w ramki filmu oraz wyświetlane w dodatkowym strumieniu multipleksowanym z oryginalnym filmem. Wkomponowanego tekstu nie można wyłączyć i nie da się go edytować. Zaletą tego rozwiązania jest jednak brak dodatkowego obciążenia i wymagań dla odtwarzacza i najwyższa możliwa do osiągnięcia jakość napisów. Napisy w dodatkowym strumieniu maja najczęściej niską jakość, a ich zastosowanie powoduje znaczący wzrost obciążenia odtwarzacza. Można je za to edytować, wyłączać i przygotowywać różne warianty tego samego tekstu. Napisy tego typu obsługiwane są przez większość odtwarzaczy.

Dobre systemy Media Center radza sobie z większością kontenerów, formatów filmów i napisów, mają rozbudowane zestawy kodeków. Tu XBMC

Dobre systemy Media Center radza sobie z większością kontenerów, formatów filmów i napisów, mają rozbudowane zestawy kodeków. Tu XBMC

Napisy zewnętrzne to takie, które wraz z odpowiednim kodowaniem umieszczono w osobnym pliku. Można je bez problemu włączać i wyłączać, przygotowywać ich warianty, edytować. W związku z różnymi formatami tego typu napisów odtwarzacz musi zazwyczaj obsługiwać dany standard albo wymaga instalacji specjalnego dodatku czy aktualizacji. Wymagania sprzętowe do ich osługi sa za to niewielkie. Minusem jest konieczność dystrybucji dodatkowych plików i zwykle niskiej jakości efekty. Jakość wyświetlania zależy od zastosowanego formatu oraz możliwości odtwarzacza.

Informacje w plikach z napisami zapisane są w postaci tekstowej, HTML czy XML. Niektóre stnadardy używają plików graficznych. Różna jest też ich dokładność synchronizacji z filmem. Przyjrzyjmy się kilku najpopularniejszym.

MicroDVD - format tekstowy, który wywodzi się z odtwarzacza DVD dla którego został specjalnie przygotowany. Synchronizacja bazuje tu na ramkach. Kazda linia oprócz infrmacji o tekście prznosi także dane o numerze ramek, między którymi powinien być on wyświetlony. W pliku można także dołączyć parametry formatowania tekstu. Wielkość czcionki to jednak domena odtwarzacza. Tekst nie może być stylizowany, nie ma także metadanych. Pliki MicroDVD mają rozszerzenie .sub choć można je spotkać również w innych formatach. Odczytywane są na przykład przez ALLPlayera, Media Playera, Konquerora czy VLC.

Subtitle Workshop ma często kłopoty z wyświetlaniem podglądu, trzeba także uważać na wybór odpowiedniego kodowania znaków

Subtitle Workshop ma często kłopoty z wyświetlaniem podglądu, trzeba także uważać na wybór odpowiedniego kodowania znaków

SubRip - tekstowy format plików z rozszerzeniem .srt. Nie pozwala na stylizację napisów i nie obsługuje metadanych. To jeden z najprostszych formatów napisów do filmów. Plik zawiera numer wyświetlanego tekstu, czas, w którym ma się pojawić oraz czas trwania z dokłandnością do milisekundy. Format obsługiwany jest przez większość odtwarzaczy programowych i sporo sprzętowych. Programy, które same nie rozpoznają tego formatu mogą użyć specjalnie przygotowanego filtra. Standardu tego używa także wiele programów do edycji i przygotowywania napisów.

Sub Station Alpha to kolejny format tekstowy ale o zaawansowanych możliwościach. Pozwala na stylizowanie napisów i obsługuje metadane. Napisy wyświetlane są z dokładnością do 10 milisekund. Pliki tego formatu mają rozszerzenie .ssa bądź .ass. Bardzo często można je spotkać w plikach MKV. Przenoszą informację o formacie i kolorach napisów, o sposobie wyświetlania tła, marginesach czy nawet obramowaniu i cieniach. Z renderowaniem plików tego typu radzi sobie na przykład XBMC, Media Player Classic Home Cinema, VLC czy MPlayer. Można je edytować za pomocą takich narzędzi jak Aegisub lub Subtitle Edit.

Universal Subtitle Format - standard korzysta z XML-a i został przygotowany by zwiększyć elastyczność, ułatwić zarządzanie napisami i umożliwić na nich zaawansowane operacje. W praktyce jednak jest trudnieszy w obsłudze, edycji i gorzej współpracuje oprogramowaniem niż Advanced Substation Alpha (ass), który miał zastąpić. Korzystanie z niego komplikuje na przykład bardzo restrykcyjne formatowanie. To jeden z nowych standardów, który nie przyjął się wśród użytkowników. Odtwarzać, który z nim współpracuje to na przykład VLC


Zobacz również