Frame rate e tempistica
Frame rate (fps)
Quante immagini al secondo contiene il video. Valori comuni: 24 (cinema), 25 (trasmissione PAL), 30 (la maggior parte dei telefoni e video Web), 50 e 60 (sport, giochi, movimento fluido), 120 e 240 (acquisizione al rallentatore).
Perché è importante qui: decide quanti fotogrammi esistono da estrarre e determina cosa significa "passo un fotogramma". Imposta uno strumento di incremento sulla frequenza fotogrammi sbagliata e vedrai la stessa immagine due volte o salterai i fotogrammi silenziosamente.
Durata del fotogramma
Il reciproco della frequenza fotogrammi: per quanto tempo ogni fotogramma rimane sullo schermo. A 30 fps, 33,3 ms; a 60 fps, 16,7 ms; a 24 fps, 41,7 ms.
Perché è importante: questo è il soffitto di precisione. Se il momento desiderato dura 10 ms e il filmato è a 30 fps, potrebbe rientrare tra due fotogrammi e semplicemente non esistere nel file.
Frame rate variabile (VFR)
Alcune fonti (registrazioni dello schermo, filmati telefonici in condizioni di scarsa illuminazione, acquisizioni in streaming) non utilizzano una costante interval between frames. Emettono fotogrammi solo quando il contenuto cambia o variano la velocità con la luce disponibile.
Perché è importante: "ogni 10 fotogrammi" diventa una quantità di tempo imprevedibile nel metraggio VFR e le derive aritmetiche del timestamp. Se il frame stepping si comporta in modo incoerente, la causa probabile è VFR. La conversione alla frequenza fotogrammi costante prima dell'estrazione rimuove il problema.
Timecode
Un identificatore di posizione, solitamente scritto HH:MM:SS:FF dove FF è il numero del fotogramma entro il secondo. Distinto dal tempo di riproduzione trascorso.
Perché è importante: è così che registri quale fotogramma hai scattato in modo che qualcun altro possa ritrovarlo. Un timestamp in millisecondi ha lo stesso scopo per la maggior parte del lavoro non trasmesso.
Compressione e tipi di frame
I-frame (keyframe, frame intra-codificato)
Un fotogramma memorizzato come immagine completa, indipendente da ogni altro fotogramma. Più o meno equivalente a un JPEG autonomo all'interno del flusso video.
Perché è importante: I frame I sono il punto in cui può iniziare un decodificatore. Seeking to an arbitrary position means jumping to the previous I-frame and decoding forward — which is why seeking in some files feels sluggish and imprecise.
P-frame (fotogramma previsto)
Memorizza solo le differenze da un fotogramma precedente. Molto più piccolo di un I-frame.
Perché è importante: un P-frame non può essere decodificato da solo. Questo è il meccanismo alla base della maggior parte dell'efficienza della compressione video e del fatto che non è possibile estrarre semplicemente il fotogramma 4.732 da un file senza decodificare ciò che lo precede.
B-frame (frame bidirezionale)
Memorizza le differenze sia da un fotogramma precedente che da un successiva frame. Il più piccolo dei tre tipi.
Perché è importante: B-frame significa che l'ordine di archiviazione nel file è diverso da quello ordine di visualizzazione, che è uno dei motivi per cui la ricerca precisa del fotogramma è più difficile di quanto sembri dall'esterno.
GOP (Group of Pictures)
Lo schema ripetuto di fotogrammi I, P e B, ad esempio un fotogramma I seguito da altri 29, quindi un altro fotogramma I.
Perché è importante: un GOP lungo significa che i fotogrammi I sono distanti, il che rende la ricerca più grossolana. I file ottimizzati per lo streaming hanno spesso GOP di diversi secondi; i filmati direttamente da una fotocamera di solito ne hanno di più brevi.
Bitrate
Dati al secondo di video, in Mbps. Le riprese del telefono sono in genere di 10-50 Mbps; video in streaming 3–8; i codec intermedi professionali possono superare i 200.
Perché è importante: È il singolo predittore più forte della qualità dell'aspetto di un fotogramma estratto. Un fotogramma 4K da un flusso a 5 Mbps mostrerà artefatti di compressione che un fotogramma 1080p da un file di una fotocamera a 50 Mbps non mostrerà: la risoluzione da sola non indica la qualità dell'immagine.
Con perdita e senza perdita
La compressione con perdita elimina le informazioni in modo permanente (H.264, JPEG, MP3). Senza perdita di dati conserva esattamente ogni valore (PNG, FFV1, FLAC).
Perché è importante: estraendo in PNG da una fonte con perdita non ripristina nulla: ottieni una copia senza perdita di pixel già degradati. Ciò che impedisce è che i nomi dei file aggiungendo una seconda generazione di perdita, che conta se il fotogramma verrà modificato in seguito.
Colore e pixel
Croma sottocampionamento (4:4:4, 4:2:2, 4:2:0)
Il video memorizza la luminosità a piena risoluzione e il colore a risoluzione ridotta, perché la visione umana è molto più sensibile alla prima. La notazione descrive la quantità di colore mantenuta: 4:4:4 è pieno, 4:2:2 è metà in orizzontale, 4:2:0 è metà in entrambe le direzioni.
Perché è importante: quasi tutti i video consumer sono 4:2:0, quindi un fotogramma estratto ha dettagli di colore a metà risoluzione in ciascuna direzione. È invisibile sul contenuto fotografico ma molto visibile sui bordi colorati netti: il testo rosso su sfondo scuro è il caso classico ed è una proprietà della fonte, non un difetto dell'estrazione.
Spazio colore (Rec. 709, Rec. 2020, sRGB)
La definizione di cosa significano i numeri memorizzati come colori. Il video HD è solitamente Rec. 709, HDR spesso Rec. 2020, still images normally sRGB.
Perché è importante: Rec. 709 and sRGB are close but not identical. Le sorgenti HDR sono molto diverse e un fotogramma HDR estratto senza mappatura dei toni in genere appare sbiadito e piatto.
Limited range and full range
Il video inserisce convenzionalmente il nero al valore del codice 16 e il bianco a 235, riservando headroom su entrambi i lati. Le immagini fisse utilizzano l'intero valore 0–255.
Perché è importante: questa è la causa più comune di "il mio fotogramma estratto sembra più opaco del video". Se la conversione non viene applicata, i neri risultano grigi e l'immagine appare piatta; applicato due volte, le ombre si schiacciano e le luci si ritagliano. Né si tratta di una perdita di qualità: si tratta di una mancata corrispondenza dei presupposti.
Profondità di bit
Bit per canale di colore. Il video consumer è solitamente a 8 bit (256 livelli per canale); i filmati professionali e HDR sono a 10 o 12 bit.
Perché è importante: 8 bit mostra bande visibili in gradienti uniformi, soprattutto cieli. L'estrazione in PNG preserva la profondità della sorgente ma non può aggiungere livelli che non sono mai stati registrati.
Gamma
La relazione non lineare tra i valori memorizzati e la luminosità visualizzata. Le pipeline di video e immagini fisse non assumono sempre la stessa curva.
Perché è importante: una mancata corrispondenza della gamma sposta la luminosità dei mezzitoni: l'immagine appare leggermente troppo scura o troppo chiara nel complesso, senza alcun cambiamento nei punti bianco e nero.
Formati e contenitori
Contenitore e codec
Il contenitore è il wrapper del file (MP4, MOV, MKV, WebM). Il codec è il metodo di compressione per il contenuto all'interno (H.264, HEVC, VP9, ​​AV1, ProRes).
Perché è importante: questo spiega l'errore più confuso nell'estrazione dei fotogrammi: due file entrambi chiamati .mp4, uno si apre e l'altro no. L'estensione descrive la scatola, non cosa contiene. Uno MP4 contenente HEVC può essere rifiutato laddove funziona uno MP4 contenente H.264.
H.264 (AVC)
Il codec video più ampiamente supportato. Riproduce praticamente ovunque.
Perché è importante: se un file non si apre in uno strumento basato su browser, la transcodifica in H.264 in un contenitore MP4 è la soluzione che funziona quasi sempre.
HEVC (H.265)
successore di H.264: circa la metà del bitrate per una qualità simile. Predefinito per le registrazioni iPhone da iOS 11.
Perché è importante: il supporto del browser è irregolare e dipendente dalla piattaforma. Un video iPhone che non viene caricato in uno strumento del browser è molto spesso HEVC.
ProRes e DNxHD
Intermediate codecs used in editing. Very large files, very light compression, designed for repeated re-encoding.
Perché è importante: nessun browser li decodifica. Questi sono i casi più chiari per l'utilizzo di FFmpeg o di un editor piuttosto che di uno strumento web.
PNG
Formato immagine senza perdita di dati con un canale alfa. File più grandi.
Perché è importante: la scelta giusta per i fotogrammi estratti che verranno modificati, analizzati, misurati o archiviati.
JPEG
Formato immagine con perdita con un'impostazione di qualità, in genere 1–100. Roughly a tenth the size of PNG at high quality.
Perché è importante: la scelta giusta quando hai bisogno di molti fotogrammi e la destinazione è un documento, un biglietto o un set da allenamento che tollera una leggera compressione. Tieni presente che la sua scala di qualità non è standardizzata tra gli strumenti: "90" in un'applicazione non è esattamente "90" in un'altra.
WebP
Un formato immagine più recente con modalità sia con perdita che senza perdita, circa il 25–30% più piccolo del JPEG con qualità paragonabile.
Perché è importante: buono per la distribuzione sul Web, meno universalmente accettato dal software desktop rispetto a PNG e JPEG. Sceglilo quando i frame vengono inseriti in una pagina Web anziché in uno strumento.
Termini del flusso di lavoro di estrazione
Intervallo di campionamento
Il divario tra i fotogrammi estratti, espresso in secondi (uno ogni 5 s) o in fotogrammi (ogni 10).
Perché è importante: le due letture danno risultati completamente diversi sullo stesso file e confonderle è la causa più comune per ritrovarsi con molte più o molte meno immagini del previsto.
Foglio di contatto
Una griglia di fotogrammi estratti visualizzati insieme. Preso in prestito dalla pellicola, dove un'anteprima ti consente di scegliere i negativi a colpo d'occhio.
Perché è importante: i modelli nel tempo (un'apertura di un intervallo, un cambiamento di stato, la comparsa di un difetto) sono visibili in una griglia in un modo in cui non lo sono durante la riproduzione.
Imbottitura zero
Scrivere numeri di sequenza con zeri iniziali: frame_0001 piuttosto che frame_1.
Perché è importante: sono solitamente ordinati come testo, il che equivale a frame_10 prima frame_2. Qualsiasi strumento che legga i tuoi fotogrammi in ordine di nome file li riprodurrà codificati senza di esso.
Elaborazione lato client
Lavoro eseguito nel tuo browser anziché su un server. Il file viene letto dal disco nella memoria della pagina e non viene mai trasmesso.
Perché è importante: rimuove il tempo di caricamento e i limiti di dimensione imposti dal server ed è l'unico accordo in cui le riprese soggette a una NDA o un obbligo di protezione dei dati possono essere elaborate attraverso una pagina web. È anche testabile: disconnettiti dalla rete e verifica se funziona ancora.