rezumat (MPD)
mulți producători de streaming folosesc constant bitrate encoding (CBR) ca tehnică de control bitrate, fie în încercarea de a crea cel mai eficient flux pentru livrare, fie pentru a se conforma cerințelor Apple percepute pentru Streaming Live HTTP (HLS). Cu toate acestea, CBR oferă cea mai scăzută calitate generală a tuturor tehnicilor de control al ratei de biți și introduce potențialul pentru probleme dramatice de calitate tranzitorii, cum ar fi cele prezentate în Figura 1.
Figura 1. Compararea CBR vs. codare VBR (click pe imagine pentru vizualizare full size).
un sondaj recent indică faptul că mulți producători au trecut la codificarea bitrate variabilă (VBR) și ignoră recomandările Apple menționate mai sus. Testarea arată că 110% VBR constrâns evită problemele de calitate tranzitorii cauzate de codificarea CBR. Producătorii care utilizează încă CBR ar trebui să ia în considerare trecerea la VBR constrâns pentru a evita aceste probleme tranzitorii de calitate și pentru a îmbunătăți calitatea video generală.
Segment 1: Bitrate control este una dintre cele mai fundamentale Opțiuni de codare selectate pentru fiecare fișier comprimat
ori de câte ori codificați un fișier pentru distribuția în flux, alegeți o tehnică de bitrate și o tehnică de control bitrate. Acest lucru este prezentat în Figura 2, din Adobe Media Encoder.
Figura 2. Tehnici de control Bitrate disponibile în Adobe Media Encoder.
cele două tehnici cele mai comune sunt:
• constant bitrate encoding (CBR), unde același bitrate este aplicat întregului fișier, indiferent de complexitatea scenei. Cu CBR, setați rata de biți țintă (Figura 2), dar nu maximă, deoarece rata de biți nu ar trebui să varieze semnificativ, deși de obicei se întâmplă într-o oarecare măsură limitată, așa cum se arată în Figura 3.
Figura 3 prezintă un fișier codificat folosind CBR. După cum puteți vedea în legenda din dreapta, rata medie de biți este de 4936 kbps, în timp ce vârful este de 5557 kbps. Linia albastră deschisă ondulată este rata de date plutitoare, care variază minim pe durata fișierului. Coloanele individuale au dimensiunea fiecărui grup codificat de imagini din fișier, cu un cadru cheie la fiecare trei secunde în acest fișier de 29,97 fps.
Figura 3. Un fișier CBR codificat în Bitrate Viewer.
rețineți că CBR nu este niciodată o linie plană completă; o variabilitate de aproximativ 5-10% este normală.* codificare bitrate variabilă (VBR), unde este îndeplinită aceeași rată de date țintă globală, dar rata de date este variată pe durata fișierului pentru a se potrivi complexității scenei. Cu VBR, setați ținta și maximul (Figura 2), iar în unele aplicații, și minimul. Când setați un maxim, codificarea VBR este considerată constrânsă, iar VBR este adesea descrisă de procentul constrângerii. În Figura 2, Rata de biți maximă este de 2,4 Mbps, sau 200% din rata de biți țintă de 1,2 Mbps. Această tehnică ar fi numită VBR constrânsă 200%.
Figura 4 arată același fișier ca figura 3 codificat folosind 200% VBR constrâns la aceeași rată de biți țintă de 5000 kbps. Rata medie de biți este aproximativ aceeași (4988 kbps vs.4936 kbps), dar rata de biți de vârf este de 9301 kbps, nu chiar 200%, ci în stadion. Linia ondulată Blue data rate variază mult mai semnificativ decât în Figura 3, cu rate scăzute la început și vârfuri pe tot parcursul.
Figura 4. Același fișier codificat folosind 200% VBR constrâns.
• mulți producători implicit la CBR pentru unele sau toate de codificare lor. În primele zile de streaming, conexiunile au fost atât de constrânse încât CBR a fost recomandat pentru a evita vârfurile ratei de date care ar putea bloca redarea lină. În Apple Technote TN2224, Apple afirmă „variabilitatea ratei de biți-nu trebuie să depășească 10% din rata de biți țintă.”Mai amenințător, Media Stream Validator de la Apple, un instrument folosit pentru a testa fluxurile HLS, creează un avertisment dacă un segment de flux bitrate variază de la bitrate țintă cu peste 10%. Nu este surprinzător, într-un sondaj recent realizat de Centrul de învățare Streaming, 11 din 16 respondenți au indicat că încă folosesc codificarea CBR pentru unele dintre fluxurile lor (figura 5). Desigur, numărul respondenților este prea mic pentru a fi semnificativ statistic, deși răspunsurile sunt valabile în scop informativ.
Figura 5. Unsprezece din 16 respondenți foloseau încă CBR pe unele dintre fluxurile lor, precum și alte tehnici.
după cum puteți vedea în Figura 5, există și alte tehnici de control al ratei de biți, inclusiv factorul de rată constantă (CRF) și CRF limitat. Cu toate acestea, deoarece acestea sunt cel mai bine utilizate în cazuri foarte limitate (mai ales conținut sintetic, cum ar fi screencams și clipuri video PowerPoint cu audio), acestea nu sunt incluse în această discuție.
segmentul 2. CBR oferă o calitate generală mai scăzută decât VBR
Tabelul 1 prezintă rezultatele unui set de comparații de calitate pentru cartea viitoare a lui Jan Ozer, codificare după numere, care urmează să apară în vara lui ‘2016. Aceste teste au implicat fișiere codificate la rezoluție de 720p la 2 Mbps folosind FFmpeg, cu scoruri VQM măsurate de instrumentul de măsurare a calității Video al Universității din Moscova (Vqmt). Cu VQM, scorurile mai mici sunt mai bune, iar în tabel, scorurile în roșu sunt cele mai proaste, scorurile în verde sunt cele mai bune.
Tabelul 1. Comparație de calitate PSNR pentru diferite tehnici de control bitrate.
notați coloanele delta de calitate din tabelul 1. Primul arată diferența totală de calitate dintre fișierul de cea mai mică și cea mai înaltă calitate din grup. Al doilea arată diferența de calitate dintre clipurile codificate folosind 110% și 200% VBR constrâns. După cum veți vedea, producătorii pot evita problemele tranzitorii de calitate și pot rămâne în recomandările Apple utilizând VBR 110% constrâns. Cu toate acestea, producătorii care caută fișierul de cea mai înaltă calitate posibilă și care nu sunt preocupați de recomandările Apple ar trebui să utilizeze VBR constrâns 200%.
în toate cazurile de testare, 2 Pass CBR a livrat cea mai proastă calitate, iar în cinci din șase, 200% VBR constrâns a livrat cea mai înaltă calitate. Singura excepție a fost clipul talking head, unde 1 pass CBR a livrat cea mai înaltă calitate. Acest rezultat pare a fi o anomalie; în teste similare efectuate pe clipuri cu trei mișcări joase, cu cap de vorbire, rezultatele au fost în concordanță cu toate celelalte fișiere din tabelul 1. Cea mai mare variabilitate a fost observată în clipul Big Buck Bunny, care a arătat o diferență de calitate de 14,54% între clipurile de cea mai mică și cea mai bună calitate (coloana Delta Total Quality).
diferența generală de calitate este altfel relativ minoră în majoritatea celorlalte clipuri. De fapt, probabil că nici măcar nu este observabil în timpul redării normale. Cu toate acestea, în unele cazuri, fișierele CBR pot prezenta o problemă mai gravă; calitatea tranzitorie scade prezentată în Figura 1.
segmentul 3: problemele de calitate tranzitorii ale CBR sunt mult mai îngrijorătoare
când codificați clipuri provocatoare la parametri agresivi, codificarea CBR poate provoca probleme de calitate grave, tranzitorii, cum ar fi cele prezentate în Figura 1. Figura 6 este ecranul de vizualizare a rezultatelor de la instrumentul Vqmt al Universității din Moscova, care arată scorurile VQM (scoruri mai mici mai bune) pentru două fișiere. Fișierul în roșu a fost codificat folosind 110% VBR constrâns, în timp ce fișierul în albastru este CBR. Vârfurile de date încercuite arată cadre sau grupuri de cadre, unde calitatea fișierului CBR a suferit dramatic în comparație cu fișierul VBR constrâns 110%. Cel mai rău dintre aceste diferențe este prezentat în Figura 1.
Figura 6. Vârfurile ratei de date din figura de jos arată cadre sau grupuri de cadre, unde calitatea CBR este dramatic mai slabă decât 110% constrânsă.ceea ce este interesant este că rata de biți de vârf pentru fișierul CBR depășește de fapt cea a fișierului VBR. Puteți vedea acest lucru în Figura 7, care arată Bitrate Viewer analizând fișierul CBR (deasupra) și fișierul VBR. Bufetele din dreapta arată bitratele medii și de vârf pentru ambele fișiere. Media este aproape identică, în timp ce rata de vârf pentru fișierul CBR este de 2623 kbps comparativ cu 2539 kbps pentru fișierul VBR constrâns de 110% (dar a se vedea nota 5 de mai jos). Indiferent dacă preocuparea dvs. este eficiența de streaming, luând în considerare recomandările de variabilitate de 110% ale Apple sau ambele, VBR constrâns obține un rezultat superior, oferind în același timp o calitate generală superioară și evitând picăturile de calitate tranzitorii observate în fișierul CBR.
Figura 7. Bitrate Viewer analiza fișierul CBR sus și 110% constrâns fișier VBR pe partea de jos.
puteți viziona un scurt videoclip care ilustrează și explică aceste probleme imediat mai jos.
acest videoclip ilustrează problemele tranzitorii de calitate observate uneori cu videoclipul CBR. Cel mai bine vizualizat pe ecran complet (faceți clic pe pictograma din dreapta jos în fereastra De redare).
poate că nu este surprinzător, rezultatele sondajului nostru au arătat că cea mai frecventă constrângere procentuală utilizată de respondenți a fost de 110% din țintă, deși, desigur, ca și în cazul rezultatelor sondajului în general, numărul respondenților este prea mic pentru a fi semnificativ statistic.
figura 8. 110% din țintă a fost cea mai comună constrângere.
segmentul 4: Mulți producători ignora Apple 110% recomandare variabilitate
Figura 9 prezinta unele dintre cele mai interesante rezultate ale sondajului. Adică, dintre cei care produc fișiere HLS, majoritatea producătorilor ignoră în totalitate recomandarea Apple. Interesant este că întrebarea demografică pusă în sondaj a fost numărul de fișiere video produse în fiecare săptămână. Zece respondenți au indicat că produc peste 100 de fișiere pe săptămână; din acest grup, cinci au urmat recomandarea Apple religios, cinci au ignorat-o complet.
Figura 9. Majoritatea producătorilor ignoră recomandarea Apple.
o întrebare interesantă de urmărire ar fi fost dacă respondenții care au ignorat restricția distribuiau dispozitivelor iOS printr-o aplicație. Din păcate, nu am pus această întrebare, lăsând deschisă îngrijorarea că Apple va respinge aplicațiile atunci când videoclipul redat de aplicație nu îndeplinește cerința de variabilitate de 110%.
segmentul 5: concluzii
1. În toate testele, CBR a furnizat cea mai scăzută calitate generală a tuturor alternativelor de bitrate.
2. În toate testele, cu excepția unuia, VBR constrâns a furnizat cea mai înaltă calitate
3. Cu imagini provocatoare și parametri de codificare agresivi, videoclipul codificat CBR poate prezenta picături de calitate tranzitorii, uneori dramatice.
4. Producerea folosind 110% VBR constrâns pare să evite aceste probleme de calitate fără a introduce o variabilitate semnificativă a ratei de date.
5. În cele mai multe cazuri, codificarea cu 200% VBR constrâns oferă calitatea maximă.
6. Mulți producători ignoră recomandarea Apple de a produce fișiere HLS cu o variabilitate maximă a fluxului de 110%.
segmentul 6: recomandări
1. Producătorii care utilizează în prezent CBR pentru unele sau pentru toate codurile lor ar trebui să ia în considerare trecerea la VBR constrâns.
• 110% VBR constrâns ar trebui să evite problemele de calitate tranzitorii.
• 200% VBR constrâns va oferi cea mai bună calitate absolută.
2. Producătorii care distribuie videoclipuri HLS prin intermediul unei aplicații ar trebui să aleagă probabil VBR constrâns 110% pentru a evita problemele de aprobare a App Store atunci când trimit inițial sau când trimit actualizări. Cei de transport maritim pentru desktop bazate pe browser și redare mobil (de exemplu, nici o aplicație) ar trebui să ia în considerare 200% VBR constrâns.
3. Aceste rezultate vor varia în funcție de codec și instrument de codificare. După cum este descris mai jos, am produs toate fișierele pentru aceste teste în FFmpeg folosind codecul x264. Am observat problemele de calitate tranzitorii cu fișierele CBR în alte instrumente de codificare bazate pe x264, dar este posibil să nu apară în toate instrumentele de codificare.
4. Orice modificare majoră de codificare, cum ar fi cele recomandate aici, nu ar trebui implementată fără testare pentru a asigura calitatea și redarea.
Anexa I: cum am testat
Iată o scurtă descriere a procedurilor utilizate pentru aceste teste.
1. Am produs toate fișierele folosind FFmpeg pe o stație de lucru HP Z840 care rulează Windows 7 Professional cu 64 GB RAM.
2. Parametrii generali de codificare au fost cadre cheie la fiecare 3 secunde și presetarea veryslow.
3. Am produs fișiere CBR utilizând același bitrate țintă, bitrate max și o setare tampon de o secundă de videoclip. Pentru țintele de 4 mbps, șirul a fost:
-b:v 4000k
-maxrate 4000k
-bufsize 4000k
4. Am produs fișiere VBR constrânse prin ajustarea setării ratei maxime și prin utilizarea unei valori tampon de 1 secundă. Pentru o țintă de 4 mbps cu CBR constrâns 110%, șirul a fost:
-b:v 4000k
-maxrate 4400k
-bufsize 4000k
atât pentru CBR, cât și pentru VBR, codificarea cu un tampon mai mare a îmbunătățit calitatea fluxului, dar a crescut și variabilitatea fluxului.
5. Am produs fișierele CBR analizate în figurile 6 și 7, iar în videoclip, folosind CBR 1-pass, care a crescut calitatea fișierului comparativ cu 2-pass (vezi Tabelul 1), dar și a crescut variabilitatea fișierului. Codificarea cu 1-pass CBR a produs, de asemenea, fișiere cu mult sub țintă, așa că a trebuit să codificăm de mai multe ori la rate din ce în ce mai mari pentru a atinge rata de date țintă. Utilizarea codării CBR 2-pass oferă fișiere de calitate ușor mai scăzute, dar și o precizie mai mare a ratei de date și o variabilitate redusă a fluxului.
6. Am verificat că rata de date țintă a tuturor fișierelor era în limita a 5% din țintă.
7. Am produs toate scorurile de calitate incluse mai sus folosind instrumentul de măsurare a calității Video al Universității din Moscova.