Ponowna kontrola H.265 i H.264: rozmiar, SSIM i czas kodowania

Management Summary
Kompresja wideo ogranicza miejsce potrzebne do przechowywania i przesyłania nagrań. H.264, H.265 i AV1 oferują różne kompromisy między wielkością pliku, szczegółowością obrazu i czasem obliczeń. Ponowna ocena osiemnastu plików pokazuje, dlaczego żaden format nie gwarantuje stałej oszczędności: wynik zależy od materiału i ustawień. W archiwach kamer i innych zbiorach ważna jest także możliwość odtwarzania. Ponowne kompresowanie starszych nagrań może oszczędzić miejsce, ale wymaga czasu i może usuwać szczegóły.
Spis treści
Nazwa kodeka nie wyznacza stałej oszczędności miejsca. Znaczenie mają implementacja kodera, ustawienia, materiał źródłowy i kryterium jakości. Zachowany eksperyment z H.264, H.265 i AV1 jest użyteczny właśnie dlatego, że pliki pokazują granice prostego procentowego twierdzenia.

Koder to oprogramowanie lub sprzęt tworzący skompresowane wideo. Preset ustala kompromis między nakładem obliczeń a efektywnością kompresji. CRF steruje jakością w obrębie kodera; jednakowe liczby w różnych koderach nie zapewniają jednakowych wyników.
Co zawiera archiwum
Eksperyment z 2 września 2026 obejmuje dwie sześciosekundowe referencje Y4M o rozdzielczości 1280 × 720, 25 klatkach na sekundę i YUV 4:2:0 oraz osiemnaście plików MP4. Jedna scena łączy nieruchome tło fotograficzne z poruszającym się kwadratem. Druga jest syntetycznym ruchomym obrazem testowym. To skonstruowane sceny, a nie reprezentatywna próba nagrań monitoringu.
Zapisany skrypt używa libx264 i libx265 z veryfast oraz libsvtav1 z presetem 8. Wartości CRF to 20, 26 i 32 dla x264/x265 oraz 30, 40 i 50 dla SVT-AV1. Ustawienia nie są równoważnymi skalami nakładu ani jakości. W x265 veryfast jest trzecim presetem od najszybszego, nie drugim.
Co potwierdziła ponowna kontrola
Rozmiary wszystkich osiemnastu zapisanych plików zgadzają się z historycznym logiem. Ponowne dekodowanie każdej wersji względem zachowanej referencji odtworzyło wartości SSIM z odchyleniem poniżej 0,000002. Obejrzano także klatki źródłowe. Czasów kodowania nie mierzono ponownie; podane czasy pozostają historycznymi obserwacjami.
| Scena | Koder / CRF | Rozmiar (kB) | SSIM | Czas (s) |
|---|---|---|---|---|
| Spokojna | libx264 / 26 | 173,935 | 0,969647 | 7,4 |
| Spokojna | libx265 / 26 | 216,020 | 0,983188 | 48,4 |
| Spokojna | libsvtav1 / 40 | 281,820 | 0,993602 | 61,2 |
| Ruchoma | libx264 / 26 | 1273,821 | 0,990624 | 14,3 |
| Ruchoma | libx265 / 26 | 1843,236 | 0,993767 | 93,9 |
| Ruchoma | libsvtav1 / 40 | 1028,964 | 0,991210 | 178,1 |
Tabela pokazuje wybrane rzeczywiste wyniki, a nie pliki znormalizowane do równej jakości. Dziesiętne kB oznaczają 1000 bajtów. Rozmiary obejmują narzut kontenera MP4. Wiersze nie tworzą ogólnego rankingu standardów kodeków.
SSIM mierzy podobieństwo, nie identyczny wygląd
SSIM opisuje podobieństwo strukturalne do referencji. Równe średnie wyniki nie dowodzą identycznej jakości postrzeganej ani jednakowej widoczności drobnych szczegółów. Dokumentacja x265 wskazuje, że optymalizacje percepcyjne mogą poświęcać wynik metryki na rzecz wyglądu, i zaleca odpowiednie strojenie przy porównaniach SSIM. Zachowane polecenie nie zawiera tego strojenia.
Dla spokojnego źródła x264 obejmuje SSIM 0,940944–0,986467, x265 0,965353–0,992410, a AV1 0,987918–0,997030. Nie istnieje wspólny zmierzony przedział wszystkich trzech. Plik AV1 o rozmiarze 179,212 kB ma wyższy SSIM niż plik x264 o rozmiarze 300,607 kB, ale nie dowodzi to dokładnie równej jakości.
Dla ruchomego źródła zakresy się pokrywają. Interpolacja szacuje wartość pośrednią na podstawie zmierzonych punktów. Trzy próbki pozwalają w ten sposób oszacować rozmiar przy wybranym wyniku SSIM, jeśli cel mieści się w zmierzonym zakresie, a metoda jest podana. Oszacowanie nie jest faktycznie zakodowanym plikiem. Interpolacja liniowa bajtów może różnić się od interpolacji logarytmu bitrate. Porównanie percepcyjne wymaga dodatkowych dowodów.
Żaden przebieg nie wykazał kodowania w czasie rzeczywistym
Historyczne czasy wynoszą 7,4–17,1 sekundy dla x264, 41,4–149,6 dla x265 i 61,2–180,7 dla AV1, zawsze dla sześciu sekund materiału. Każdy zapisany przebieg trwał dłużej niż źródło. Nazywanie ustawień potwierdzonymi presetami czasu rzeczywistego przeczy tym obserwacjom.
Test kodowania pliku nie sprawdza też całego toru kamery. Przechwytywanie, buforowanie, opóźnienia, dźwięk i długotrwałe obciążenie wymagają osobnych kontroli. Jednakowe nazwy presetów nie oznaczają równego nakładu obliczeń. Koder sprzętowy nie gwarantuje określonej oszczędności ani obsługi każdej rozdzielczości i liczby klatek.
Granice wcześniejszych procentów
Wcześniejsze dwanaście procent oszczędności i osiemnaście procent wzrostu wynikały z wybranych porównań oraz szacowanych punktów o zbliżonej metryce. Pliki uzasadniają węższy wniosek: rozmiar i SSIM zmieniają się wraz z koderem i ustawieniem, a testowane przebiegi programowe nie nadążały w czasie rzeczywistym. Nie dowodzą wyłącznego wpływu presetu ani ogólnie mniejszej utraty efektywności AV1 przy dużej szybkości.
Proponowany próg 13,8% ruchu zakłada ponadto, że dowolne nagranie dobowe jest liniową mieszaniną dwóch scen. Zmiany scen, grupowanie klatek (struktura GOP), szum i sterowanie bitrate mogą naruszać to założenie. Nie jest to próg planowania dla kamer.
Użyteczna decyzja o pamięci
Praktyczne porównanie wymaga reprezentatywnego materiału, konkretnych wersji i ustawień koderów, powtórzonych pomiarów czasu, oceny jakości oraz wymagań odtwarzania. Zmierzony średni całkowity bitrate 1 Mbit/s daje około 10,8 dziesiętnych GB na dobę ciągłego nagrania przed narzutem systemu plików. Sama nazwa kodeka nie wyznacza bitrate.
Późniejsze przekodowanie może zmniejszyć część archiwów, lecz wymaga obliczeń. Ponowna kompresja może usunąć kolejne szczegóły obrazu. Możliwość konwersji całego zbioru zależy od mocy obliczeniowej i terminu. Historyczne przebiegi AV1 pokazują znaczny koszt w tamtej konfiguracji, a nie uniwersalny zakaz.