Artikel
Udtrækning af videobilleder til miniaturebilleder og kontaktark
En video er en sekvens af stillbilleder. At trække et af disse billeder ud giver dig et miniaturebillede, en forside eller et kontaktark. Resultatet er skarpere og mere forudsigeligt, når du forstår, hvordan en video-codec lagrer sine billeder, og hvilke øjeblikke der er værd at fange.
Billeder og billedhastighed
En videofil er en sekvens af stillbilleder vist hurtigt nok til at skabe illusionen af bevægelse. Antallet af billeder vist pr. sekund er billedhastigheden, udtrykt i fps. Almindelige værdier er 24 fps for bio, 25 fps for PAL-udsendelse, 30 fps for webvideo og 60 fps for spiloptager. Ved 24 fps indeholder en to-timers film ca. 172.800 individuelle billeder. Hvert billede svarer til et enkelt øjeblik i tid; udtrækning af et fryser det øjeblik som et selvstændigt billede. Billedhastigheden bestemmer også, hvor mange billeder du får pr. sekund optagelse, når du udtrækker en batch: ved 30 fps giver udtrækning af hvert billede fra ét minut video 1.800 billeder, hvilket ofte er langt mere end du har brug for. Udtrækning ved en lavere billedhastighed, eller hvert N-te billede med værktøjer, der understøtter det, er en praktisk måde at reducere det volumen, mens du stadig dækker den fulde varighed.

Keyframes vs interpolerede billeder
Moderne video-codecs lagrer ikke hvert billede som et komplet billede. De bruger tre billedtyper til at spare plads. Et I-frame, også kaldet et keyframe, er et komplet, selvstændigt billede. Et P-frame lagrer kun de pixels, der ændrede sig siden det sidste I-frame eller P-frame. Et B-frame lagrer ændringer i forhold til både et foregående billede og et fremtidigt billede, hvilket kræver billeder på begge sider til genopbygning. Fordi et P-frame eller B-frame er ufuldstændigt alene, kræver afkodning af et de omgivende referencebilleder. Hvis disse referencebilleder indeholder bevægelsessløring eller en overgang, arver det rekonstruerede billede den sløring. Et I-frame afkodes derimod uafhængigt. Det er altid skarpt, fordi det ikke låner noget fra naboer. Når man udtrækker et billede til brug som miniaturebillede, giver landing på et I-frame det reneste mulige resultat. De fleste codecs placerer I-frames ved sceneskift, som er naturligt skarpe udgangspunkter.
Valg af det rigtige øjeblik
Selv et veldekoderet I-frame kan give et dårligt miniaturebillede, hvis det fangede øjeblik er utiltalende. Flere faktorer reducerer miniaturebilledkvaliteten. Bevægelsessløring opstår, når kameraet eller motivet bevæger sig hurtigt under billedeeksponering; den resulterende sløring får et billede til at se blødt ud, selv om dekodningen var ren. Overgangsframes fanget midt i en opløsning eller midt i en toningseffekt indeholder to overlappende billeder og fungerer sjældent som selvstændige billeder. Undereksponerede eller overeksponerede billeder, almindelige i starten af en scene inden autoeksponering stabiliserer sig, mister detaljer i skygger eller højelys. De bedste miniaturebilledrammer kommer fra øjeblikke med klar handling eller udtryk, god belysning og et stabilt kamera. At rulle igennem videoen med en afspiller, der viser præcise tidsstempler, giver dig mulighed for at identificere disse øjeblikke, inden du udtrækker dem. Et billede, der ser godt ud sat på pause i en afspiller, ser generelt godt ud som et stillet eksport.

