Dizionario

Che cos'è il frame rate?

Il frame rate è il numero di fotogrammi che un video mostra ogni secondo, espresso in fps. Un report di metadati può mostrarlo come frazione, per esempio 25/1.

frame-rate

Il frame rate è il numero di immagini fisse, chiamate frame, che un video mostra ogni secondo. L'unità è frame per secondo, indicata come fps. Gli standard tecnici lo chiamano anche frequenza dei fotogrammi.

In un file video, il frame rate è un valore di metadati che descrive il flusso video. A 25 fps, ogni frame resta sullo schermo per 1/25 di secondo, cioè 40 millisecondi.

Quali file lo contengono

Formati video come MP4, MOV, MKV, WebM, AVI, WMV e FLV possono contenere un frame rate. Ogni formato memorizza il valore a modo suo:

  • MP4 e MOV: una tabella time-to-sample elenca sequenze di frame con la stessa durata. ExifTool calcola VideoFrameRate come media da questa tabella. Alcuni file MP4 contengono anche frequenze media e massima in tag come VideoAvgFrameRate e VideoMaxFrameRate.
  • MKV: il campo DefaultDuration indica il tempo per frame in nanosecondi. Il campo FrameRate è solo informativo.
  • WebM: il formato è un sottoinsieme di Matroska e può usare anche DefaultDuration. Le linee guida WebM indicano FrameRate come deprecato.
  • AVI: il valore nel'intestazione del flusso diviso per la sua scala è il frame rate.
  • WMV e FLV: i metadati possono contenere un tag di frame rate.

Un flusso audio non ha un frame rate di questo tipo. ffprobe di FFmpeg mostra 0/0 per esso.

Come appaiono i valori

Un report può mostrare il frame rate come numero decimale, ad esempio 29.97, oppure come frazione, ad esempio 25/1. La frazione 25/1 significa 25 frame in 1 secondo. Una frazione resta esatta quando la frequenza non è un numero intero.

Questi sono valori tipici:

  • 24/1: 24 fps, il frame rate tipico della pellicola cinematografica
  • 24000/1001: circa 23,976 fps, che FFmpeg chiama ntsc-film
  • 25/1: 25 fps, che FFmpeg chiama pal
  • 30000/1001: circa 29,97 fps, che FFmpeg chiama ntsc
  • 50 e 60: frequenze comuni per i video caricati online, secondo YouTube
  • 120: un limite superiore, non un valore tipico. È la frequenza più alta nello standard ITU per la televisione in ultra alta definizione.

Frame rate costante e variabile

Con un frame rate costante, ogni frame dura lo stesso tempo. Con un frame rate variabile, il tempo tra i frame cambia durante il video.

ffprobe di FFmpeg mostra 2 campi: avg_frame_rate è la frequenza media e r_frame_rate è una frequenza di base. La frequenza di base è la frequenza più bassa che può rappresentare tutti i timestamp in modo accurato, e la documentazione di FFmpeg la definisce una stima.

Per esempio, se i frame durano 1/25 o 1/50 di secondo, r_frame_rate è 50/1. La media è più bassa, quindi i 2 campi differiscono. I timestamp sono conteggiati in unità della time base.

Da dove proviene il valore

Un video registrato ottiene il suo frame rate durante la registrazione. Un encoder può cambiarlo in seguito, ad esempio rimuovendo frame per rendere il video più piccolo.

Un video interlacciato può mostrare un valore diverso. Per questo video, il framework AVFoundation di Apple riporta la field rate, non il frame rate.

Perché è importante

Il frame rate influisce soprattutto su quanto fluido appare il movimento. Una frequenza più alta rende il movimento più fluido, ma il vantaggio diminuisce man mano che la frequenza aumenta. Sotto circa 12 frame al secondo, vedi una serie di immagini fisse invece di un movimento continuo.

Da 24 fps in su, il movimento di solito appare fluido e 30 o 60 fps sono un buon obiettivo. Una frequenza più alta rende anche il file compresso più grande, a meno che l'encoder non riduca la frequenza. Quindi 60 fps possono apparire più fluidi di 30 fps, ma il file aumenta di dimensione.

YouTube ti chiede di caricare un video con lo stesso frame rate con cui lo hai registrato. Con un frame rate costante, la frequenza moltiplicata per la durata dà il numero di frame. Quindi 25 fps per 4 secondi danno 100 frame.