Summary (The MPD)
veel streaming producenten gebruiken constant bitrate encoding (CBR) als een bitrate controle techniek, hetzij in een poging om de meest efficiënte stream voor levering te creëren, of om te voldoen aan de waargenomen Apple vereisten voor HTTP Live Streaming (HLS). Echter, CBR levert de laagste algemene kwaliteit van alle bitrate controle technieken en introduceert het potentieel voor dramatische voorbijgaande kwaliteitsproblemen zoals die in Figuur 1.
figuur 1. Vergelijking van CBR vs. VBR-codering (klik op de afbeelding voor volledige weergave).
uit een recent onderzoek blijkt dat veel producenten zijn overgestapt op variabele bitrate codering (VBR) en de eerder genoemde Apple-aanbevelingen negeren. Uit testen blijkt dat 110% beperkte VBR de voorbijgaande kwaliteitsproblemen vermijdt die worden veroorzaakt door CBR-codering. Producenten die nog steeds CBR gebruiken, moeten overwegen over te schakelen op beperkte VBR om deze tijdelijke kwaliteitsproblemen te voorkomen en de algehele videokwaliteit te verbeteren.
Segment 1: Bitrate control is een van de meest fundamentele coderingsopties geselecteerd voor elk gecomprimeerd bestand
wanneer u een bestand codeert voor streaming distributie, kiest u een bitrate en een bitrate control techniek. Dit wordt weergegeven in Figuur 2, van de Adobe Media-Encoder.
Figuur 2. Bitrate controle technieken beschikbaar in de Adobe Media Encoder.
de twee meest voorkomende technieken zijn::
• constante bitrate-codering (CBR), waarbij dezelfde bitrate wordt toegepast op het hele bestand, ongeacht de complexiteit van de scène. Met CBR stel je de doelbitrate in (Figuur 2) maar niet het Maximum, omdat de bitrate niet significant moet variëren, hoewel dit meestal tot op zekere hoogte gebeurt, zoals weergegeven in Figuur 3.
Figuur 3 toont een bestand gecodeerd met behulp van CBR. Zoals je kunt zien in de legende aan de rechterkant, de gemiddelde bitrate is 4936 kbps, terwijl de piek is 5557 kbps. De golvende lichtblauwe lijn is de zwevende datasnelheid, die minimaal varieert over de duur van het bestand. De individuele kolommen zijn de grootte van elke gecodeerde Groep afbeeldingen in het bestand, met een keyframe elke drie seconden in dit 29.97 fps bestand.
Figuur 3. Een CBR-gecodeerd bestand in Bitrate Viewer.
merk op dat CBR nooit een volledige flatline is; een variabiliteit van ongeveer 5-10% is normaal.
* variabele bitrate-codering (VBR), waarbij aan dezelfde algemene gegevenssnelheid van het doel wordt voldaan, maar de gegevenssnelheid wordt gevarieerd over de duur van het bestand om overeen te komen met de complexiteit van de scène. Met VBR stel je het doel en het Maximum in (Figuur 2), en in sommige toepassingen ook het minimum. Wanneer u een maximum instelt, wordt de VBR-codering als beperkt beschouwd en wordt VBR vaak beschreven door het percentage van de beperking. In Figuur 2, De maximale Bitrate is 2,4 Mbps, of 200% van de doel Bitrate van 1,2 Mbps. Deze techniek zou 200% beperkt VBR worden genoemd.
Figuur 4 toont hetzelfde bestand als Figuur 3 gecodeerd met 200% beperkte VBR tot dezelfde doel bitrate van 5000 kbps. De gemiddelde bitrate is ongeveer hetzelfde (4988 kbps vs. 4936 kbps), maar de piek bitrate is 9301 kbps, niet helemaal 200%, maar in het ballpark. De golvende blauwe datasnelheidslijn varieert veel significant meer dan in Figuur 3, met lage tarieven aan het begin, en pieken in de hele.
Figuur 4. Hetzelfde bestand gecodeerd met 200% beperkte VBR.
* veel producenten standaard CBR voor sommige of alle van hun codering. In de vroege dagen van streaming waren de verbindingen zo beperkt dat CBR werd aanbevolen om datasnelheidspieken te voorkomen die het afspelen konden vertragen. In Apple Technote TN2224, Apple Staten ” bitrate variabiliteit-mag niet hoger zijn dan 10% van de target bitrate.”Onheilspellender, Apple’ s Media Stream Validator, een tool die wordt gebruikt om HLS-streams te testen, creëert een waarschuwing als een stream segment bitrate varieert van de target bitrate door meer dan 10%. Niet verrassend, in een recente enquête door het Streaming Learning Center, 11 van de 16 respondenten aangegeven dat ze nog steeds gebruik maken van CBR-codering voor een aantal van hun streams (Figuur 5). Toegegeven, het aantal respondenten is te klein om statistisch significant te zijn, hoewel de antwoorden geldig zijn voor informatieve doeleinden.
Figuur 5. Elf van de 16 respondenten gebruikten nog steeds CBR op sommige van hun streams, evenals andere technieken.
zoals u kunt zien in Figuur 5, bestaan er andere bitrate controle technieken, waaronder constante Rate Factor (CRF) en Capped CRF. Echter, omdat ze het best worden gebruikt in zeer beperkte gevallen (meestal synthetische inhoud zoals screencams en PowerPoint-video ‘ s met audio) ze zijn niet opgenomen in deze discussie.
Segment 2. CBR levert over het algemeen een lagere kwaliteit dan VBR
Tabel 1 toont de resultaten van een reeks kwaliteitsvergelijkingen die worden uitgevoerd voor Jan Ozer ’s aankomende boek, Encoding by the Numbers, dat in de zomer van’ 2016 zal verschijnen. Deze tests betroffen bestanden gecodeerd tot 720p resolutie op 2 Mbps met behulp van FFmpeg, met VQM scores gemeten door de Moscow University Video Quality Measurement Tool (VQMT). Bij VQM zijn de lagere scores beter, en in de tabel zijn de scores in rood het slechtst, de scores in groen het beste.
Tabel 1. PSNR kwaliteit vergelijking voor verschillende bitrate control technieken.
noteer de quality delta kolommen in Tabel 1. De eerste toont de totale kwaliteit verschil tussen de laagste en hoogste kwaliteit bestand in de groep. De tweede toont het kwaliteitsverschil tussen de clips gecodeerd met behulp van 110% en 200% beperkt VBR. Zoals u zult zien, kunnen producenten tijdelijke kwaliteitsproblemen voorkomen en binnen de aanbevelingen van Apple blijven door gebruik te maken van 110% beperkte VBR. Producenten die op zoek zijn naar een bestand van de hoogst mogelijke kwaliteit en zich geen zorgen maken over de aanbevelingen van Apple, moeten echter gebruik maken van 200% beperkte VBR.
in alle testgevallen leverde 2 CBR-passes de slechtste kwaliteit en in vijf van de zes leverde 200% VBR-passes de hoogste kwaliteit. De enige uitzondering was de talking head clip, waar 1 pass CBR de hoogste kwaliteit leverde. Dit resultaat lijkt een anomalie te zijn; in soortgelijke tests uitgevoerd op drie-lage beweging, talking-head clips, waren de resultaten consistent met alle andere bestanden in Tabel 1. De grootste variabiliteit werd gezien in de Big Buck Bunny clip, die een 14,54% kwaliteitsverschil toonde tussen de laagste en hoogste kwaliteit clips (totale kwaliteit Delta kolom).
het totale kwaliteitsverschil is in de meeste andere clips verder relatief gering. In feite is het waarschijnlijk niet eens waarneembaar tijdens normaal afspelen. In sommige gevallen kunnen CBR-bestanden echter een ernstiger probleem vertonen; de voorbijgaande kwaliteitsdalingen in Figuur 1.
Segment 3: CBR ‘ s transiënte kwaliteitsproblemen hebben veel meer te maken met
wanneer u uitdagende clips codeert naar agressieve parameters, kan CBR-codering ernstige, transiënte kwaliteitsproblemen veroorzaken zoals die in Figuur 1. Figuur 6 is de resultaten visualisatie scherm van de Moscow University vqmt tool, die de VQM scores toont (lagere scores beter) voor twee bestanden. Het bestand in rood werd gecodeerd met 110% beperkte VBR, terwijl het bestand in blauw CBR is. De omcirkelde data spikes tonen frames, of groepen frames, waar de kwaliteit van het CBR-bestand dramatisch leed in vergelijking met het 110% beperkte VBR-bestand. Het ergste van deze verschillen is weergegeven in Figuur 1.
Figuur 6. De data rate pieken in de onderste figuur tonen frames, of groepen frames, waar CBR kwaliteit is dramatisch slechter dan 110% beperkt.
interessant is dat de piekbitsnelheid voor het CBR-bestand eigenlijk hoger is dan die van het VBR-bestand. Je kunt dit zien in Figuur 7, die de bitrate Viewer laat zien die het CBR bestand (bovenaan) en het VBR bestand analyseert. De sideboards aan de rechterkant tonen de gemiddelde en piek bitrates voor beide bestanden. Het gemiddelde is bijna identiek, terwijl de pieksnelheid voor het CBR-bestand 2623 kbps is vergeleken met 2539 kbps voor het 110% beperkte VBR-bestand (Maar zie noot 5 hieronder). Of uw zorg is streaming efficiëntie, acht Apple 110% variabiliteit aanbevelingen, of beide, beperkt VBR bereikt een superieur resultaat, terwijl ook het leveren van over het algemeen hogere kwaliteit en het vermijden van de voorbijgaande kwaliteitsdalingen te zien in het CBR-bestand.
Figuur 7. Bitrate Viewer analyseert het CBR-bestand bovenin en 110% beperkt VBR-bestand onderin.
u kunt hieronder een korte video bekijken die deze problemen illustreert en uitlegt.
deze video illustreert de voorbijgaande kwaliteitsproblemen die soms met CBR-video worden gezien. Best bekeken in volledig scherm (klik op het pictogram rechtsonder in het afspeelvenster).
misschien niet verrassend bleek uit onze enquêteresultaten dat de meest voorkomende procentuele beperking die door respondenten werd gebruikt 110% van de doelstelling was, hoewel toegegeven, net als bij de enquêteresultaten in het algemeen, het aantal respondenten te klein is om statistisch significant te zijn.
Figuur 8. 110% van de doelstelling was de meest voorkomende beperking.
Segment 4: Veel producenten negeren de 110% Variabiliteitsaanbeveling van Apple
figuur 9 toont enkele van de interessantere resultaten van het onderzoek. Dat wil zeggen, van degenen die HLS-bestanden produceren, negeert de meerderheid van de producenten de aanbeveling van Apple volledig. Interessant is dat de ene demografische vraag gesteld in de enquête was het aantal videobestanden geproduceerd per week. Tien respondenten gaven aan dat ze meer dan 100 bestanden per week produceerden; van deze groep volgden er vijf de aanbeveling van Apple religieus, vijf negeerden het volledig.
figuur 9. De meeste producenten negeren Apple ‘ s aanbeveling.
een interessante vervolgvraag zou zijn geweest of de respondenten die de beperking negeerden, via een app naar iOS-apparaten distribueerden. Helaas hebben we die vraag niet gesteld, waardoor de zorg dat Apple apps zal weigeren wanneer video afgespeeld door de app niet voldoet aan de 110% variabiliteit eis.
Segment 5: conclusies
1. In alle tests leverde CBR de laagste algemene kwaliteit van alle bitrate alternatieven.
2. In alle tests op één na leverde beperkte VBR de hoogste kwaliteit
3. Met uitdagende beelden en agressieve coderingsparameters, kan CBR-gecodeerde video tijdelijke kwaliteitsdalingen vertonen, soms dramatisch.
4. Het produceren met 110% beperkte VBR lijkt deze kwaliteitsproblemen te vermijden zonder significante variabiliteit van de gegevenssnelheid te introduceren.
5. In de meeste gevallen levert codering met 200% beperkte VBR de maximale kwaliteit.
6. Veel producenten negeren Apple ‘ s aanbeveling om HLS-bestanden te produceren met een maximum van 110% stream variabiliteit.
Segment 6: aanbevelingen
1. Producenten die momenteel CBR gebruiken voor sommige of al hun coderingen, zouden moeten overwegen over te schakelen op beperkte VBR.
• 110% beperkte VBR moet tijdelijke kwaliteitsproblemen vermijden.
• 200% beperkte VBR zal de absolute beste kwaliteit leveren.
2. Producenten die HLS-video via een app distribueren, moeten waarschijnlijk kiezen voor 110% beperkte VBR om App Store-goedkeuringsproblemen te voorkomen bij het in eerste instantie indienen of bij het indienen van updates. Degenen die verzenden voor browser-gebaseerde desktop en mobiele weergave (bijvoorbeeld geen app) moeten overwegen 200% beperkt VBR.
3. Deze resultaten variëren per codec en codering tool. Zoals hieronder beschreven, produceerden we alle bestanden voor deze tests in FFmpeg met behulp van de x264 codec. We hebben de voorbijgaande kwaliteitsproblemen waargenomen met CBR-bestanden in andere op x264 gebaseerde coderingshulpmiddelen, maar ze verschijnen mogelijk niet in alle coderingshulpmiddelen.
4. Elke belangrijke codering verandering zoals die hierin aanbevolen moet niet worden geïmplementeerd zonder te testen om de kwaliteit en speelbaarheid te garanderen.
Appendix I: hoe hebben we
Getest hier volgt een korte beschrijving van de procedures die voor deze tests zijn gebruikt.
1. We produceerden alle bestanden met behulp van FFmpeg op een HP Z840 werkstation met Windows 7 Professional met 64 GB RAM.
2. Algemene codering parameters waren keyframes elke 3 seconden en de veryslow preset.
3. We produceerden CBR-bestanden met dezelfde doel bitrate, max bitrate en een buffer instelling van één seconde video. Voor 4 mbps-doelen was de tekenreeks:
-b:v 4000k
-maxrate 4000k
-bufsize 4000k
4. We produceerden beperkte VBR-bestanden door de max rate-instelling aan te passen en door een bufferwaarde van 1 seconde te gebruiken. Voor een 4 mbps-doel met 110% beperkte CBR, was de tekenreeks:
-b:v 4000k
-maxrate 4400k
– bufsize 4000k
voor zowel CBR als VBR, codering met een grotere buffer verbeterde stream kwaliteit, maar het verhoogde ook stream variabiliteit.
5. We produceerden de CBR-bestanden geanalyseerd in Figuur 6 en 7, en in de video, met behulp van 1-pass CBR, die de kwaliteit van het bestand in vergelijking met 2-pass (zie Tabel 1), maar ook verhoogde file variabiliteit. Coderen met 1-pass CBR produceerde ook bestanden die ver onder het doel lagen, dus moesten we meerdere keren coderen met steeds hogere snelheden om de datasnelheid van het doel te halen. Met behulp van 2-pass CBR-codering levert iets lagere kwaliteit bestanden, maar ook een grotere nauwkeurigheid van de gegevenssnelheid en verminderde stream variabiliteit.
6. We verifieerden dat de beoogde datasnelheid van alle bestanden binnen 5% van het doel lag.
7. We produceerden alle kwaliteitsscores hierboven met behulp van de Moscow University Video Quality Measurement Tool.