Eksport: opløsning, format og hvert N-te billede
Når du udtrækker et billede, skal det eksporterede billede matche videoens native opløsning. Opskalering introducerer interpolationsartefakter; nedskalering kasserer pixels, som du måske ønsker. En 1080p video producerer 1920x1080 pixel billeder, og en 4K video producerer 3840x2160. For format bevarer PNG hvert pixel præcist og er det rigtige valg, når du har brug for maksimal skarphed til redigering eller yderligere skalering. JPEG er mindre og fint til forhåndsvisning eller deling, men det introducerer komprimeringsartefakter omkring skarpe kanter. Hvis du bygger et kontaktark, et gitter af små repræsentative billeder, der dækker den fulde varighed, er udtrækning ved en fast billedhastighed i stedet for at hente hvert billede standardtilgangen: at anmode om 1 billede pr. sekund fra en 30 fps-kilde giver dig ét billede pr. sekund optagelse, og en højere hastighed som 5 eller 10 fps giver et tættere sæt til nærmere gennemsyn. Den præcise hastighed afhænger af, hvor meget detalje du har brug for i forhold til, hvor mange billeder du vil håndtere.
Gør det lokalt med video-extract-frames
Værktøjet video-extract-frames på Sunasty afkoder din video helt inde i browseren ved hjælp af FFmpeg kompileret til WebAssembly. Du dropper en fil, vælger en billedhastighed fra 1 til 30 billeder pr. sekund, vælger PNG eller JPEG, og værktøjet afkoder billeder ved den hastighed i din browsers hukommelse og tilbyder resultaterne som individuelle downloads, med et loft på 300 billeder pr. kørsel. Din videofil forlader aldrig din enhed. Ingen bytes sendes til en server på noget tidspunkt under processen. Det betyder noget for optagelser, der indeholder personligt eller følsomt indhold: en familieoptager, et interview eller råoptagelser inden redigering. Browseren indlæser videoen i et virtuelt filsystem i RAM, kører FFmpeg-afkodningen og giver dig billederne tilbage. Afvejningen er, at afkodning udføres i software på din CPU frem for af dedikeret hardware, så en lang video med høj opløsning tager længere tid end en native applikation ville. Til udtrækning af et par billeder eller produktion af et kontaktark fra et kort klip er hastigheden praktisk.
Værktøjer i denne artikel
- Udtræk videobillederUdtræk stillbilleder fra en video som PNG- eller JPG-billeder direkte i din browser. Ingen upload.
- Klip videoKlip en video til et start-/sluttidsinterval direkte i din browser. Hurtig stream-kopi eller præcis genkodning. Ingen upload.
- Video til GIFKonverter et videoklip til en animeret GIF direkte i din browser. Ingen upload.
Ofte stillede spørgsmål
Hvorfor ser mit udtrukne billede sløret ud?
Den mest almindelige årsag er at lande på et P-frame eller B-frame under et øjeblik med bevægelse. Disse billeder lagrer forskelle frem for komplette billeder, og bevægelsessløring i kildematerialet overføres til afkodningen. Prøv at udtrække det nærmeste I-frame, som svarer til et sceneskift eller et periodisk keyframe, for et skarpere resultat.
Skal jeg eksportere billeder som PNG eller JPEG?
PNG hvis du planlægger at redigere billedet, opskalere det eller bruge det i en kontekst, hvor komprimeringsartefakter ville være synlige. JPEG hvis du har brug for en mindre fil til hurtig deling eller forhåndsvisning, og den lette kvalitetsreduktion er acceptabel. Til miniaturebilleder, der vises ved en fast lille størrelse, er JPEG ved en rimelig kvalitetsindstilling normalt fint.
Hvordan laver jeg et kontaktark fra en video?
Vælg en billedhastighed, der er lav nok til at give dig et overskueligt antal stillbilleder, i stedet for et enkelt tidsstempel. For et to-minutters klip giver 1 billede pr. sekund dig omkring 120 billeder, hvilket er tæt nok til at vælge et godt gitter ud fra; outputtet har under alle omstændigheder et loft på 300 billeder pr. kørsel. Der findes i dag ingen grovere hastighed end 1 fps, så for et mere sparsomt ark skal du udtrække ved 1 fps og kun beholde de billeder, du vil have med i det endelige gitter.