見た目の画質を落とさずに動画を圧縮する方法:H.264・H.265・AV1 の比較
見た目の画質を落とさずに動画を小さくする方法。H.264・H.265・AV1 の選び方、ビットレートや CRF の決め方、仕上がりの確認方法を解説します。
要点
見た目の画質を落とさずに動画を圧縮するには、元のファイルから一度だけ、新しいコーデックと自分の目で確かめた画質の設定で再エンコードします。どこでも再生できる必要があるなら、H.264 が無難です。H.265 や AV1 なら、再生する機器がデコードできる限り、たいてい同じような見た目でファイルが小さくなります。
まずコーデックを決め、ビットレートを 1 段階ずつ下げる(または CRF を上げる)のを違いが見えるまで繰り返し、見えたところで 1 段階戻します。
- ファイルサイズはビットレート × 長さです。動画を小さくするには、ビットレートを下げるか、効率のよいコーデックに切り替えるか、解像度やフレームレートを下げます。
- H.264、H.265、AV1 はいずれも非可逆です。現実的な目標は、実際に見るサイズでは誰も違いに気づかない、小さなファイルです。
- 再生できる環境がいちばん広いのは H.264 です。H.265 と AV1 は、より低いビットレートで同じような見た目になるよう設計されていますが、新しいデコーダーが必要で、エンコードにも時間がかかります。
- 画質設定の数値は、エンコーダーが違えば意味も変わります。x264 の CRF 23 は、x265 や SVT-AV1 の CRF 23 とは別物です。
- 元のファイルから圧縮し、暗い場面と速い動きを確認し、すでに圧縮されたファイルを再び圧縮するのは避けましょう。
動画の圧縮とは
動画の圧縮とは、見る人が最も気づきにくい情報を取り除き、少ないビット数で動画をエンコードすることです。
最終的なファイルサイズは 3 つの要素で決まります。
- ビットレート:エンコーダーが 1 秒あたりに使うビット数です。サイズ ≈ ビットレート × 長さで、8 Mbps なら 1 分の動画は 8 × 60 ÷ 8 = 60 MB です。
- コーデック:映像をエンコードする方式です。新しいコーデックほど、少ないビットで同じような見た目になるよう設計されています。
- 解像度とフレームレート:画素やフレームが多いほど、同じ画質に多くのビットが必要です。
コンテナ(MP4、MKV、MOV、WebM)はただの入れ物です。再エンコードせずにコンテナを変えても、サイズはほとんど変わりません。
補足: 「画質を落とさずに」を文字どおりに取ると、映像の情報を 1 ビットも失わないエンコードということになり、ファイルは小さくなるどころか大きくなります。この記事で扱うのは、ふつうの視聴サイズでは見えないほど小さな劣化です。
H.264・H.265・AV1:どのコーデックを選ぶか
| コーデック | 別名 | 再生対応 | エンコード速度 | 選ぶ場面 |
|---|---|---|---|---|
| H.264 | AVC | いちばん幅広い。YouTube はアップロードに H.264 を推奨 | たいてい 3 つの中でいちばん速い | どこでも再生できる必要がある、またはどうせ再エンコードするプラットフォームにアップロードする |
| H.265 | HEVC | 最近のスマートフォン、テレビ、パソコンでは一般的。すべてのブラウザーや古い機器が対応しているわけではない | たいてい H.264 より遅い | 対応がわかっている機器向けにファイルを小さくしたい、または 4K や 8K で納品する |
| AV1 | AOMedia Video 1 | 広がりつつある。古い機器やハードウェアデコードは要確認 | プリセットによって大きく変わり、遅いプリセットではかなり時間がかかる | プレーヤーが対応している Web 配信や保存 |
| VP9 | WebM の映像 | Web ブラウザーと YouTube | H.264 より遅い | Web 向けの WebM ファイル |
どんな場合にも通用する正解のコーデックはありません。次の 2 点を順に考えて決めましょう。
- どこで再生するか。 機器を選べないなら、H.264 にします。
- エンコードをどれだけ待てるか。 AV1 と H.265 は、エンコードの時間と引き換えにファイルを小さくします。
始める前に:いちばんきれいな元ファイルから圧縮する
どんな設定よりも大事な習慣が 2 つあります。
- 手元でいちばん画質の良いファイルから始めます。 非可逆の再エンコードを重ねるたびに、情報は少しずつ失われます。メッセージアプリや SNS 向けにすでに圧縮されたファイルを圧縮すると、劣化が積み重なります。
- できれば、先にノイズを取り除きます。 エンコーダーはノイズや粒状感を細かいディテールとみなし、それを残すためにビットを費やします。圧縮の前にノイズを除去すれば、エンコーダーはそのビットを大事な映像に回せます。AI で動画のノイズを除去する方法 をご覧ください。
方法 1:KwaFlux のコンバーターで圧縮する
KwaFlux のコンバーターは、修復や高画質化に使うのと同じアプリの中で、形式、コーデック、ビットレートを一括で変換します。
- コンバーターを開きます。 サイドバーのツールのグループで コンバーター をクリックすると、フォーマット変換 のページが開きます。
- ファイルを追加します。 ファイルを追加 をクリックするか、ドラッグして入れます。一覧でファイルをクリックすると、右側で設定できるようになります。複数のファイルを選ぶと、すべてに同じ設定を適用できます。
- 出力の形式を選びます。 動画 タブで、互換性を最も重視するなら MP4 を、ブラウザーで再生するなら WEBM を選びます。次に、HD 1080P や HD 720P などのプリセットを選びます。
- ビデオ設定を開いてコーデックを設定します。 MP4 の映像のエンコーダーには H.264、H.265 / HEVC、AV1 があり、WebM には VP8、VP9、AV1 があります。
- 解像度とビットレートを設定します。 解像度 を選び、その解像度の一覧から ビデオビットレート を選びます。MP4 の HD 1080P プリセットは H.264、3 Mbps から始まり、これはファイルを小さくする設定です。1080p では、H.264 と AV1 は 1〜30 Mbps、H.265 は 1〜20 Mbps から選べます。今のビットレートが含まれない一覧のコーデックや解像度に切り替えると、KwaFlux はその一覧の既定値に移ります。H.264 と AV1 は 8 Mbps、H.265 は 5 Mbps です。プリセットは 30 fps から始まるので、変えるつもりがなければ、フレームレート を元ファイルのフレームレートに合わせてください。
- 見積もりを確認して、開始します。 ページに出力サイズの見積もりが表示されます。すべて開始 をクリックすると、終わったファイルは 変換完了 に表示されます。

