Bitrate, resolutie en framerate
Welke van deze instellingen maakt het bestand kleiner, en welke zorgt er alleen voor dat het er slechter uitziet?
Eén vergelijking verklaart het meeste
De bestandsgrootte is bij goede benadering de bitrate maal de duur. De bitrate is hoeveel bits per seconde de encoder mag uitgeven; de duur is hoeveel seconden lang hij dat doet. Al het andere – resolutie, framerate, beweging, codec – verandert hoe goed het beeld eruitziet bij een gegeven bitrate, niet hoe groot het bestand wordt.
Een uitgewerkt voorbeeld maakt dat concreet. Een clip die zestig seconden lang op 5 megabit per seconde is gecodeerd, bevat 300 megabit aan videodata, oftewel 37,5 megabyte, plus het audiospoor en de overhead van de container. Dat is rekenwerk, geen meting: dezelfde zestig seconden op 2 Mbit/s is 15 MB, wat er ook in beeld is.
Resolutie en framerate zijn vraag, geen omvang
De resolutie of de framerate verhogen maakt het bestand niet rechtstreeks groter. Het verhoogt hoeveel bits de encoder nodig heeft om er acceptabel uit te zien. Een 4K-clip op 2 Mbit/s is even groot als een 720p-clip op 2 Mbit/s; de 4K-versie ziet er alleen veel slechter uit, omdat hetzelfde budget over negen keer zoveel pixels wordt uitgesmeerd.
Daarom is de resolutie verlagen zo'n effectieve manier om een video te verkleinen. Je maakt het bestand niet kleiner door de resolutie te veranderen – je zorgt ervoor dat een lagere bitrate er acceptabel uitziet, en kiest die lagere bitrate vervolgens.
| Resolutie | Bij 30 fps | Bij 60 fps |
|---|---|---|
| 3840 × 2160 | 249 miljoen px/s | 498 miljoen px/s |
| 1920 × 1080 | 62 miljoen px/s | 124 miljoen px/s |
| 1280 × 720 | 28 miljoen px/s | 55 miljoen px/s |
| 854 × 480 | 12 miljoen px/s | 25 miljoen px/s |
Die cijfers vormen de werklast van de encoder, en ze schalen op de voor de hand liggende manier. De framerate halveren halveert de werklast; van 1080p naar 720p gaan brengt hem terug tot ongeveer een derde. De framerate heeft echter een tweede effect: hij verandert hoe beweging aanvoelt. De framerate halveren bij een statische talking head is bijna onzichtbaar; hetzelfde doen bij een snelle zwenk is juist zeer zichtbaar.
Wat een kwaliteitsindex werkelijk doet
De meeste moderne encoders werken liever met een kwaliteitsdoel dan met een bitratedoel. Jij geeft een kwaliteitsindex op, de encoder geeft frame voor frame de bits uit die die kwaliteit vraagt, en de resulterende bitrate varieert met de inhoud. Dat is meestal de betere instelling, omdat de bits terechtkomen waar het beeld ze nodig heeft in plaats van verspild te worden aan een stilstaand frame terwijl een snel frame ze tekortkomt.
Het gevolg is dat een kwaliteitsindex je vooraf niets zegt over de bestandsgrootte. Twee clips die op dezelfde index zijn gecodeerd, kunnen een grote factor schelen, en dat is niet te weten zonder te coderen. Moet je een groottelimiet halen, codeer dan en controleer, of gebruik een bitratedoel en accepteer dat de kwaliteit in plaats daarvan varieert.
Beweging is de verborgen variabele
Videocodecs werken door elk frame te beschrijven als een verschil met eerdere frames. Verandert er weinig – een vaststaande camera, een presentatie, een gezicht tegen een egale muur – dan zijn de verschillen minuscuul en heeft de encoder heel weinig bits nodig. Verandert alles – een zwenk uit de hand, confetti, regen, water, bladeren in de wind, elke seconde een scènewisseling – dan valt er vrijwel niets te voorspellen en loopt de bitrate op.
- Korrel en sensorruis gedragen zich als beweging: ze veranderen elk frame elke pixel en zijn duur om te coderen.
- Een schokkerige clip uit de hand kost veel meer dan hetzelfde onderwerp opgenomen vanaf een statief.
- Schermopnames van grotendeels stilstaande interfaces zijn extreem goedkoop, totdat er iets scrolt.
- Fades en dissolves zijn duurder dan harde cuts, omdat elke pixel een seconde of langer een beetje verandert.
Audio is klein, tot het dat niet meer is
Bij de meeste clips is audio een afrondingsfout: een stereospoor op 128 kbit/s voegt ongeveer een megabyte per minuut toe. Maar bij een korte, zwaar gecomprimeerde clip op lage resolutie kan het een merkbaar deel van het totaal worden. Duw je hard tegen een groottelimiet aan, dan is een lagere audiobitrate of mono het overwegen waard voordat je het beeld verder beschadigt. Doet de audio er helemaal niet toe, dan is het spoor volledig verwijderen een remux en kost het niets aan kwaliteit.
Een recept dat meestal werkt
- Bepaal het grootste scherm waarop de clip echt bekeken wordt, en begrens de resolutie daarop.
- Houd de framerate van de bron aan, tenzij de beweging rustig is; halveren is een zichtbare verandering, geen gratis besparing.
- Codeer met een kwaliteitsindex in plaats van met een bitrate, en meet daarna het resultaat.
- Is het resultaat te groot, verlaag dan de resolutie voordat je de kwaliteit verder verlaagt.
- Kort de clip in. De duur is een directe vermenigvuldiger in de hele vergelijking, en dertig overbodige seconden kosten meer dan welke instelling ook.
Een video kleiner maken voor e-mail
Limieten voor e-mail gelden voor de uiteindelijke bijlage, dus de duur is het eerste om te controleren. Knip alles weg wat overbodig is en verlaag daarna de resolutie naar 720p of 480p wanneer de clip in een bericht wordt bekeken en niet op een groot scherm. Door de lagere pixelvraag kan de encoder met een veel lagere bitrate toe zonder detail te vernielen.
Haalt de bijlage de limiet van de provider nog steeds niet, kort hem dan verder in of deel hem via een goedgekeurde dienst voor bestandsoverdracht. Dezelfde lange clip keer op keer opnieuw coderen op lagere kwaliteit levert uiteindelijk een lelijk bestand op dat alsnog te groot kan zijn, want de duur blijft de bitrate vermenigvuldigen.
Wat dit je niet kan vertellen
Er staan in deze gids bewust geen aanbevolen bitrates. Een aanbevolen getal hangt af van de codec, de implementatie van de encoder, de inhoud en de kijkomstandigheden, en elk getal dat zonder die vier dingen wordt genoemd, is decoratie. Codeer een sample van dertig seconden uit je eigen clip op twee instellingen en bekijk ze allebei – die vergelijking is meer waard dan welke tabel dan ook die iemand anders op andermans beeldmateriaal heeft gemeten.
Nog één grens die specifiek is voor coderen in de browser: jouw apparaat bepaalt het tempo. Coderen is werkelijk zwaar werk, telefoons knijpen hun prestaties af zodra ze warm worden, en een lange clip op hoge resolutie kan meer zijn dan een bepaald apparaat kan afmaken. Dat is een hardwaregrens, geen instelling die je kunt wegregelen.