記事内に広告が含まれています。
- この記事でわかることをまとめました
- 図1:10fpsにしても、ファイルサイズは30fpsの出力の約7割にとどまりました
- 使った動画と変換の方法をまとめました
- 4条件のファイルサイズとフレーム数を表にまとめました
- 図2:変換時間は、フレームレートを下げるほど短くなりました
- 変換時間と静止画のSSIMも表にまとめました
- フレームレートごとに分かったことをまとめました
- 図3:静止画で並べた範囲では、私の目視では違いははっきりとは分かりませんでした
- この実測を読むときの範囲をまとめました
- 今回の範囲では、10fpsにしてもファイルサイズは30fpsの出力の約7割までしか下がりませんでした
- 関連する実測記事もあわせて読んでみてください
この記事でわかることをまとめました
縦型動画のフレームレートを30fpsから24fps・15fps・10fpsへ下げて保存し直すと、ファイルサイズと変換時間がどれだけ変わるのかを、私が実測しました。
結論です。今回の縦型動画10秒を、H.264のCRF 23で変換した範囲では、30fpsの出力を100とした割合は、24fpsで81.2、15fpsで72.7、10fpsで69.8になりました。10fpsでフレーム数は30fpsの3分の1になりましたが、ファイルサイズは約7割にとどまりました。
変換時間の中央値は、30fpsの6.44秒から10fpsの2.72秒まで、フレームレートを下げるほど短くなりました。
図1:10fpsにしても、ファイルサイズは30fpsの出力の約7割にとどまりました

図1は、30fpsで変換したファイル(392,953バイト)を100として、24fps・15fps・10fpsの割合を棒グラフにしたものです。
使った動画と変換の方法をまとめました
素材は、1080×1920pxの縦型動画です。30fps、10.0秒、300フレーム、H.264、音声なしで、ファイルサイズは937,490バイトです。画面はスライドのような内容で、動きの少ない動画です。
私はこの動画を、ffmpegでフレームレート4段階(30fps・24fps・15fps・10fps)に変換しました。コーデックは全てH.264(libx264、CRF 23、preset medium、yuv420p、音声なし)にそろえています。フレームレートの変更には、ffmpegのfpsフィルタを使いました。
変換は各条件で3回ずつ行いました。変換時間は3回の中央値です。ファイルサイズは3回とも同じバイト数だったので、表のバイト数はその共通の値です。
フレーム数はffprobeの実カウントです。割合は、元の動画(937,490バイト)を100とした値と、30fpsで変換したファイル(392,953バイト)を100とした値の2種類を、バイト数から直接計算し、小数第1位に丸めました。
4条件のファイルサイズとフレーム数を表にまとめました
| 条件 | バイト | 元の動画を100とした割合 | 30fpsの出力を100とした割合 | フレーム数 |
|---|---|---|---|---|
| 元の動画(30fps) | 937,490 | 100.0 | – | 300 |
| 30fps | 392,953 | 41.9 | 100.0 | 300 |
| 24fps | 319,067 | 34.0 | 81.2 | 240 |
| 15fps | 285,800 | 30.5 | 72.7 | 150 |
| 10fps | 274,391 | 29.3 | 69.8 | 100 |
表の「-」は、該当する値がないことを表しています。
図2:変換時間は、フレームレートを下げるほど短くなりました

図2は、各条件で3回変換した時間の中央値を棒グラフにしたものです。変換時間は、この環境での計測です。使う機械が変われば、時間は変わります。
変換時間と静止画のSSIMも表にまとめました
| 条件 | 変換時間の中央値(秒) | 3回の変換時間(秒) | 3秒フレームのSSIM |
|---|---|---|---|
| 30fps | 6.44 | 6.28/7.46/6.44 | 0.996919 |
| 24fps | 5.36 | 5.76/5.23/5.36 | 0.997089 |
| 15fps | 3.47 | 3.47/3.36/3.65 | 0.997813 |
| 10fps | 2.72 | 2.83/2.70/2.72 | 0.997976 |
SSIMは、1に近いほど比べる相手に近いことを表す指標です。今回は、開始3秒のフレーム画像を取り出して、元の動画の3秒のフレームとffmpegのSSIMで比べました。静止画1枚の比較です。
フレームレートごとに分かったことをまとめました
- フレーム数は、30fpsの300から、24fpsで240、15fpsで150、10fpsで100になりました。10fpsのフレーム数は、30fpsの3分の1です。
- ファイルサイズは、30fpsの出力を100とした割合で、24fpsが81.2、15fpsが72.7、10fpsが69.8でした。フレーム数を3分の1にしても、大きさは約7割にとどまりました。
- 15fpsと10fpsの差は小さく、割合では72.7と69.8、バイト数では285,800バイトと274,391バイトで、差は11,409バイトでした。
- 変換時間の中央値は、30fpsで6.44秒、24fpsで5.36秒、15fpsで3.47秒、10fpsで2.72秒でした。
- 3秒時点の静止画のSSIMは、30fpsで0.996919、24fpsで0.997089、15fpsで0.997813、10fpsで0.997976となり、4条件とも近い値でした。
図3:静止画で並べた範囲では、私の目視では違いははっきりとは分かりませんでした

図3は、元の動画と30fps・15fps・10fpsの出力から、開始3秒のフレームを取り出して並べたものです。図3に写っているのは、英語入試・併願カレンダーを紹介するスライドの場面です。静止画で並べた範囲では、私の目視では違いははっきりとは分かりませんでした。
この実測を読むときの範囲をまとめました
- 素材は、スライドのような画面が中心の、動きの少ない縦型動画10秒です。動きの多い実写の動画では、割合の出方が変わる場合があります。
- 設定はH.264のCRF 23に固定した比較です。ほかのコーデックやCRFでは、割合が変わる場合があります。
- 変換時間はこの環境での計測です。使う機械が変われば、時間は変わります。
- フレームレートを下げた動画は、フレーム数が少ないぶん、動きが滑らかでなくなります。ただし、その度合いは数値で測っていません。今回測ったのは、ファイルサイズと変換時間と静止画のSSIMだけです。
今回の範囲では、10fpsにしてもファイルサイズは30fpsの出力の約7割までしか下がりませんでした
今回の縦型動画10秒を、H.264のCRF 23で変換した範囲では、フレームレートを30fpsから10fpsへ下げると、フレーム数は3分の1の100になり、ファイルサイズは30fpsの出力を100として69.8になりました。変換時間の中央値は6.44秒から2.72秒に短くなりました。
関連する実測記事もあわせて読んでみてください
このブログで実測した記事として、動画コーデックを比べた記事と、HyperFramesの動画の書き出しを測った記事もあります。あわせて読んでみてください。



















コメント