Kontenery, formaty wideo i standardy napisów
-
- Robert Szyszka,
- 18.08.2012, godz. 12:26
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.
- Ripowanie? To proste - płyty Blu-ray
- Jak zrobić napisy do filmu
- Filmy na komputerze - wyszukuj, oglądaj, zarządzaj
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.
Zobacz również:

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
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
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
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
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
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
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
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
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