用語集

fps とは何か、Frame Rate とは何ですか?

フレームレートとは、動画が1秒間に表示するフレーム数のことで、fps とは この単位で表されます。メタデータレポートでは、たとえば 25/1 のように分数で表示されることがあります。

frame-rate

フレームレートとは、動画が1秒間に表示する静止画像(フレーム)の数のことです。単位は 1秒あたりのフレーム数で、「fps」と表記します。技術規格では「フレーム周波数」と呼ばれることもあります。

動画ファイルでは、フレームレートは動画ストリームを表すメタデータ値です。25 fps の場合、各フレームは 1秒の 1\/25、つまり 40ミリ秒のあいだ画面に表示されます。

どのファイルがそれを持っているか

MP4、MOV、MKV、WebM、AVI、WMV、FLV などの動画形式は、フレームレートを保持できます。各形式は、それぞれ独自の方法でこの値を保存します。

  • MP4 と MOV: time-to-sample テーブルに、同じ長さのフレームのまとまりが一覧されます。ExifTool は、このテーブルから平均値として VideoFrameRate を計算します。一部の MP4 ファイルには、VideoAvgFrameRate や VideoMaxFrameRate などのタグに平均レートと最大レートも保存されています。
  • MKV: DefaultDuration フィールドには、1フレームあたりの時間がナノ秒で保存されます。FrameRate フィールドは情報用に使われるだけです。
  • WebM: この形式は Matroska のサブセットであり、DefaultDuration も使用できます。WebM ガイドラインでは、FrameRate は廃止予定とされています。
  • AVI: ストリームヘッダー内の rate を scale で割った値がフレームレートです。
  • WMV と FLV: メタデータにフレームレートのタグを含めることができます。

音声ストリームには、この種類のフレームレートはありません。FFmpeg の ffprobe は、その値として 0/0 を表示します。

値の見え方

レポートでは、フレームレートが 29.97 のような小数、または 25/1 のような分数で表示されることがあります。分数 25/1 は、1秒間に25フレームという意味です。レートが整数でない場合でも、分数であれば値を正確に表せます。

代表的な値は次のとおりです。

  • 24/1: 24 fps、映画フィルムで一般的なレートです
  • 24000/1001: 約 23.976 fps で、FFmpeg では ntsc-film と呼ばれます
  • 25/1: 25 fps で、FFmpeg では pal と呼ばれます
  • 30000/1001: 約 29.97 fps で、FFmpeg では ntsc と呼ばれます
  • 50 と 60: YouTube によると、動画アップロードで一般的なレートです
  • 120: 典型的な値ではなく上限値です。超高精細テレビ向けの ITU 標準における最大レートです。

コンスタントフレームレートと可変フレームレート

フレームレートが一定の場合、すべてのフレームの表示時間は同じです。可変フレームレートの場合は、動画の再生中にフレーム間の時間が変化します。

FFmpeg の ffprobe には 2つのフィールドがあります。avg_frame_rate は平均レートで、r_frame_rate は基準レートです。基準レートは、すべてのタイムスタンプを正確に表せる最も低いレートであり、FFmpeg のドキュメントでは推定値と説明されています。

たとえば、フレームの長さが 1\/25 秒または 1\/50 秒のいずれかであれば、r_frame_rate は 50/1 です。平均値はこれより低くなるため、この2つのフィールドは異なります。タイムスタンプはタイムベースを単位としてカウントされます。

値の由来

録画された動画は、録画時にフレームレートが決まります。エンコーダーは、動画を小さくするためにフレームを削除するなどして、後からフレームレートを変更できます。

インターレース動画では、異なる数値が表示される場合があります。この動画では、Apple の AVFoundation フレームワークはフレームレートではなくフィールドレートを報告します。

それが重要な理由

フレームレートは主に、動きがどれだけ滑らかに見えるかに影響します。レートが高いほど動きは滑らかになりますが、その効果はレートが高くなるほど小さくなります。1秒あたり約12フレームを下回ると、動きではなく連続した静止画として見えてしまいます。

24 fps 以上であれば、一般的に動きは滑らかに見え、30 fps や 60 fps が目標値として適しています。レートが高いほど、エンコーダーがレートを下げないかぎり圧縮後のファイルサイズは大きくなります。そのため、60 fps の方が 30 fps より滑らかに見えますが、ファイルサイズも増加します。

YouTube では、撮影時と同じフレームレートで動画をアップロードするよう求めています。フレームレートが一定であれば、そのレートに再生時間を掛けるとフレーム数になります。たとえば 4秒間を 25 fps にすると、フレーム数は 100 になります。

メタキー