ヒント: コンテナだけが合わない場合(たとえば、編集ソフトが MOV を求めているのに手元が MP4 の場合)は、新しい形式で ソースと同じ を選び、ビデオ設定 でコーデックを元ファイルと同じものにして、高速変換 の 高速モード をオンのままにします。こうすると KwaFlux は映像を再エンコードせずにビデオストリームをコピーし、ファイルには 高速モード対象 と表示されます。方法 3 で紹介する FFmpeg の -c copy でも、同じことができます。
編集向けのコンテナとコーデックについては、動画フォーマットをローカルで変換する をご覧ください。
方法 2:HandBrake で圧縮する(固定品質)
HandBrake は無料のオープンソースで、既定のプリセットは固定品質を使います。固定品質では動画全体の画質が一定に保たれ、ファイルサイズは内容に応じて変わります。
- Open Source(ソースを開く)で動画を開き、目標の解像度に近いプリセットを選びます。
- Video タブで、Video Encoder(映像エンコーダー)を選びます。H.264(x264)、H.265(x265)、AV1(SVT-AV1)のいずれかです。
- Framerate(フレームレート)は、Same as source(ソースと同じ)のままにします。
- Constant Quality(固定品質)を設定します。HandBrake のドキュメントは、出発点として次の範囲を勧めています(RF が低いほど画質は高く、ファイルは大きくなります)。
| 解像度 | x264 と x265 | SVT-AV1 |
|---|---|---|
| 480p / 576p | RF 18〜22 | RF 22〜32 |
| 720p | RF 19〜23 | RF 25〜35 |
| 1080p | RF 20〜24 | RF 25〜35 |
| 2160p(4K) | RF 22〜28 | RF 25〜40 |
- HandBrake の Preview(プレビュー)で短いクリップをエンコードし、元の映像と比べます。
- Start Encode をクリックします。
HandBrake のドキュメントは、RF の値はエンコーダーをまたいで比較できないとも注意しています。RF 25 の x264 のエンコードは、RF 25 の x265 や SVT-AV1 のエンコードと同じ見た目にはなりません。
方法 3:FFmpeg で圧縮する(CRF)
FFmpeg なら同じエンコーダーをコマンドラインから使えるので、一括処理やスクリプトに向いています。
H.264(HandBrake の 1080p の範囲にある値):
ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset slow -c:a aac -b:a 160k output_h264.mp4H.265(x265 の CRF の既定値は 28、範囲は 0〜51):
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -tag:v hvc1 -c:a aac -b:a 160k output_h265.mp4SVT-AV1 による AV1(SVT-AV1 自体の既定値は CRF 35 とプリセット 8 で、プリセットは数字が大きいほど速くなります):
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -preset 8 -c:a aac -b:a 160k output_av1.mp4調整の仕方:
- 画質を優先してファイルが大きくなってもよいなら CRF を下げ、ファイルを小さくしたいなら 上げます。数段階ずつ動かしてください。
- 遅いプリセット ほど効率のよいエンコードを探すのに時間をかけるので、同じ CRF でも、たいていファイルが小さくなります。
-tag:v hvc1で、H.265 のストリームに Apple のプレーヤーが想定する識別子を付けます。MP4 ファイルが QuickTime や iPhone で開きやすくなります。
コンテナを変えるだけなら、エンコーダーは使いません。-c copy で、ストリームをデコードもエンコードもせずに新しいファイルに移します。
ffmpeg -i input.mp4 -c copy output.movデコードもエンコードもしないので、映像は変わりません。FFmpeg のドキュメントによると、出力先のコンテナが元ファイルにない情報を必要とする場合など、ストリームコピーがうまくいかないこともあります。コピーに失敗したら、上のコマンドのどれかで再エンコードしてください。
目標のファイルサイズに収める方法
プラットフォームやメールの制限でサイズが決まっているなら、そこから逆算します。
- 目標をメガビットに換算します。MB で表したサイズ × 8 で、100 MB なら 800 Mb です。
- 秒で表した長さで割ります。5 分の動画なら、800 ÷ 300 ≈ 2.67 Mbps(合計)です。
- 音声のビットレートを引きます。音声が 128 kbps なら、映像は約 2.54 Mbps です。
- コンテナやビットレートの揺れに備えて、約 5% の余裕を残します。約 2.4 Mbps です。
KwaFlux のコンバーターでは、その数値以下でいちばん近いビットレートを選ぶか、一覧にそこまで低い値がなければ解像度を下げます。FFmpeg なら 2 パスエンコードでサイズをきっちり合わせられます。
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 2400k -preset slow -pass 1 -an -f null NUL
ffmpeg -i input.mp4 -c:v libx264 -b:v 2400k -preset slow -pass 2 -c:a aac -b:a 128k output_100mb.mp4macOS や Linux では、NUL を /dev/null に置き換えます。
見た目の画質低下を確認する方法
圧縮したファイルは、冒頭の数秒だけで判断しないでください。エンコーダーが苦手なショットこそ確認します。
- 暗いグラデーションや空:バンディングや階段状のブロックがないか。
- 細かい質感:葉、水、髪、布。にじみがないか。
- 速い動きとフィルムグレイン:現れては消えるブロックがないか。
- 文字や輪郭:文字の周りにリンギングやもやつきがないか。
元のファイルと圧縮したファイルを 100% 表示で比べ、次に、実際に視聴者が使う機器で比べます。客観的なスコアについては、動画の画質をどう採点しているか をご覧ください。
アップロードする場合は、プラットフォームがファイルを再エンコードすることを忘れないでください。YouTube が推奨する H.264 アップロード時のビットレート(1080p、24〜30 fps なら 8 Mbps など)なら、きれいな素材を渡せます。強く圧縮した小さなファイルをアップロードすると、プラットフォームは、すでに圧縮された映像をさらに圧縮することになります。
よくある間違い
| 間違い | 起きること | 対処 |
|---|---|---|
| すでに圧縮されたファイルを圧縮する | 劣化が積み重なり、ブロックやにじみが増える | 元のファイルに戻る |
| デコードできない機器向けに H.265 や AV1 を選ぶ | 再生できない、またはカクつく | 機器がわからなければ H.264 を使う。先に再生を試す |
| あるエンコーダーの CRF の値を、別のエンコーダーに流用する | サイズや画質が予想と違う | エンコーダーごとの推奨範囲を使う |
| 元ファイルより高い解像度で書き出す | ファイルが大きくなるだけで、新しいディテールは生まれない | 元の解像度のままにするか、AI で意図してアップスケールする |
| 4K にしてはビットレートが低すぎる | 動きや暗い場面でブロックノイズが出る | ビットレートを上げるか、代わりに 1080p で納品する(4K と 8K の違い を参照) |
| うっかりフレームレートを変えてしまう | ジャダー、または音声がだんだんずれる | フレームレートは元ファイルと同じにする |
まとめ
うまく圧縮できるかどうかは、小さな判断の積み重ねで決まります。元のファイルから始め、視聴者が再生できるコーデックを選び、設定を 1 つずつ調整し、難しいショットを確認します。一度手順を固めてしまえば、似たファイルにはそのまま使い回せます。
KwaFlux のコンバーターは、修復や高画質化に使うのと同じアプリの中で、動画や音声の形式、コーデック、ビットレートを、ご自身のパソコン上で一括変換します。メディアファイルが処理のためにアップロードされることはありません。Windows 10(64 ビット、バージョン 1809 以降)、Windows 11、Apple Silicon 搭載の macOS 12 以降で動きます。ファイルの読み込みやアプリの操作にアカウントは不要です。ログインと有料プランが必要なのは、書き出し、変換、ファイル修復、リンクからのファイルダウンロードだけです。
ご自身の素材で効果をテスト
KwaFlux を入手し、支払う前に自分の素材で効果を無料プレビュー。アカウント不要、処理はご自身の GPU で行い、メディアはアップロードしません。 動画のプレビューは 1、3、または5 秒、手ぶれ補正のプレビューは 5、15、または30 秒から選べます。
よくある質問
画質を落とさずに動画を圧縮するには?
非可逆のコーデックでは、エンコードのたびに一部のデータが失われます。調整できるのは、それが見えるかどうかです。元のファイルから始め、機器が対応している新しいコーデックを選び、違いが見えるまで画質の設定を段階的に下げて、見えたら 1 段階戻します。
H.265 と H.264、どちらを選ぶべき?
場合によります。H.265 は、より低いビットレートで同じような見た目になるよう設計されているのでファイルは小さくなりますが、エンコードが遅く、再生できないブラウザーや古い機器もあります。どこで再生されるかわからないなら、H.264 のほうが無難です。
AV1 と H.265、どちらを選ぶべき?
これも場合によります。AV1 は効率のよい Web 配信のために設計されていますが、遅いプリセットではエンコードにかなり時間がかかり、古い機器にはハードウェアデコードがないこともあります。視聴者が使うプレーヤーで試してください。
H.265 や AV1 のビットレートはどれくらいにすればいい?
決まった数値ではなく、ツールの既定の画質設定から始めます。どちらのコーデックも、H.264 より低いビットレートで同じような見た目になるよう設計されています。暗い場面や動きの速い場面を確認しながら、段階的に下げましょう。VMAF のスコア で、見た目の判断を裏付けられます。
MP4 を MKV や MOV に変換すれば容量は小さくなる?
小さくなりません。再エンコードせずにコンテナを変えると同じビデオストリームがコピーされるだけなので、サイズはほぼ同じです。FFmpeg では、-c copy でこれを行います。サイズが変わるのは、別のコーデックやビットレートで再エンコードしたときだけです。
参考資料
- HandBrake Documentation, "Adjusting quality" (2026-10-11 閲覧)
- x265 Documentation, "Command Line Options" (`--crf`) (2026-10-11 閲覧)
- SVT-AV1, "Parameters" (CRF and preset defaults) (2026-10-11 閲覧)
- YouTube Help, "YouTube recommended upload encoding settings" (2026-10-11 閲覧)
- FFmpeg Documentation, "ffmpeg" (section 3.1, Streamcopy) (2026-10-11 閲覧)

