Video och codecs
Nästan varje förvirrande sak med videofiler kommer från en skillnad - mellan lådan och vad som finns i den. Detta är orden för båda, och för de operationer som flyttar saker mellan dem.
-
Behållare
omslag, format -
Filstrukturen som håller ihop video-, ljud- och undertextspår och beskriver var var och en är. MP4, MKV, AVI och WebM är behållare. En behållare komprimerar ingenting.
Tänk på den som en arkivlåda med en innehållsetikett. Lådan säger: här finns ett videospår, kodat på det här sättet; två ljudspår där, på dessa språk; undertexter vid den här förskjutningen. Den har ingen åsikt om hur något av det komprimerades.
Det är därför samma video kan finnas i en MP4 och en MKV med identisk bildkvalitet och identisk filstorlek, och varför den ena öppnas på en iPhone medan den andra inte gör det. Skillnaden är lådan, inte innehållet.
-
Codec
kodare-avkodare -
Metoden som används för att komprimera en video- eller ljudström och för att dekomprimera den igen för uppspelning. H.264, HEVC, AV1, AAC och MP3 är codecs. En codec är inte ett filformat.
Namnet är en sammandragning av coder-decoder (kodare-avkodare). Kodning kastar bort detaljer på ett sätt beräknat att vara svårt att märka, och avkodning återskapar en approximation av originalet från det som sparades. Ju bättre codec, desto mindre märkbar är förlusten vid en given storlek.
En enhet spelar en fil när den kan läsa behållaren *och* avkoda varje codec inuti den. Båda halvorna krävs, och när en fil öppnas men inte visar något är det den andra halvan som misslyckades.
Se även: BehållareHårdvaruavkodning
-
H.264
AVC, MPEG-4 del 10 -
Video-codec som allt kan avkoda. Publicerad 2003, fortfarande det säkraste valet för kompatibilitet, och hårdvaruaccelererad på alla telefoner, datorer och TV-apparater som tillverkats under de senaste femton åren.
H.264 vann så grundligt att "spelar det här överallt" och "är det här H.264" nästan är samma fråga. Det är inte den mest effektiva codecen som finns — HEVC och AV1 gör båda mer med färre bitar — men inget annat kommer nära i stödbredd.
Den har profiler, och en av dem ställer till problem på Apple-enheter: High 10, ofta skrivet Hi10P, kodar tio bitar per färgkanal i stället för åtta. Hårdvaruavkodare är endast åtta-bitars, så en Hi10P-fil spelar ljud utan bild på en enhet utan mjukvarureserv.
Se även: HEVCHårdvaruavkodning10-bitars
-
HEVC
H.265 -
H.264:s efterträdare, ungefär hälften så stor för samma kvalitet. Varje Apple-enhet från 2015 och framåt avkodar den i hårdvara, och det är vad en iPhone spelar in.
HEVC är det som gjorde 4K praktiskt på telefoner: samma bild vid ungefär hälften av bithastigheten. Apple anammade den tidigt och grundligt, så på Apple-hårdvara är den ett lika säkert val som H.264.
Annanstans är det rörigare. Patentlicensieringen kring HEVC var tillräckligt omtvistad att webbläsare var långsamma att stödja den, vilket är precis den lucka AV1 skapades för att fylla.
Se även: H.264AV1Bithastighet
-
AV1
-
En royaltyfri codec publicerad 2018, effektivare än HEVC och, till skillnad från den, fri från licenstvister. Hårdvaruavkodning kom bara på Apple-enheter med iPhone 15 Pro.
AV1 finns för att HEVC:s licensiering fick de största streaming- och webbläsarföretagen att vilja ha ett alternativ de kunde leverera utan att betala någon. Det är nu vad en stor del av webbvideo levereras i.
Haken är avkodningskostnaden. Utan hårdvarustöd avkodas AV1 i mjukvara, vilket är möjligt men tydligt dränerar ett batteri och kan hacka vid höga upplösningar. På äldre enheter är en H.264-version av samma video den bättre filen.
Se även: HEVCHårdvaruavkodning
-
Bithastighet
-
Hur mycket data en sekunds video eller ljud använder, vanligtvis i megabit per sekund. Det är huvudsaken som avgör både filstorlek och hur mycket en enhet måste fungera.
Upplösning får uppmärksamheten, men bithastighet avgör hur en fil faktiskt ser ut. En 4K-fil vid låg bithastighet ser sämre ut än en 1080p-fil vid en hög, eftersom kodaren fick kasta bort mer för att nå sitt mål.
Det är också vad en hackande fil oftast handlar om. När en video spelas på en dator och hackar på en telefon är inget fel med filen: den ber helt enkelt om mer avkodningsarbete per sekund än den kretsen orkar med.
Se även: CodecAdaptiv bithastighet
-
Remux
linda om -
Flytta befintliga video- och ljudströmmar från en behållare till en annan utan att koda om dem. Förlustfri och tillräckligt snabb för att begränsas av diskhastighet snarare än av processorn.
En remux kopierar strömmar; den rör inte en enda bildruta. En timslång MKV som håller H.264 och AAC blir en MP4 på sekunder, bit-för-bit identisk i bild och ljud.
Det fungerar bara när målbehållaren accepterar vad källan håller — MP4 tar H.264 och AAC, men inte VP9 eller Vorbis. När folk säger att en konvertering var "omedelbar" har de remuxat. När det tog en timme kodades något om.
-
Omkoda
koda om, konvertera -
Avkoda en ström och koda den igen, vanligtvis till en annan codec eller med en lägre bithastighet. Långsam och förlust varje gång - kvaliteten kommer aldrig tillbaka.
Omkodning är vad folk menar med "konvertera en video", och det är en genuint kostsam operation: varje bildruta avkodas, bearbetas och komprimeras igen. Det är rätt svar när codecen verkligen inte stöds, eller när en fil måste göras mindre.
Det är fel svar på "min telefon öppnar inte det här" när en remux hade räckt, och det är ett dåligt svar för en fil vars enda problem är ett DTS-ljudspår — att byta ut bara det spåret lämnar bilden orörd.
Se även: RemuxBithastighet
-
Hårdvaruavkodning
-
Avkodning av video på ett dedikerat chip snarare än huvudprocessorn. Mycket snabbare, mycket svalare och mycket snällare mot ett batteri - men den hanterar bara de codecs som den byggdes för.
Varje telefon innehåller en dedikerad videoavkodare som gör H.264 och HEVC extremt effektivt. Allt den inte stöder faller tillbaka på mjukvara, vilket fungerar men kostar batteri och värme, och kanske inte hänger med vid höga upplösningar.
Det är därför formatstöd på en telefon inte är ett enkelt ja eller nej. En enhet kan spela en codec perfekt vid 1080p i mjukvara och misslyckas med samma codec vid 4K, och inget av resultaten säger något om att filen är fel.
-
10-bitars
Hi10P, High 10 -
Video som lagrar tio bitar per färgkanal istället för åtta, för jämnare gradienter. I HEVC är det normalt och har bra stöd; i H.264 är det den enskilt vanligaste orsaken till en fil som har ljud men ingen bild på en iPhone.
Fler bitar per kanal betyder finare steg mellan nyanser, vilket tar bort banding som syns i mörka himlar och långsamma toningar. För HDR är det ett krav, inte en förfining.
Problemet är H.264 specifikt. 10-bitars H.264 ligger utanför vad hårdvaruavkodare implementerar, och Apples systemspelare har ingen mjukvaruväg för det, så ljudet spelas och bilden kommer aldrig fram. Animesläpp använder det flitigt, vilket är varför det här dyker upp betydligt oftare än formatets totala andel skulle antyda.
Se även: H.264Hårdvaruavkodning
-
Keyframe
I-ram -
En ram som lagras i sin helhet snarare än som en skillnad från ramen innan den. Seeking kan bara landa på en, varför en video ibland hoppar till ett lite annat ögonblick än du bett om.
Videokomprimering fungerar genom att beskriva de flesta bildrutor som förändringar från sina grannar. Bara keyframes står för sig själva, och de anländer normalt varannan till var tionde sekund.
När du drar i en spolningsrad hittar spelaren närmaste keyframe och startar där. Glest utplacerade keyframes gör en fil mindre och sökning grövre; den avvägningen avgörs vid kodningstillfället och kan inte ändras efteråt utan omkodning.