Jak kompresować obraz wideo?

Tematyka kompresji filmów jest bardzo szeroka – istnieje szereg obowiązujących standardów i kodeków, każdy z nich działa w inny sposób i do każdego z nich należy podchodzić inaczej. W tym artykule przedstawię najbardziej pożyteczne i najczęściej wykorzystywane sposoby, pozwalające na swobodną pracę i bezkompromisową prezentację wyników swojej filmowej pracy. Nie jest to opracowanie mające na celu dogłębną analizę dostępnych technik, a jedynie krótki poradnik sugerujący sprawdzone przez nas rozwiązania, potrzebne w pracy nad filmem każdego dnia, mające zastosowanie w większości sytuacji.

Jeśli interesują Cię same ustawienia, bez zgłębiania się w temat, prawdopodobnie poniższe ustawienia będą tymi, które sprawdzą się w Twoim projekcie. Jeśli jesteś zainteresowany szczegółami, czytaj dalej.

 

Kodek: H.264
Frame Size: 1920×1080 lub 1280×720
Framerate (fps): 23,976 albo 25
Field order: progressive/none
Pixel Aspect Ratio: 1:1/1.0/square
Profile: Main
Level: 4.1
Bitrate Encoding: VBR, 1-pass
Bitrate: 15Mps
Max Bitrate: 22Mbps

 

Kodek H.264

Kodek H.264 jest najpowszechniej stosowanym dziś kodekiem, odtwarza go natywnie każdy PC z Windowsem i każdy Mac. H.264 znajduje zastosowanie na płytach Blu-Ray, w transmisji strumieniowej wideo w internecie, jest obsługiwany przez smartfony, tablety, nowoczesne telewizory oraz odtwarzacze mp4. H.264 to tak naprawdę MPEG-4, będący następcą MPEG-2, stosowanego np. w płytach DVD. Film skompresowany w kodeku H.264 ma najczęściej rozszerzenie *.mp4 (lub *.mpv, jeśli jest eksportowany bez dźwięku)

Ważną zaletą kodeka jest jego uniwersalność jak i elastyczność, ponieważ pozwala on zapisywanie zarówno materiału w niskich rozdzielczościach nadających się do transmisji strumieniowej (np. obraz z webcama), jak i materiałów o rozdzielczości do 4K.

Na konfigurację kodeka h.264 wpływa kilka podstawowych czynników:

  • Rozdzielczość (Frame size) – Jeśli zależy nam na jakości, tę wartość najlepiej ustawić identyczną jak w naszym projekcie, ale jeśli chcemy przeskalować obraz w dół możemy oczywiście to zrobić.
  • Klatkaż (Framerate) – Tę wartość należy bezwzględnie ustawić na taką samą wartość jak w naszym projekcie. Najczęściej będzie to 23,976 fps, albo 25 fps, rzadziej 29,97fps. Dostępne są również inne opcje, ale stosowane są rzadko i tylko w szczególnych przypadkach.
  • Przeplot (Field order) – w materiałach generowanych ze współczesnych kamer i lustrzanek przeplot najczęściej nie jest obecny – materiał jest wtedy nazywany „progresywnym” lub „bez przeplotu”. Jeśli mimo wszystko Twoj materiał był nagrany z przeplotem (50i albo 60i), ustaw odpowiednie półpole, zgodnie ze standardem jaki generuje Twoja kamera.
  • Proporcje piksela (Pixel Aspect Ratio) – Dziś standardem jest 1:1 (Square Pixel), ale jeśli używasz kamery HDV, ustaw tutaj 1:1,33 (Widescreen 16:9).
  • Profil (Profile) – Profile Baseline, Main oraz High (Czasem dostępna jest większa ilość, w zależności od oprogramowania) określają dostępność algorytmów kodowania-dekodowania dla danego procesu. Zazwyczaj Odpowiednim ustawieniem jest tutaj Main, ale jeśli zamierzasz odtwarzać dany film na iPhonie, lepszym pomysłem będzie Baseline.
  • Poziom (Level) – Poziomy w pewnym uproszczeniu określają tylko maksymalną rozdzielczość, klatkarz i bitrate kodowanego materiału. Do większości zastosowań wystarczy ustawić profil 4.1. Więcej informacji o poziomach tutaj: http://www.wikipedia.org/wiki/H.264/MPEG-4_AVC
  • Sposób kodowania (Bitrate encoding) – tutaj dostępne są zazwyczaj 3 opcje.

