手元のスマホで撮った動画は可変フレームレートだったか
公開日 ・動画
動画は、写真(コマ)を短い間隔で次々に表示して、動いているように見せています。1 秒間に何コマ表示するかがフレームレート(fps)で、30 fps なら 1 コマはおよそ 33 ミリ秒、60 fps なら約 16.7 ミリ秒です。
フレームの間隔がいつも同じ動画を固定フレームレート(CFR)、間隔が途中で変わる動画を可変フレームレート(VFR)といいます。スマートフォンのカメラは、処理が追いつかないときにコマを落とすことなどがあるため、可変フレームレートの動画になることがあると言われています。
可変フレームレートの動画は、「フレーム数 ÷ フレームレート」で時間を計算するとずれたり、動画編集ソフトで音と映像がずれたりする原因になります。では、手元のスマートフォンで撮った動画は、実際に可変フレームレートになっているのでしょうか。
調べ方
Video Inspector Pro は、動画ファイルに記録された全フレームの表示時刻を読み取り、フレームの間隔を調べます。この記事では、Video Inspector Pro と同じプログラム(動画ファイルを読むライブラリ Mediabunny と、ツールのフレームの時刻表の処理)で、手元のスマートフォンで撮った動画 3 本を調べました。
判定の基準も Video Inspector Pro と同じです。フレームの間隔の中央値(ふつうの 1 コマの長さ)から 5% 以上ずれた間隔が、全体の 0.5% を超え、かつ 2 回以上あるとき、「可変フレームレート」と判定します。
使った動画は次の 3 本です(2026 年 9 月に撮影)。
- Google Pixel 9・4K・60 fps:屋外で新幹線を撮った動画(約 7 秒)
- Android 15 の別のスマートフォン・フルHD・30 fps:体育館でライブを撮った動画(約 10 秒)
- Google Pixel 9・4K・60 fps:室内で発表会の様子を撮った動画(約 67 秒)
結果
| 動画 | 形式 | 長さ | フレーム数 | 平均フレームレート | 間隔の中央値 | 最短〜最長の間隔 | 中央値から5%以上ずれた間隔 | 判定 |
|---|---|---|---|---|---|---|---|---|
| Pixel 9・4K 60fps・屋外の新幹線(7秒) | HEVC(H.265)・3840×2160 | 7.2 秒 | 431 | 60.00 fps | 16.7 ms | 16.4〜17.1 ms | 0 回(0.0%) | 固定 |
| Android 端末・フルHD 30fps・体育館のライブ(10秒) | H.264・1920×1080 | 10.1 秒 | 302 | 30.00 fps | 33.3 ms | 33.2〜33.4 ms | 0 回(0.0%) | 固定 |
| Pixel 9・4K 60fps・室内の発表会(67秒) | HEVC(H.265)・3840×2160 | 66.6 秒 | 3,904 | 58.63 fps | 16.7 ms | 15.6〜79.6 ms | 72 回(1.8%) | 可変 |
3 本のうち、可変フレームレートと判定されたのは 1 本でした。
屋外の新幹線(約 7 秒)と体育館のライブ(約 10 秒)の 2 本は、フレームの間隔がほぼ完全にそろっていました。屋外の新幹線の動画は、間隔が 16.4〜17.1 ミリ秒の範囲に収まり、中央値から 5% 以上ずれた間隔は 0 回です。1 コマ 16.7 ミリ秒に対して、ずれはせいぜい 0.4 ミリ秒ほどでした。
一方、同じ Pixel 9 で室内の発表会を撮った約 67 秒の動画は、可変フレームレートと判定されました。中央値から 5% 以上ずれた間隔が 72 回(全体の 1.8%)あり、平均のフレームレートは 60 fps ではなく 58.63 fps でした。
コマが抜けている
発表会の動画の間隔を、中央値に対する長さで分けてみました。
| 動画 | 0.95倍未満 | 0.95〜1.05倍 | 1.05〜1.5倍 | 1.5〜2.5倍 | 2.5倍以上 |
|---|---|---|---|---|---|
| Pixel 9・4K 60fps・屋外の新幹線(7秒) | 0 | 430 | 0 | 0 | 0 |
| Android 端末・フルHD 30fps・体育館のライブ(10秒) | 0 | 301 | 0 | 0 | 0 |
| Pixel 9・4K 60fps・室内の発表会(67秒) | 1 | 3,831 | 16 | 36 | 19 |
ほとんどの間隔は 1 コマ分(中央値の 0.95〜1.05 倍)ですが、1.5 倍以上の長い間隔が 55 回ありました。いちばん長い間隔は 79.6 ミリ秒で、およそ 5 コマ分です。間隔が 2 倍なら 1 コマ、3 倍なら 2 コマが抜けていることになります。60 fps で撮ったつもりでも、ところどころでコマが記録されていなかったのです。
さらに、コマが抜けた 55 回のうち 53 回は、撮り始めから 15 秒の間に集中していました。撮り始めは、カメラが明るさやピントを合わせ直したり、手ぶれ補正が動き出したりする時間で、4K・60 fps のような負荷の大きい設定では、処理が追いつかずにコマを落としやすいのかもしれません。
分かったこと
- 同じスマートフォン・同じ設定(Pixel 9・4K・60 fps)でも、屋外の新幹線は固定フレームレート、室内の発表会は可変フレームレートになりました。「この機種は固定」「この機種は可変」とは言い切れません。
- 屋外は明るく、1 コマごとに十分な光が得られます。室内は屋外より暗いことが多く、60 fps では 1 コマに使える時間(約 16.7 ミリ秒)の中で明るさを確保するのが難しくなります。発表会の動画でコマが抜けたのは、暗さを補う処理や、明るさ・ピントの合わせ直しに、カメラの処理が追いつかなかったためかもしれません。
- 体育館のライブは、別のスマートフォンのフルHD・30 fps で撮ったもので、固定フレームレートでした。30 fps は 1 コマに使える時間が 60 fps の 2 倍あり、データ量も 4K より少ないため、処理に余裕があったと考えられます。
- 可変フレームレートになった動画は、フレームの間隔が少しずつ揺れているというより、ところどころでコマが抜けている状態でした。
- コマが抜けた場所は、撮り始めの十数秒に集中していました。
可変フレームレートの動画を扱うときの注意
- 時間を計るときは、フレーム数から計算せず、各フレームの表示時刻を使います。発表会の動画で「フレーム数 ÷ 60」で計算すると、3,904 コマ ÷ 60 = 約 65 秒となり、実際の長さ(約 66.6 秒)より 1 秒以上短くなります。Video Inspector Pro の区間の時間は、表示時刻から計算しています。
- 動画編集ソフトに読み込むときは、ソフトによっては固定フレームレートに変換してから読み込むと、音と映像のずれを防げます。
- 2 つの動画を並べて比べるときは、コマ数ではなく時刻で位置を合わせます。
フレームレートと時間の関係は「1コマは何ミリ秒?フレームレートと時間の関係」、可変フレームレートの仕組みは「可変フレームレート(VFR)とは?」で説明しています。
出典
関連するツール
ほかの記事
- 「33msec」という名前の由来
サイト名の「33msec」は、1秒間に30コマの動画の1コマの長さ、約33ミリ秒から付けました。名前に込めた意味と、フレームレートと時間の関係を説明します。
・動画 - 輸送密度が高い路線トップ20
全国の鉄道の線区・区間を2023年度の輸送密度(1日あたりの平均の乗客数)が高い順に並べ、上位20の顔ぶれを調べました。山手線は1日約94万人で、最も少ない区間の約4万7千倍でした。
・鉄道のデータ - JR北海道の線区別の収支(宗谷線・石北線・根室線などの営業係数)
JR北海道が公表している2023年度の線区別の収支から、宗谷線・石北線・根室線・釧網線などの営業収益・営業費用・営業係数を比べ、輸送密度との関係を調べました。
・鉄道のデータ