podsumowanie (MPD)
wielu producentów streamingu używa stałego kodowania bitrate (CBR) jako techniki kontroli szybkości transmisji bitów, albo w celu stworzenia najbardziej wydajnego strumienia do dostarczania, albo w celu spełnienia postrzeganych wymagań Apple dla HTTP Live Streaming (HLS). Jednak CBR zapewnia najniższą ogólną jakość wszystkich technik kontroli szybkości transmisji i wprowadza potencjał dramatycznych problemów z jakością przejściową, takich jak te pokazane na rysunku 1.
Rysunek 1. Porównanie kodowania CBR vs. VBR (kliknij obrazek, aby zobaczyć pełny rozmiar).
niedawna ankieta wskazuje, że wielu producentów przestawiło się na variable bitrate encoding (VBR) i ignorują wyżej wymienione zalecenia Apple. Testy wykazały, że 110% ograniczone VBR pozwala uniknąć przejściowych problemów z jakością spowodowanych kodowaniem CBR. Producenci nadal stosujący CBR powinni rozważyć przejście na ograniczone VBR, aby uniknąć tych przejściowych problemów z jakością i poprawić ogólną jakość wideo.
Segment 1: bitrate control jest jedną z najbardziej podstawowych opcji kodowania wybranych dla każdego skompresowanego pliku
za każdym razem, gdy kodujesz plik do dystrybucji strumieniowej, wybierasz bitrate i technikę sterowania bitrate. Jest to pokazane na rysunku 2 z programu Adobe Media Encoder.
Rysunek 2. Techniki kontroli szybkości transmisji dostępne w programie Adobe Media Encoder.
dwie najczęściej stosowane techniki to:
• Constant bitrate encoding (CBR), gdzie ta sama szybkość transmisji jest stosowana do całego pliku, niezależnie od złożoności sceny. W CBR ustawiasz docelową szybkość transmisji (Rysunek 2), ale nie maksymalną, ponieważ szybkość transmisji nie powinna się znacznie różnić, chociaż zwykle robi to w pewnym ograniczonym stopniu, jak pokazano na rysunku 3.
Rysunek 3 przedstawia plik zakodowany przy użyciu CBR. Jak widać w legendzie po prawej stronie, średnia szybkość transmisji wynosi 4936 kbps, podczas gdy szczyt wynosi 5557 kbps. Falista jasnoniebieska linia to zmienna szybkość transmisji danych, która zmienia się minimalnie w czasie trwania pliku. Poszczególne kolumny są wielkości każdej zakodowanej grupy zdjęć w pliku, z klatką kluczową co trzy sekundy w tym pliku 29.97 fps.
Rysunek 3. Plik zakodowany CBR w przeglądarce Bitrate.
zauważ, że CBR nigdy nie jest kompletną flatline; zmienność około 5-10% jest normalna.
• Variable bitrate encoding (VBR), gdzie ta sama ogólna docelowa szybkość danych jest osiągana, ale szybkość danych jest zmieniana w czasie trwania pliku, aby dopasować złożoność sceny. W VBR ustawiasz cel i maksimum (Rysunek 2), a w niektórych aplikacjach również minimum. Po ustawieniu maksimum kodowanie VBR jest uważane za ograniczone, a VBR jest często opisywane przez procent ograniczenia. Na rysunku 2 Maksymalna Szybkość transmisji wynosi 2,4 MB / s, czyli 200% docelowej szybkości transmisji 1,2 MB / s. Technika ta będzie nazywana 200% ograniczone VBR.
Rysunek 4 pokazuje ten sam plik co rysunek 3 zakodowany przy użyciu 200% ograniczonego VBR do tej samej docelowej szybkości transmisji 5000 kbps. Średnia szybkość transmisji jest taka sama (4988 kbps vs.4936 kbps), ale szczytowa szybkość transmisji wynosi 9301 kbps, nie całkiem 200%, ale w przybliżeniu. Falista Niebieska linia szybkości transmisji danych różni się znacznie bardziej niż na rysunku 3, z niskimi szybkościami na początku i szczytami w całym tekście.
Rysunek 4. Ten sam plik zakodowany przy użyciu 200% ograniczonego VBR.
• wielu producentów domyślne CBR dla niektórych lub wszystkich ich kodowania. We wczesnych dniach transmisji strumieniowej połączenia były tak ograniczone, że zalecano CBR, aby uniknąć skoków szybkości transmisji danych, które mogłyby opóźnić płynne odtwarzanie. W Apple Technote TN2224 Apple stwierdza ” zmienność szybkości transmisji bitów-nie powinna przekraczać 10% docelowej szybkości transmisji.”Bardziej złowieszczo, Apple Media Stream Validator, narzędzie używane do testowania strumieni HLS, tworzy ostrzeżenie, jeśli dowolny segment strumienia różni się od docelowego bitrate o ponad 10%. Nic dziwnego, że w niedawnym badaniu przeprowadzonym przez Streaming Learning Center 11 z 16 respondentów wskazało, że nadal używają kodowania CBR dla niektórych swoich strumieni (Rysunek 5). Co prawda, liczba respondentów jest zbyt mała, aby była statystycznie istotna, choć odpowiedzi są ważne w celach informacyjnych.
Rysunek 5. Jedenastu z 16 respondentów nadal używało CBR na niektórych swoich strumieniach, a także innych technik.
jak widać na rysunku 5, istnieją inne techniki kontroli szybkości transmisji, w tym Stały współczynnik szybkości (CRF) i Ograniczony CRF. Jednak ponieważ są one najlepiej używane w bardzo ograniczonych przypadkach (głównie syntetycznych treści, takich jak screencams i PowerPoint wideo z dźwiękiem), nie są one uwzględnione w tej dyskusji.
Segment 2. CBR zapewnia ogólnie niższą jakość niż VBR
Tabela 1 pokazuje wyniki jednego zestawu porównań jakości dla nadchodzącej książki Jana Ozera, kodowanie według liczb, która ma się ukazać latem '2016. Testy te obejmowały pliki zakodowane do rozdzielczości 720p przy 2 MB / s przy użyciu FFmpeg, z wynikami VQM mierzonymi przez narzędzie do pomiaru jakości wideo Uniwersytetu Moskiewskiego (Vqmt). Z VQM, niższe wyniki są lepsze, a w tabeli, wyniki na czerwono są najgorsze, wyniki na Zielono najlepsze.
Porównanie jakości PSNR dla różnych technik kontroli szybkości transmisji.
zwróć uwagę na kolumny delta jakości w tabeli 1. Pierwszy pokazuje całkowitą różnicę jakości pomiędzy najniższym i najwyższym plikiem w grupie. Drugi pokazuje różnicę jakości między klipami zakodowanymi przy użyciu 110% i 200% ograniczonego VBR. Jak zobaczysz, producenci mogą uniknąć przejściowych problemów z jakością i utrzymać się w zaleceniach Apple, używając ograniczonego W 110% VBR. Jednak producenci poszukujący pliku o najwyższej możliwej jakości, bez względu na zalecenia Apple, powinni używać 200% ograniczonego VBR.
we wszystkich przypadkach testowych, 2 Pass CBR dostarczył najgorszą jakość, a w pięciu z sześciu, 200% Ograniczony VBR dostarczył najwyższą jakość. Jedynym wyjątkiem był klips talking head, gdzie 1 pass CBR dostarczył najwyższą jakość. Wynik ten wydaje się być anomalią; w podobnych testach przeprowadzonych na klipsach z trzema ruchomymi, mówiącymi głowami, wyniki były zgodne ze wszystkimi innymi plikami w tabeli 1. Największą zmienność zaobserwowano w klipie Big Buck Bunny, który wykazał 14,54% różnicy jakości pomiędzy klipami najniższej i najwyższej jakości (Kolumna Delta Total Quality).
ogólna różnica jakości jest w większości innych klipów stosunkowo niewielka. W rzeczywistości prawdopodobnie nie jest to nawet zauważalne podczas normalnego odtwarzania. Jednak w niektórych przypadkach pliki CBR mogą wykazywać poważniejszy problem; jakość przejściowa spada na rysunku 1.
Segment 3: Problemy z jakością przejściową CBR są znacznie bardziej dotyczące
gdy kodujesz wymagające klipy do agresywnych parametrów, kodowanie CBR może powodować poważne problemy z jakością przejściową, takie jak te pokazane na rysunku 1. Rysunek 6 to ekran wizualizacji wyników z narzędzia Vqmt Uniwersytetu Moskiewskiego, który pokazuje wyniki VQM (niższe wyniki lepiej) dla dwóch plików. Plik w kolorze czerwonym został zakodowany przy użyciu 110% ograniczonego VBR, podczas gdy plik w Kolorze Niebieskim to CBR. Zakreślone skoki danych pokazują klatki lub grupy klatek, w których jakość pliku CBR drastycznie spadła w porównaniu do pliku VBR ograniczonego w 110%. Najgorsze z tych różnic przedstawiono na rysunku 1.
Rysunek 6. Skoki szybkości transmisji danych na Dolnym rysunku pokazują klatki lub grupy klatek, w których jakość CBR jest znacznie gorsza niż ograniczona 110%.
interesujące jest to, że szczytowa szybkość transmisji bitów dla pliku CBR faktycznie przekracza prędkość pliku VBR. Widać to na rysunku 7, który pokazuje przeglądarkę Bitrate analizującą plik CBR (na górze) i plik VBR. Tablice boczne po prawej stronie pokazują średnie i szczytowe przepływności dla obu plików. Średnia jest prawie identyczna, podczas gdy szczytowa prędkość dla pliku CBR wynosi 2623 kbps w porównaniu do 2539 kbps dla pliku VBR ograniczonego 110% (ale patrz uwaga 5 poniżej). Niezależnie od tego, czy chodzi o wydajność przesyłania strumieniowego, czy o przestrzeganie zaleceń Apple dotyczących 110% zmienności, czy też o oba te aspekty, constrained VBR osiąga lepsze wyniki, zapewniając jednocześnie ogólną wyższą jakość i unikając przejściowych spadków jakości widocznych w pliku CBR.
Rysunek 7. Przeglądarka Bitrate analizująca plik CBR u góry i 110% Ograniczony plik VBR na dole.
poniżej możesz obejrzeć krótki film ilustrujący i wyjaśniający te kwestie.
ten film ilustruje problemy z jakością przejściową, które czasami występują w przypadku wideo CBR. Najlepiej oglądać na pełnym ekranie (kliknij ikonę w prawym dolnym rogu w oknie odtwarzania).
nie dziwi fakt, że wyniki naszego badania wykazały, że najczęściej stosowanym ograniczeniem procentowym przez respondentów było 110% celu, choć co prawda, podobnie jak w przypadku ogólnych wyników badania, liczba respondentów jest zbyt mała, aby była statystycznie istotna.
Rysunek 8. 110% celu było najczęstszym ograniczeniem.
Segment 4: Wielu producentów ignoruje zalecenia Apple dotyczące 110% zmienności
Rysunek 9 pokazuje niektóre z ciekawszych wyników badania. Oznacza to, że z tych, którzy produkują pliki HLS, większość producentów całkowicie ignoruje rekomendację Apple. Co ciekawe, jedynym pytaniem demograficznym zadanym w ankiecie była liczba plików wideo produkowanych każdego tygodnia. Dziesięciu respondentów wskazało, że produkują ponad 100 plików tygodniowo; z tej grupy pięciu podążyło za rekomendacją Apple, pięciu całkowicie ją zignorowało.
Rysunek 9. Większość producentów ignoruje rekomendacje Apple.
ciekawym pytaniem byłoby, czy respondenci, którzy zignorowali ograniczenie, dystrybuowali na urządzenia z systemem iOS za pośrednictwem aplikacji. Niestety, nie zadaliśmy tego pytania, pozostawiając otwartą obawę, że Apple odrzuci aplikacje, gdy wideo odtwarzane przez aplikację nie spełnia wymogu 110% zmienności.
Segment 5: wnioski
1. We wszystkich testach CBR zapewniał najniższą ogólną jakość spośród wszystkich alternatyw bitrate.
2. We wszystkich testach oprócz jednego, constrained VBR dostarczył najwyższą jakość
3. Dzięki wymagającym materiałom i agresywnym parametrom kodowania wideo kodowane CBR może wykazywać przejściowe spadki jakości, czasami dramatyczne.
4. Produkcja przy użyciu 110% ograniczonego VBR wydaje się unikać tych problemów z jakością bez wprowadzania znacznej zmienności szybkości transmisji danych.
5. W większości przypadków kodowanie z 200% ograniczonym VBR zapewnia maksymalną jakość.
6. Wielu producentów ignoruje zalecenie Apple, aby produkować pliki HLS z maksymalną zmiennością strumienia 110%.
Segment 6: rekomendacje
1. Producenci, którzy obecnie używają CBR dla niektórych lub wszystkich swoich kodowań, powinni rozważyć przejście na ograniczony VBR.
• 110% Ograniczony VBR powinien unikać przejściowych problemów z jakością.
• 200% Ograniczony VBR zapewni absolutną najlepszą jakość.
2. Producenci dystrybuujący wideo HLS za pośrednictwem aplikacji powinni prawdopodobnie wybrać 110% Ograniczony VBR, aby uniknąć problemów z zatwierdzeniem App Store podczas wstępnego przesyłania lub przesyłania aktualizacji. Te wysyłki dla pulpitu opartego na przeglądarce i odtwarzanie mobilne (np. bez aplikacji) powinny rozważyć 200% ograniczone VBR.
3. Wyniki te będą się różnić w zależności od kodeka i narzędzia kodowania. Jak opisano poniżej, wyprodukowaliśmy wszystkie pliki do tych testów w FFmpeg przy użyciu kodeka x264. Zauważyliśmy przejściowe problemy z jakością plików CBR w innych narzędziach kodowania opartych na x264, ale mogą one nie występować we wszystkich narzędziach kodowania.
4. Wszelkie główne zmiany kodowania, takie jak te zalecane w niniejszym dokumencie, nie powinny być wdrażane bez testów w celu zapewnienia jakości i grywalności.
dodatek i: jak testowaliśmy
oto krótki opis procedur stosowanych w tych testach.
1. Wszystkie pliki wyprodukowaliśmy przy użyciu FFmpeg na stacji roboczej HP Z840 z systemem Windows 7 Professional z 64 GB PAMIĘCI RAM.
2. Ogólne parametry kodowania były klatkami kluczowymi co 3 sekundy i bardzo niskim ustawieniem.
3. Wyprodukowaliśmy pliki CBR przy użyciu tego samego docelowego bitrate, max bitrate i ustawienia bufora jednej sekundy wideo. Dla celów 4 MB / s ciąg znaków był następujący:
-b:v 4000K
-maxrate 4000K
-bufsize 4000k
4. Stworzyliśmy ograniczone pliki VBR, dostosowując ustawienie maksymalnej szybkości i używając wartości bufora 1 sekundy. Dla docelowego 4 mbps z 110% ograniczonym CBR, ciąg znaków wynosił:
-b:v 4000K
-maxrate 4400k
-bufsize 4000k
zarówno dla CBR, jak i VBR, kodowanie z większym buforem poprawiło jakość strumienia, ale także zwiększyło zmienność strumienia.
5. Wyprodukowaliśmy pliki CBR analizowane na rysunkach 6 i 7, a w filmie, przy użyciu 1-pass CBR, co zwiększyło jakość pliku w porównaniu do 2-pass (patrz Tabela 1), ale także zwiększyło zmienność plików. Kodowanie za pomocą 1-pass CBR również produkowało pliki znacznie poniżej celu, więc musieliśmy kodować wiele razy z coraz większą szybkością, aby osiągnąć docelową szybkość danych. Korzystanie z 2-przebiegowego kodowania CBR zapewnia nieco niższą jakość plików, ale także większą dokładność szybkości transmisji danych i mniejszą zmienność strumienia.
6. Sprawdziliśmy, że docelowa szybkość danych wszystkich plików mieści się w granicach 5% celu.
7. Stworzyliśmy wszystkie wyniki jakości zawarte powyżej za pomocą narzędzia do pomiaru jakości wideo Uniwersytetu Moskiewskiego.