Žádné nahrávání, 100% lokálně, bez účtu

Článek

Extrakce videosnímků pro miniatury a kontaktní listy

Video je posloupnost statických obrázků. Vytažení jednoho z nich vám dá miniaturu, obálku nebo kontaktní list. Výsledek je ostřejší a předvídatelnější, když rozumíte tomu, jak video kodek ukládá snímky a které momenty stojí za zachycení.

Snímky a snímková frekvence

Videosoubor je posloupnost statických obrázků zobrazovaných dostatečně rychle, aby vznikl dojem pohybu. Počet obrázků zobrazených za sekundu je snímková frekvence vyjádřená ve fps. Běžné hodnoty jsou 24 fps pro kino, 25 fps pro PAL vysílání, 30 fps pro webové video a 60 fps pro herní záznamy. Při 24 fps dvouhodinový film obsahuje přibližně 172 800 jednotlivých snímků. Každý snímek odpovídá jedinému okamžiku v čase; extrahování jednoho zmrazí tento okamžik jako samostatný obrázek. Snímková frekvence také určuje, kolik snímků dostanete za sekundu záznamu při extrakci dávky: při 30 fps přinesení každého snímku z minuty videa poskytne 1 800 obrázků, což je často mnohem více, než potřebujete. Extrakce při nižší snímkové frekvenci, nebo každého N-tého snímku u nástrojů, které to umožňují, je praktickým způsobem, jak tento objem snížit a přitom pokrýt celou délku.

Pruh časové osy zobrazující 24 jednotlivých snímků za sekundu záznamu s číslem snímku a časovým razítkem viditelným pod každým snímkem.

Klíčové snímky vs interpolované snímky

Moderní video kodeky neukládají každý snímek jako kompletní obrázek. Používají tři typy snímků pro úsporu místa. I-frame, nazývaný také klíčový snímek, je kompletní, samostatný obrázek. P-frame ukládá pouze pixely, které se změnily od posledního I-frame nebo P-frame. B-frame ukládá změny relativně k předchozímu i budoucímu snímku, přičemž pro rekonstrukci potřebuje snímky na obou stranách. Protože P-frame nebo B-frame je sám o sobě neúplný, dekódování jednoho vyžaduje okolní referenční snímky. Pokud tyto referenční snímky obsahují rozmazání pohybem nebo přechod, rekonstruovaný obrázek toto rozmazání zdědí. I-frame je naproti tomu dekódován nezávisle. Je vždy ostrý, protože si nic nepůjčuje od sousedů. Při extrahování snímku pro použití jako miniatury vám přistání na I-frame dá nejčistší možný výsledek. Většina kodeků umisťuje I-frames na střihy scén, které jsou přirozeně ostrými výchozími body.

Výběr správného momentu

I dobře dekódovaný I-frame může být špatnou miniaturou, pokud zachycený moment není vhodný. Několik faktorů snižuje kvalitu miniatur. Rozmazání pohybem nastane, když se kamera nebo objekt pohybuje rychle během expozice snímku; výsledné rozmazání způsobuje, že snímek vypadá měkce, i když dekódování bylo čisté. Přechodové snímky zachycené uprostřed prolnutí nebo zatmívání obsahují dva překrývající se obrázky a jako samostatné obrázky jen zřídka fungují. Podexponované nebo přeexponované snímky, běžné na začátku scény před ustálením automatické expozice, ztrácejí detaily ve stínech nebo světlech. Nejlepší snímky miniatur pocházejí z momentů jasné akce nebo výrazu, dobrého osvětlení a stabilní kamery. Procházení videa v přehrávači zobrazujícím přesné časové razítky umožní identifikovat tyto momenty před jejich extrakcí. Snímek, který vypadá dobře při pozastavení v přehrávači, bude obecně dobře vypadat jako statický export.

Přehrávač videa pozastavený na dobře osvětleném, stabilním snímku objektu uprostřed akce s časovým razítkem zobrazeným v rohu.

