画質を落とさずに動画のファイルサイズを小さくする方法(検証済み)
スマホ撮影風の 49 MB の動画を 77〜94% 小さくし、すべての結果をスコア化しました。サイズを減らせる設定と、画質を犠牲にする設定がわかります。
要点
- ファイルサイズはビットレートと再生時間の積です。ファイルを小さくするには、目が気づかない部分で 1 秒あたりのビット数を減らします。
- スマートフォンや画面録画は高い固定ビットレートを使っています。一定の画質設定で再エンコードしたところ、テストファイルは 77% 小さくなり、VMAF の低下は 1.9 ポイントでした。
- H.265 にすると、同程度のスコアのままサイズがさらに半分になりました。遅いプリセットはほとんど効果がありませんでした。
- 同じファイルサイズなら、720p に縮小するより、解像度を保って圧縮を強めたほうがスコアが高くなりました。
- 圧縮は最も画質の高いコピーから 1 回だけ行い、オリジナルを削除する前に全画面で結果を確認しましょう。
動画ファイルは、たいてい見た目の違いなしに元の何分の一かのサイズにできます。ほとんどのカメラや画面録画ソフトは、映像に必要な量よりはるかに多いデータを書き込んでいるからです。コツは、固定ビットレートではなく一定の画質で再エンコードすること、そして効率のよいコーデックを選ぶことです。
再エンコードをすれば何かしらは失われるので、「画質を落とさずに」とは、実際には「目に見える画質を落とさずに」という意味です。この記事では、動画ファイルが大きくなる理由、目に見える変化を最小限に抑えてファイルを最も小さくできた設定の測定結果、目標サイズに収める方法、そして KwaFlux や FFmpeg での手順を解説します。
目次
- 動画ファイルが大きくなる理由
- テスト:1 つのファイルを 7 通りの方法で小さくする
- どの方法を選ぶか
- 方法 1:一定の画質(CRF)で再エンコードする
- 方法 2:H.265 に切り替える
- 方法 3:目標サイズに収める
- さらに小さくする工夫:音声、トラック、長さ
- KwaFlux での手順
- よくあるトラブルと対処
- よくある質問
動画ファイルが大きくなる理由
動画のファイルサイズは、ビットレートに再生時間を掛けたものです。 これにコンテナーの分が少し加わります。16 Mbps で 1 分のクリップなら、解像度に関係なく 16 × 60 ÷ 8 = 120 MB です。つまり、調整できる要素は限られています。
- ビットレート:1 秒あたりに使えるビット数。群を抜いて影響の大きい要素です。
- コーデックの効率:H.265 や AV1 のような新しいコーデックは、同じ映像を H.264 より少ないビット数で表せます。
- 解像度とフレームレート:画素やフレームが少なければビット数も少なくて済みますが、そのぶんディテールやなめらかさが失われます。
- 音声:占める割合はたいてい小さいものの、無視できるほどではありません。
- 再生時間:トリミングすれば、画質をまったく損なわずにファイルを小さくできます。
スマートフォンや画面録画ソフトは、リアルタイムで処理が追いつくよう、高速なハードウェアエンコーダーを余裕のある固定ビットレートで使っています。そのため、もっと時間をかけて賢くエンコードする余地が大きく残っています。
テスト:1 つのファイルを 7 通りの方法で小さくする
「スマホ撮影風」のオリジナルとして、1080p の映画 30 秒を高速なエンコーダーで 16 Mbps に設定してエンコードしたもの(49.2 MB、平均は約 13 Mbps)を作り、7 通りの方法で小さくしました。オリジナルと同じ方法で、すべての結果を非圧縮のマスターと比べて VMAF(0〜100 で、高いほどマスターに近い)でスコア化しています。音声はすべて 128 kbps の AAC です。
| 結果 | サイズ | 削減率 | VMAF | エンコード時間 |
|---|---|---|---|---|
| オリジナル(目標 16 Mbps、高速なエンコーダー) | 49.2 MB | — | 83.1 | — |
| H.264、CRF 20、medium | 11.2 MB | 77% | 81.2 | 11 秒 |
| H.264、CRF 20、slow | 10.9 MB | 78% | 81.2 | 16 秒 |
| H.264、CRF 23、medium | 7.4 MB | 85% | 80.1 | 9 秒 |
| H.265、CRF 24、medium | 4.7 MB | 90% | 79.7 | 36 秒 |
| H.264、2 パスで目標 5 MB | 5.2 MB | 89% | 78.2 | 計測なし |
| H.265、CRF 28、medium | 2.8 MB | 94% | 77.3 | 30 秒 |
| H.265、CRF 24、720p に縮小 | 2.7 MB | 95% | 75.1 | 21 秒 |
テスト映像は Tears of Steel(CC BY 3.0)から取りました。時間は、ノートパソコンの Intel CPU 1 台で計測したものです。
数字からわかることは次のとおりです。
- 削減の大部分は、ほぼ代償なしで得られます。 固定の 16 Mbps 設定から CRF 20 に変えるだけでサイズが 77% 減り、スコアの低下は 1.9 ポイントでした。普通に見ているかぎり、見分けるのは難しい差です。
- 次の大きな一歩は H.265 です。 H.265 の CRF 24 は、H.264 の CRF 20 の半分未満のサイズで、スコアはわずかに低いだけでした。ただし、エンコードには約 3 倍の時間がかかりました。
- 遅いプリセットの効果は小さいです。 今回は「slow」にしても、「medium」より 3% 小さくなっただけでした。
- 大きな画面で見られるなら、容量を減らすために縮小するのはやめましょう。 ほぼ同じサイズで、1080p の H.265 CRF 28 のファイルは 77.3、720p のファイルは 75.1 でした。
どの方法を選ぶか
| 目的 | 方法 | 一般的な設定 |
|---|---|---|
| ファイルを小さくし、どこでも再生できるようにしたい | 方法 1 | H.264、CRF 20〜23 |
| 新しい機器向けに、よい画質のまま最も小さくしたい | 方法 2 | H.265、CRF 24〜28 |
| 上限に収める必要がある(メール、チャット、フォームへのアップロード) | 方法 3 | 目標サイズに向けて 2 パス |
| オリジナルをアーカイブしたい | 圧縮しない | カメラのファイルを残す |
| 再エンコードするプラットフォームにアップロードしたい | CRF 18〜20 で方法 1 | 小さすぎない、きれいなファイルを渡す |
コーデックの比較についてはH.264、H.265、AV1 の比較をご覧ください。
方法 1:一定の画質(CRF)で再エンコードする
CRF(Constant Rate Factor)は、エンコーダーに一定の画質を保たせ、場面ごとに必要な分だけビットを使わせる設定です。動きのない場面には少なく、動きの多い場面には多く割り当てます。数値が小さいほど高画質でファイルは大きくなります。H.264 なら、18〜23 でほとんどの用途に対応できます。
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 20 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4-movflags +faststart はインデックスをファイルの先頭に移すので、ダウンロードが終わる前から再生を始められます。
方法 2:H.265 に切り替える
H.265(HEVC)は、H.264 のおよそ半分のビット数で同程度の画質になります。その代わりエンコードは遅く、古い機器や一部の Web ブラウザーでは対応が限られます。
ffmpeg -i input.mp4 -c:v libx265 -preset medium -crf 24 -pix_fmt yuv420p -tag:v hvc1 -c:a aac -b:a 128k -movflags +faststart output.mp4-tag:v hvc1 を付けると、Apple の機器や QuickTime でファイルを認識できるようになります。H.265 の CRF の数値は H.264 と同じ尺度ではありません。テストでは、H.265 の CRF 24 は H.264 の CRF 23 に近いスコアで、サイズはずっと小さくなりました。
補足: AV1 はさらに圧縮率が高いものの、ほとんどのパソコンではエンコードが遅く、古いスマートフォンではなめらかに再生できません。現時点で共有用にサイズを落とすなら、H.265 のほうが無難です。
方法 3:目標サイズに収める
ファイルを上限に収める必要があるときは、サイズから逆算します。
- 目標サイズをメガビットにします。メガバイト × 8 です。25 MB なら 200 メガビットです。
- 再生時間の秒数で割ります。60 秒なら、合計で 3.33 Mbps です。
- 音声の分を引きます。音声が 128 kbps なら、映像に使えるのは約 3.2 Mbps です。
- コンテナーの分として数 % の余裕を残し、約 3.1 Mbps を目指します。
そのうえで 2 パスでエンコードし、必要な場所にビットを配分できるようにします。
ffmpeg -y -i input.mp4 -c:v libx264 -preset medium -b:v 3100k -pass 1 -an -f null NUL
ffmpeg -i input.mp4 -c:v libx264 -preset medium -b:v 3100k -pass 2 -c:a aac -b:a 128k -movflags +faststart output.mp4macOS では、NUL の代わりに /dev/null と書きます。テストでは、4.98 MB を目指して 5.18 MB になり、約 4% 超えました。上限が厳しい場合は、その分の余裕を見ておきましょう。
さらに小さくする工夫:音声、トラック、長さ
- 音声: 話し声やほとんどの音楽なら、128 kbps の AAC で十分です。256 kbps から 128 kbps に下げると、1 分あたり約 1 MB 小さくなります。
- 余分なトラック: 不要なコメンタリー、別の言語、データのトラックを削除します。
-map 0:v:0 -map 0:a:0を使えば、最初の映像トラックと音声トラックだけが残ります。 - 長さ: 誰も必要としない部分をトリミングします。画質をまったく損なわずに済むのは、この方法だけです。
- フレームレート: スライドを映した 60 fps の画面録画なら、30 fps に下げられます。ゲームやスポーツは 60 fps のままにしましょう。
KwaFlux での手順
KwaFlux の 圧縮ツール(モジュール名は 動画・音声の圧縮)なら、コマンドラインを使わずに動画と音声をまとめて小さくできます。
- サイドバーで 圧縮ツール を開き、ファイルを追加するかドロップします。画像はスキップされます。圧縮ツールが扱うのは動画と音声だけです。
- 圧縮方法 で次のどちらかを選びます。画質優先 を選んだ場合は、高画質(元とほとんど見分けがつかないが、削減量は控えめ)、バランス(画質とサイズのバランスを取る)、最小サイズ(サイズは最小だが、画質の低下がわかる)から選びます。ファイルを上限に収める必要があるときは、サイズ優先 を選んで 目標サイズ を入力します。
- 圧縮を開始します。完了した各ファイルには「… から … に圧縮」と表示されます。目標が小さすぎて、サイズを保つと見た目が悪くなる場合は、KwaFlux が映像のサイズを縮小し、そのことを表示します。圧縮してもファイルが小さくならない場合は、画質の劣るファイルではなく、オリジナルのコピーが出力されます。
MP4 の H.265 など特定のコーデックにしたい場合は、コンバーター を使い、そこで形式とコーデックを選びます。
よくあるトラブルと対処
| 問題 | 考えられる原因 | 対処 |
|---|---|---|
| 圧縮したファイルのほうがオリジナルより大きい | オリジナルがすでに効率よく圧縮されていた | オリジナルをそのまま使う。得るものはない |
| H.265 のファイルが古いテレビやブラウザーで再生できない | HEVC のデコーダーがない | CRF 20〜23 の H.264 を使う |
| 暗い場面や速い場面でブロックが目立つ | CRF が高すぎるか、目標サイズが小さすぎる | CRF を 2 下げるか、目標サイズを大きくする |
| 目標サイズに収まらなかった | コンテナーのオーバーヘッドと音声 | 上限より 4〜5% 小さく設定する |
| 圧縮後に色が薄く見える | 10 ビットや HDR のソースを、トーンマッピングせずに 8 ビットの SDR に変換した | H.265 の 10 ビットで HDR のまま残すか、先にトーンマッピングする |
| それでもプラットフォーム上でぼやける | プラットフォームはアップロードされた動画をすべて再エンコードする | CRF 18〜20 程度の、よりきれいなファイルをアップロードする |
まとめ
動画をうまく小さくするコツは、ほとんどがビットを無駄にしないことです。固定ビットレートから一定の画質に切り替え、視聴者の機器で再生できるなら H.265 に移り、上限に収める必要があるときはそこから逆算しましょう。圧縮は最も画質の高いコピーから 1 回だけ行い、結果を確認するまでオリジナルは残しておきます。圧縮を繰り返すと劣化が積み重なる理由は、ダウンロードした動画がぼやける理由をご覧ください。
動画をまとめて、ご自身のパソコンで小さく
KwaFlux の圧縮ツールとフォーマット変換は、画質か目標サイズを指定して動画と音声を小さくします。メディアファイルが処理のためにアップロードされることはありません。Windows 10(64 ビット、バージョン 1809 以降)、Windows 11、Apple Silicon 搭載の macOS 12 以降で動きます。ファイルの読み込みやアプリの操作にアカウントは不要です。ログインと有料プランが必要なのは、書き出し、変換、ファイル修復、リンクからのファイルダウンロードだけです。
お手元の素材で効果を試す
KwaFlux を入手し、支払う前にお手元の素材で効果を無料プレビュー。アカウント不要で、処理はお使いの GPU で行い、処理のためにメディアをアップロードすることはありません。 動画のプレビューは 1、3、または5 秒、手ぶれ補正のプレビューは 5、15、または30 秒から選べます。
よくある質問
画質を落とさずに動画を圧縮するには?
固定ビットレートではなく一定の画質設定で再エンコードし、効率のよいコーデックを使います。再エンコードのたびにわずかに劣化はしますが、H.264 の CRF 20 でテストファイルは 77% 小さくなり、その差は見分けにくいものでした。
同じ画質なら H.265 は H.264 より小さくなる?
はい、たいてい半分程度になります。テストでは、H.265 の CRF 24 は 4.7 MB、H.264 の CRF 20 は 11.2 MB で、スコアはわずかに低くなりました。エンコードに時間がかかり、どこでも再生できるわけではありません。H.264、H.265、AV1 の比較をご覧ください。
解像度を下げればファイルサイズは小さくなる?
なりますが、多くの場合、適切な方法ではありません。ほぼ同じサイズで比べると、テストの 720p ファイルは、圧縮を強めた 1080p ファイルよりスコアが低くなりました。縮小するのは、視聴者が小さな画面で見る場合だけにしましょう。解像度は高いほどいいのかをご覧ください。
CRF はいくつにすればいい?
H.264 なら、18〜23 でほとんどの用途に対応できます。オリジナルに近い画質なら 18、共有用なら 23 です。H.265 なら約 22〜28 です。短いクリップで 2 つの値を試し、全画面で比べてみましょう。
スマホの動画の容量が大きいのはなぜ?
スマートフォンは高速なハードウェアを使い、高い固定ビットレートでリアルタイムにエンコードしているため、削れる余地が大きく残っているからです。時間をかけて一定の画質でエンコードすれば、同じ映像をはるかに少ないビット数で表せます。
参考資料
- Blender Foundation, Tears of Steel (CC BY 3.0, test clip) (2026-10-27 閲覧)
- FFmpeg Codecs Documentation (libx264, libx265, aac) (2026-10-27 閲覧)
- FFmpeg Wiki, "Encode/H.264" (CRF, presets, two-pass) (2026-10-27 閲覧)
- FFmpeg Wiki, "Encode/H.265" (2026-10-27 閲覧)
- Netflix, "VMAF" repository (vmaf_v0.6.1.json model) (2026-10-27 閲覧)


