Framerate ist die Anzahl von Einzelbildern, sogenannten Frames, die ein Video pro Sekunde zeigt. Die Einheit ist Bilder pro Sekunde, abgekürzt fps. In technischen Normen wird dafür auch der Begriff Bildfrequenz verwendet.
In einer Videodatei ist die Framerate ein Metadatenwert, der den Videostream beschreibt. Bei 25 fps bleibt jedes Frame für 1/25 Sekunde, also 40 Millisekunden, auf dem Bildschirm.
Welche Dateien sie enthalten
Videoformate wie MP4, MOV, MKV, WebM, AVI, WMV und FLV können eine Framerate enthalten. Jedes Format speichert den Wert auf seine eigene Weise:
- MP4 und MOV: Eine Time-to-Sample-Tabelle listet Folgen von Frames mit gleicher Dauer auf. ExifTool berechnet
VideoFrameRateals Durchschnitt aus dieser Tabelle. Einige MP4-Dateien enthalten außerdem durchschnittliche und maximale Raten in Tags wieVideoAvgFrameRateundVideoMaxFrameRate. - MKV: Das Feld
DefaultDurationgibt die Zeit pro Frame in Nanosekunden an. Das FeldFrameRatedient nur zur Information. - WebM: Das Format ist eine Teilmenge von Matroska und kann ebenfalls
DefaultDurationverwenden. Die WebM-Richtlinien kennzeichnenFrameRateals veraltet. - AVI: Die Rate im Stream-Header, geteilt durch dessen Scale, ist die Framerate.
- WMV und FLV: Die Metadaten können ein Framerate-Tag enthalten.
Ein Audiostream hat keine Framerate dieser Art. FFmpegs ffprobe zeigt dafür 0/0 an.
Wie die Werte aussehen
Ein Bericht kann die Framerate als Dezimalzahl wie 29.97 oder als Bruch wie 25/1 anzeigen. Der Bruch 25/1 bedeutet 25 Frames in 1 Sekunde. Ein Bruch bleibt exakt, wenn die Rate keine ganze Zahl ist.
Typische Werte sind:
24/1: 24 fps, die typische Rate von Kinofilm24000/1001: etwa 23,976 fps, von FFmpegntsc-filmgenannt25/1: 25 fps, von FFmpegpalgenannt30000/1001: etwa 29,97 fps, von FFmpegntscgenannt50und60: übliche Raten für Video-Uploads laut YouTube120: eine obere Grenze, kein typischer Wert. Dies ist die höchste Rate in der ITU-Norm für Ultra-High-Definition-Fernsehen.
Konstante und variable Framerate
Bei konstanter Framerate dauert jedes Frame gleich lang. Bei variabler Framerate ändert sich die Zeit zwischen den Frames im Verlauf des Videos.
FFmpegs ffprobe zeigt 2 Felder: avg_frame_rate ist die durchschnittliche Rate und r_frame_rate eine Basisrate. Die Basisrate ist die niedrigste Rate, die alle Zeitstempel genau darstellen kann, und die FFmpeg-Dokumentation bezeichnet sie als Schätzung.
Wenn Frames zum Beispiel entweder 1/25 oder 1/50 Sekunde dauern, ist r_frame_rate gleich 50/1. Der Durchschnitt ist niedriger, daher unterscheiden sich die 2 Felder. Zeitstempel werden in Einheiten der Zeitbasis gezählt.
Woher der Wert kommt
Ein aufgezeichnetes Video erhält seine Framerate bei der Aufnahme. Ein Encoder kann sie später ändern, zum Beispiel indem er Frames entfernt, um das Video kleiner zu machen.
Zeilensprungvideo kann eine andere Zahl anzeigen. Für dieses Video meldet Apples AVFoundation-Framework die Feldrate, nicht die Framerate.
Warum es wichtig ist
Die Framerate beeinflusst vor allem, wie flüssig Bewegungen wirken. Eine höhere Rate ergibt flüssigere Bewegungen, aber der Unterschied wird kleiner, je höher die Rate wird. Unter etwa 12 Bildern pro Sekunde siehst du eine Folge von Einzelbildern statt einer Bewegung.
Ab 24 fps wirkt Bewegung im Allgemeinen flüssig, und 30 oder 60 fps sind ein gutes Ziel. Eine höhere Rate macht die komprimierte Datei außerdem größer, es sei denn, der Encoder reduziert die Rate. 60 fps können also flüssiger aussehen als 30 fps, aber die Datei wird größer.
YouTube empfiehlt, ein Video mit derselben Framerate hochzuladen, mit der du es aufgenommen hast. Bei konstanter Rate ergibt die Rate multipliziert mit der Dauer die Anzahl der Frames. 25 fps für 4 Sekunden ergeben also 100 Frames.