Export: rozlišení, formát a každý N-tý snímek

Při extrakci snímku by exportovaný obrázek měl odpovídat nativnímu rozlišení videa. Zvětšování zavádí artefakty interpolace; zmenšování zahazuje pixely, které můžete potřebovat. Video 1080p produkuje obrázky 1920x1080 pixelů a video 4K produkuje 3840x2160. Pro formát PNG zachovává každý pixel přesně a je správnou volbou, když potřebujete maximální ostrost pro úpravy nebo další škálování. JPEG je menší a vhodný pro náhled nebo sdílení, ale zavádí artefakty komprese kolem ostrých hran. Pokud vytváříte kontaktní list, mřížku malých reprezentativních snímků pokrývající celou délku, standardním přístupem je extrakce při pevné snímkové frekvenci místo vytažení každého snímku: požadavek na 1 snímek za sekundu ze zdroje s 30 fps vám dá jeden obrázek za každou sekundu záznamu a vyšší frekvence, jako 5 nebo 10 fps, dá hustší sadu pro detailní zkoumání. Přesná frekvence závisí na tom, kolik detailů potřebujete versus kolik obrázků chcete spravovat.

Lokálně pomocí video-extract-frames

Nástroj video-extract-frames na Sunasty dekóduje vaše video celý uvnitř prohlížeče pomocí FFmpeg zkompilovaného do WebAssembly. Přetáhnete soubor, zvolíte snímkovou frekvenci od 1 do 30 snímků za sekundu, vyberete PNG nebo JPEG a nástroj při této frekvenci dekóduje snímky v paměti vašeho prohlížeče a nabídne výsledky jako jednotlivá stažení, omezené na 300 snímků na běh. Váš videosoubor nikdy neopustí vaše zařízení. V průběhu procesu nejsou na server odeslány žádné bajty. To je důležité pro záznamy obsahující osobní nebo citlivý obsah: rodinné nahrávky, rozhovor nebo surový materiál před střihem. Prohlížeč načte video do virtuálního souborového systému v RAM, spustí dekódování FFmpeg a vrátí vám obrázky. Kompromisem je, že dekódování probíhá v softwaru na vašem CPU, nikoli dedikovaným hardwarem, takže dlouhé video s vysokým rozlišením trvá déle než nativní aplikace. Pro extrakci hrstky snímků nebo vytvoření kontaktního listu z krátkého klipu je rychlost praktická.

Nástroje v tomto článku

Časté dotazy

Proč je můj extrahovaný snímek rozmazaný?

Nejčastější příčinou je přistání na P-frame nebo B-frame během momentu pohybu. Tyto snímky ukládají rozdíly, nikoli kompletní obrázky, a rozmazání pohybem ve zdrojovém záznamu se přenáší do dekódování. Zkuste extrahovat nejbližší I-frame, který odpovídá střihu scény nebo periodickému klíčovému snímku, pro ostřejší výsledek.

Mám exportovat snímky jako PNG nebo JPEG?

PNG pokud plánujete snímek upravovat, zvětšovat nebo použít v kontextu, kde by artefakty komprese byly viditelné. JPEG pokud potřebujete menší soubor pro rychlé sdílení nebo náhled a mírné snížení kvality je přijatelné. Pro miniatury zobrazené při pevné malé velikosti je JPEG s přiměřeným nastavením kvality obvykle vhodný.

Jak vytvořit kontaktní list z videa?

Zvolte snímkovou frekvenci dost nízkou na to, aby vám dala zvládnutelný počet snímků, místo jediného časového razítka. U dvouminutového klipu vám 1 snímek za sekundu dá kolem 120 snímků, což je dost hustý základ pro výběr dobré mřížky; výstup je v každém případě omezen na 300 snímků na běh. Nižší frekvence než 1 fps dnes není k dispozici, takže pro řidší mřížku extrahujte při 1 fps a pro finální mřížku si ponechte jen snímky, které chcete.