Constant BitRate – ustawiamy stałe pasmo z jakim ma być kodowany materiał

Variable BitRate, 1-pass – materiał jest oceniany przez kodek pod względem stopnia skomplikowania pod względem kompresji i przydziela większe pasmo dla scen trudniejszych (np. gdzie ruch jest dynamiczniejszy), a mniejszy dla łatwiejszych. Zwykle w ten sposób osiąga się nieco mniejsze pliki od tych wygenerowanych metodą CBR, o lepszej jakości w dynamicznych scenach.

Variable BitRate, 2-pass – metoda jak powyżej, przy czym materiał jest najpierw skanowany wyłącznie w celu oceny gdzie przydzielić jaki bitrate, a dopiero później kompresowany podczas drugiego przebiegu. Ta metoda daje najlepsze efekty, ale też trwa najdłużej.

  • Pasmo (Bitrate) – to najważniejszy parametr mający wpływ na jakość, przy założeniu, że ustawiliśmy poprawny klatkaż i rozdzielczość. Dla materiałów FullHD (1920×1080) dobrym punktem odniesienia jest wartość 15Mbps – to dobry kompromis między wielkością pliku a jakością obrazu – z jednej strony obraz nie będzie zawierał widocznych artefaktów kompresji i zachowa swoją ogólna jakość, ale utracona zostanie detaliczność obrazu, na rzecz zmniejszenia wielkości pliku. Dla zachowania detali i uzyskania najlepszej jakości warto spróbować dużo wyższych wartości, rzędu 40Mbps – przyrost jakości nie jest niestety liniowy w stosunku do szerokości pasma.
    Dla materiałów HD (1280×720) wartość referencyjna to około 8Mbps.
    Uwaga: Materiał generowany przez lustrzanki ma około 25Mbps, ale błędny jest wniosek, że kompresowanie materiału w wyższym bitrate nie ma sensu. Surowy materiał jest już raz poddany kompresji, a po montażu i obróbce materiału kompresujemy go ponownie – oznacza to, że wszelkie wady kompresji potęgują się! Tym samym, ustawianie tutaj wartości 25Mbps wyłącznie z powodu tego, że taki bitrate miał materiał wejściowy jest bezcelowe.
  • Maksymalne pasmo (Max Bitrate) – ta opcja pojawia się wyłącznie podczas kompresji materiału metodą VBR (zmiennego bitrate’u) i określa maksymalna szerokość pasma, jaką kodek może przydzielić dla bardziej skomplikowanych scen. Zwyczajowo wartość tę ustawia się na 1,5-krotność podstawowego pasma, ale jest tutaj pełna dowolność.

 

Kontener Quick Time

Quick Time często błędnie jest nazywany kodekiem, podczas gdy jest on tylko kontenerem, w którym można umieścić zawartość kodowaną na różne sposoby.
Jednym z podstawowym kodeków dostępnych w QT jest właśnie H.264. Jedyną różnicą w stosunku do podstawowego kodeka H.264 jest brak dostępu do większości ustawień, w tym do bitrate’u! Zastąpione są one suwakiem Quality (wartości od 1 do 100). Ustawienie w nim wartości Q=90 daje nam bitrate rzędu 60Mbps, Q=65 22Mbps, Q=55 16Mbps itd. Im niższe ustawienie Quality tym niższy bitrate.

Animacja
Jest to kodek zawarty w pakiecie Quick Time, którego zastosowanie jest dość szczególne. Przy ustawieniu jego jakości na wartość 100, staje się kodekiem bezstratnym. Pliki zazwyczaj są ogromnych rozmiarów (lepiej kompresuje się materiał generowany cyfrowo, niż nagrywany kamerą, ze względu na większą ilość jednolitych plam barwnych), ale ich jakość jest najwyższa z możliwych. Pliki te nie mają zastosowania podczas dostarczania finalnych plików klientowi, ale stanowią doskonałą alternatywę dla niekompresowanych *.avi kiedy konieczne jest wyrenderowanie efektów pracy i przejście do innego programu, stanowiącego kolejny etap naszej pracy. Jest szczególnie przydatny podczas postprodukcji i efektów specjalnych nie tylko ze względu na oferowaną jakość, ale także obsługiwany kanał alpha (czyli przezroczystości). Poza Q=100 warto również ustawić ilość bitów na 24 albo 32.

Napisz co o tym sądzisz

Twój adres e-mail nie zostanie opublikowany.

Strona używa ciasteczek.