W rozdziale:
- Wprowadzenie
- Kontenery wideo
- Kodeki wideo
- Kodeki audio
- Obsługa kodeków
- Licencja kodeka H264
- Poradnik do programu Video Converter
- Poradnik do programu Firefogg
- Poradnik do programu ffmpeg2theora
- Poradnik do programu HandBrake
- Poradnik do programu ffmpeg
- Element HTML5 video
- Wideo w Internet Explorerze
- iPhone, iPad i Android
- Przykład
Kodeki wideo
Stwierdzenie „oglądam film wideo” zazwyczaj zawiera w sobie informację, że używamy kombinacji strumienia dźwiękowego i wideo. Ale żaden film nie składa się z dwóch oddzielnych plików. Jest tylko jeden film. Może to być plik AVI albo MP4. To są tylko formaty kontenerów, które podobnie jak plik ZIP mogą zawierać rózne rodzaje plików. Format kontenera określa sposób przechowywania strumieni dźwiękowego i wideo w jednym pliku.
Gdy oglądasz film, odtwarzacz wykonuje przynajmniej trzy czynności na raz:
- interpretuje format kontenera, aby dowiedzieć się jakie zawiera ścieżki audio i wideo oraz jak są przechowywane, żeby móc znaleźć dane, które ma zdekodować;
- dekoduje strumień wideo i wyświetla serię obrazów na ekranie;
- dekoduje strumień audio i wysyła dane dźwiękowe do głośników.
Kodek wideo to algorytm, przy użyciu którego koduje się strumień wideo, czyli informujący, jak wykonać punkt 2 z powyższej listy. (Słowo „kodek” powstało z połączenia słów „koder” i „dekoder”). Odtwarzacz wideo dekoduje strumień wideo wg algorytmu kdoeka wideo i wyświetla na ekranie serię obrazów, czyli klatek. W wielu nowoczesnych kodekach stosowane są różne sztuczki pozwalające zmniejszyć ilość danych potrzebnych do wyświetlania kolejnych klatek na ekranie. Przykładowo zamiast zapisywać całe klatki (jak zrzuty ekranu), przechowywane ą tylko różnice między kolejnymi klatkami. W większości filmów obraz między poszczególnymi klatkami zmienia sie tylko nieznacznie, co pozwala na uzyskanie wysokiego stopnia kompresji i zmniejszenie rozmiaru plików.
Wyróżnia się kodeki wideo z kompresją stratną i bezstratną. Pliki uzyskane przy użyciu kompresji bezstratnej są zbyt duże, aby nadawały się do użytku w internecie, więc skoncentruję się tylko na kompresji stratnej. Kodek wideo z kompresją stratną to taki, który w procesie kompresji powoduje bezpowrotną utratę części danych. Jest to podobne do kopiowania kasety wideo. Za każdym razem traci się część informacji wideo,co powoduje pogorszenie jakości obrazu. Na kasecie magnetofonowej pojawiają się szumy, a na kasecie wideo obraz staje się zniekształcony, co widać zwłaszcza w dynamicznych scenach. (Może to mieć miejsce też w przypadku kodowania bezpośrednio ze źródła, gdy wybierze się słaby kodek wideo albo użyje się nieprawidłowych parametrów.) Na szczęście stratne kodeki potrafią bardzo dobrze kompresować filmy i ukrywać niedoskonałości obrazu podczas odtwarzania filmu, dzięki czemu są one trudniejsze do zauważenia.
Istnieje bardzo dużo kodeków wideo. Trzy najlepiej nadające się do użytku w internecie to H.264, Theora oraz VP8.
H.264
Kodek H.264 jest także znany pod nazwami „MPEG-4 part 10”, “MPEG-4 AVC” oraz „MPEG-4 Advanced Video Coding”. Został opracowany przez grupę MPEG, a jego standard powstał w 2003 r. Jest przeznaczony do użytku zarówno w sprzętach o niskiej przepustowości, ze słabym procesorem (telefony komórkowe) jak i urządzeniach o dużej przepustowości i z wydajnym procesorem (jak nowoczesne komputery osobiste) oraz we wszystkim, co mieści się pomiędzy nimi. Aby było możliwe obsłużenie tak różnorodnych urządzeń, kodek H.264 podzielono na profile, z których każdy zawiera opcjonalne funkcje pozwalające zmienić rozmiar pliku kosztem zwiększonej złożoności. Wyższe profile mają więcej opcjonalnych funkcji, dają lepszą jakość obrazu przy mniejszym rozmiarze pliku, wymagają więcej czasu na kodowanie oraz potrzebują więcej mocy procesora, aby dekodować na bieżąco.
Jeśli chcesz się przekonać, jak różnią się między sobą profile, zajrzyj na strony Apple’s iPhone supports Baseline profile, AppleTV set-top box supports Baseline and Main profiles oraz Adobe Flash on a desktop PC supports Baseline, Main, and High profiles. W serwisie YouTube aktualnie kodek H.264 to jest wykorzystywany do kodowania filmów HD, które odtwarzane są poprzez Adobe Flash. Ponadto YouTube udostępnia filmy kodowane kodekiem H.264 dla urządzeń przenośnych, wliczając iPhone’a Apple i telefony z systemem operacyjnym Android firmy Google. Ponadto H.264 jest jednym z kodeków wideo zatwierdzonych w specyfikacji Blu-Ray. Na dyskach Blu-Ray zazwyczaj używany jest wysoki profil H.264.
Większość urządzeń innych niż komputery PC podczas odtwarzania filmów H.264 (dotyczy to także iPhone’ów i odtwarzaczy Blu-Ray) wykorzystuje specjalny układ do dekodowania danych, ponieważ ich procesory są za mało wydajne, aby dekodować wideo na bieżąco. Obecnie nawet niższej klasy karty graficzne dekodują dane H.264. Istnieją konkurujące ze sobą kodery H.264, do których zalicza się także otwarta biblioteka x264. Standard H.264 jest obarczony patentem, a licencjami zarządza grupa MPEG LA. Wideo w formacie H.264 można osadzić w najpopularniejszych formatach kontenerów, wliczając MP4 (głównie używany w sklepie iTunes Apple) i MKV (używany głównie przez entuzjastów wideo nie działających w celach komercyjnych).
Theora
Theora to produkt, który wyewoluował z kodeka VP3 i jest rozwijany przez Xiph.org Foundation. Theora to darmowy kodek nieobciążony żadnymi znanymi patentami oprócz oryginalnych patentów VP3, które są udostępniane nieodpłatnie. Mimo że standard pozostaje w stagnacji od 2004 r., opublikowano wersję 1.0 w listopadzie 2008 r. i 1.1 we wrześniu 2009 r projektu Theora (w skład w którego wchodzi otwarty koder i dekoder referencyjny).
Wideo w formacie Theora można osadzić w dowolnym kontenerze, ale najczęściej można je znaleźć w kontenerach Ogg. Wszystkie najważniejsze dystrybucje Linuksa standardowo obsługują Theorę, a Mozilla Firefox 3.5 obsługuje wideo Theora w kontenerze Ogg. Obsługa oznacza w tym przypadku, że „z technologii można korzystać na wszystkich platformach bez potrzeby instalowania żadnych dodatków”. Wideo w formacie Theora można też odtwarzać w systemach Windows i Mac OS X, ale trzeba zainstalować otwarty dekoder Xiph.org.
VP8
VP8 to kolejny kodek wideo firmy On2, w której też powstał kodek VP3 (później zamieniony w Theorę). Jakość obrazu jest porównywalna z profilem wysokim H.264 przy jednoczesnym niskim stopniu złożoności procesu dekodowania w porównaniu z tym kodekiem.
W 2010 r. Google wykupiło On2 i opublikowało w otwartym źródle specyfikację kodeka wideo oraz jego przykładowy koder i dekoder. Dodatkowo firma Google „uwolniła” wszystkie patenty uzyskane przez On2 dla VP8, udostępniając je wszystkim bez opłat licencyjnych. (Z patentami jest tak, że nie można ich po prostu opublikować ani anulować, gdy zostaną już komuś przyznane. Jeśli chcemy, aby nasz patent był otwarty, musimy udzielać na niego darmowych licencji i wówczas każdy kto chce może wykorzystywać naszą technologię bez potrzeby negocjowania ceny). Od 19 maja 2010 r. VP8 VP8 jest darmowym kodekiem nieobciążonym żadnymi znanymi patentami, innymi niż te, które firma On2 (a teraz Google) udostępnia na darmowej licencji.
- Wprowadzenie
- Kontenery wideo
- Kodeki wideo
- Kodeki audio
- Obsługa kodeków
- Licencja kodeka H264
- Poradnik do programu Video Converter
- Poradnik do programu Firefogg
- Poradnik do programu ffmpeg2theora
- Poradnik do programu HandBrake
- Poradnik do programu ffmpeg
- Element HTML5 video
- Wideo w Internet Explorerze
- iPhone, iPad i Android
- Przykład




Dodaj komentarz
Musisz się zalogować, aby móc dodać komentarz.