Video og kodeker
Nesten alt forvirrende med videofiler kommer fra én distinksjon — mellom boksen og det som er inni. Dette er ordene for begge, og for operasjonene som flytter ting mellom dem.
-
Container
innpakning, format -
Filstrukturen som holder video-, lyd- og undertekstspor sammen og beskriver hvor hvert av dem er. MP4, MKV, AVI og WebM er containere. En container komprimerer ingenting.
Tenk på den som en arkivboks med en innholdsetikett. Boksen sier: her er et videospor, kodet slik; to lydspor der, på disse språkene; undertekster ved denne offseten. Den har ingen mening om hvordan noen av dem ble komprimert.
Dette er hvorfor den samme videoen kan finnes i en MP4 og en MKV med identisk bildekvalitet og identisk filstørrelse, og hvorfor én av de to åpner på en iPhone mens den andre ikke gjør det. Forskjellen er boksen, ikke innholdet.
-
Kodek
coder-decoder -
Metoden som brukes til å komprimere en video- eller lydstrøm, og til å dekomprimere den igjen for avspilling. H.264, HEVC, AV1, AAC og MP3 er kodeker. En kodek er ikke et filformat.
Navnet er en sammentrekning av coder-decoder. Koding kaster bort detaljer på en måte beregnet til å være vanskelig å legge merke til, og dekoding rekonstruerer en tilnærming av originalen fra det som ble beholdt. Jo bedre kodeken er, desto mindre merkbart er tapet ved en gitt størrelse.
En enhet spiller en fil når den kan lese containeren *og* dekode hver kodek inni den. Begge halvdeler kreves, og når en fil åpner men ikke viser noe, er det den andre halvdelen som feilet.
Se også: ContainerMaskinvaredekoding
-
H.264
AVC, MPEG-4 Part 10 -
Videokodeken som alt kan dekode. Publisert i 2003, fortsatt det tryggeste valget for kompatibilitet, og maskinvareakselerert på hver telefon, datamaskin og TV laget de siste femten årene.
H.264 vant så grundig at «vil dette spille overalt» og «er dette H.264» nesten er det samme spørsmålet. Den er ikke den mest effektive kodeken som finnes — HEVC og AV1 gjør begge mer med færre bits — men ingenting annet kommer i nærheten på bredden av støtten.
Den har profiler, og én av dem skaper problemer på Apple-enheter: High 10, ofte skrevet Hi10P, koder ti bits per fargekanal i stedet for åtte. Maskinvaredekodere er bare åtte-bits, så en Hi10P-fil spiller lyd uten bilde på en enhet som mangler programvarefallback.
Se også: HEVCMaskinvaredekoding10-bit
-
HEVC
H.265 -
H.264s etterfølger, omtrent halvparten av størrelsen for samme kvalitet. Hver Apple-enhet fra 2015 og utover dekoder den i maskinvare, og det er det en iPhone tar opp i.
HEVC er det som gjorde 4K praktisk på telefoner: det samme bildet ved omtrent halvparten av bitraten. Apple tok den i bruk tidlig og grundig, så på Apple-maskinvare er den like trygt et valg som H.264.
Andre steder er det mer rotete. Patentlisensieringen rundt HEVC var omstridt nok til at nettlesere var trege med å støtte den, som er nettopp gapet AV1 ble skapt for å fylle.
-
AV1
-
En royaltyfri kodek publisert i 2018, mer effektiv enn HEVC og, i motsetning til den, fri for lisensstrid. Maskinvaredekoding kom først til Apple-enheter med iPhone 15 Pro.
AV1 finnes fordi HEVCs lisensiering fikk de største strømme- og nettleserselskapene til å ønske et alternativ de kunne levere uten å betale noen. Det er nå det mye nettvideo leveres i.
Fangsten er dekodingskostnaden. Uten maskinvarestøtte dekodes AV1 i programvare, som er mulig men tømmer et batteri synlig og kan hakke på høye oppløsninger. På eldre enheter er en H.264-versjon av den samme videoen den bedre filen.
Se også: HEVCMaskinvaredekoding
-
Bitrate
-
Hvor mye data ett sekund med video eller lyd bruker, vanligvis i megabits per sekund. Det er det viktigste som avgjør både filstørrelse og hvor hardt en enhet må jobbe.
Oppløsning får oppmerksomheten, men bitraten avgjør hvordan en fil faktisk ser ut. En 4K-fil med lav bitrate ser verre ut enn en 1080p-fil med høy, fordi enkoderen måtte kaste mer for å nå målet sitt.
Det er også det en hakkende fil vanligvis handler om. Når en video spiller på en datamaskin og hakker på en telefon, er det ingenting galt med filen: den ber ganske enkelt om mer dekodingsarbeid per sekund enn den brikken vil gjøre.
Se også: KodekAdaptiv bitrate
-
Remux
remuksing, rewrap -
Å flytte de eksisterende video- og lydstrømmene fra én container til en annen uten å kode dem på nytt. Tapsfritt, og raskt nok til å begrenses av diskhastighet heller enn av prosessoren.
En remux kopierer strømmer; den rører ikke et eneste bilde. En time lang MKV med H.264 og AAC blir en MP4 på sekunder, bit-for-bit identisk i bilde og lyd.
Det fungerer bare når målcontaineren godtar det kilden holder — MP4 tar H.264 og AAC, og tar ikke VP9 eller Vorbis. Når folk sier en konvertering var «øyeblikkelig», remukset de. Når den tok en time, ble noe kodet på nytt.
Se også: TranskodingContainer
-
Transkoding
omkoding, konvertering -
Å dekode en strøm og kode den på nytt, vanligvis til en annen kodek eller ved en lavere bitrate. Tregt, og med tap hver gang — kvalitet kommer aldri tilbake.
Transkoding er det folk mener med «å konvertere en video», og det er en genuint dyr operasjon: hvert bilde dekodes, behandles og komprimeres på nytt. Det er det riktige svaret når kodeken virkelig er ustøttet, eller når en fil må gjøres mindre.
Det er feil svar på «telefonen min åpner ikke dette», når en remux ville ha gjort det, og det er et dårlig svar på en fil hvis eneste problem er et DTS-lydspor — å bytte ut ett spor lar bildet være urørt.
-
Maskinvaredekoding
-
Å dekode video på en dedikert brikke heller enn hovedprosessoren. Mye raskere, mye kjøligere og mye snillere mot batteriet — men den håndterer bare kodekene den ble bygget for.
Hver telefon inneholder en fast funksjonsvideodekoder som gjør H.264 og HEVC ekstremt effektivt. Alt den ikke støtter faller til programvare, som fungerer men koster batteri og varme, og kanskje ikke henger med på høye oppløsninger.
Dette er hvorfor formatstøtte på en telefon ikke er et enkelt ja eller nei. En enhet kan spille en kodek perfekt på 1080p i programvare og feile samme kodek på 4K, og ingen av resultatene sier noe om at filen er feil.
-
10-bit
Hi10P, High 10 -
Video som lagrer ti bits per fargekanal i stedet for åtte, for jevnere gradienter. I HEVC er det vanlig og godt støttet; i H.264 er det den enkelt vanligste årsaken til en fil som har lyd men ikke bilde på en iPhone.
Flere bits per kanal betyr finere steg mellom nyanser, som fjerner banding du ser i mørke himler og langsomme overganger. For HDR er det et krav, ikke en forbedring.
Problemet er spesifikt H.264. Ti-bits H.264 ligger utenfor det maskinvaredekodere implementerer, og Apples systemspiller har ingen programvarevei for den, så lyden spiller og bildet kommer aldri. Anime-utgivelser bruker den tungt, som er hvorfor dette dukker opp langt oftere enn formatets totale andel skulle tilsi.
Se også: H.264Maskinvaredekoding
-
Nøkkelbilde
I-frame, keyframe -
Et bilde lagret i full form heller enn som en forskjell fra bildet før det. Søking kan bare lande på ett, som er hvorfor en video noen ganger hopper til et litt annet øyeblikk enn du ba om.
Videokomprimering fungerer ved å beskrive de fleste bilder som endringer fra nabobildene. Bare nøkkelbilder står alene, og de kommer typisk hvert annet til tiende sekund.
Når du drar en scrub-bar, finner spilleren nærmeste nøkkelbilde og starter der. Vidt spredte nøkkelbilder gjør en fil mindre og søkingen grovere; den byttehandelen avgjøres ved kodingstid og kan ikke endres etterpå uten omkoding.
Se også: TranskodingSegment