FFmpeg Cookbook

動画圧縮ツール

H.264 で動画を軽くする無料ツール。CRF(品質優先)と目標MB(容量優先)の両方に対応しています。

完全ローカル処理 — ファイルは外部送信なし
🎬
動画をドラッグ&ドロップ、またはタップして選択
MP4/MOV/AVI/MKV/WebM など・最大 500MB
🎬
高品質
CRF 18
ファイル大・画質最優先
標準
CRF 23
品質とサイズのバランス
軽量
CRF 30
小サイズ優先
詳細CRF調整(18〜35、低いほど高品質) CRF 23
処理中… 0%
元のサイズ
MB
圧縮後サイズ
MB
—% 削減
画質比較プレビュー
元動画
圧縮後
圧縮済み動画をダウンロード

対応する FFmpeg コマンド

現在の設定に対応するコマンドラインです。設定を変えるとリアルタイムで更新されます。

ファイルを選び、設定を調整するとここに表示されます。

視覚的なイメージ

元の動画50 MB1080p · CRF 23CRF 28+ 720p圧縮後8 MB720p容量削減−84%

※ 実際の結果はソース動画の長さ・複雑さで変わります(典型例の図解)

よく使われる用途
Discord・メールの容量制限対策アップロード前の軽量化画質を残したMP4圧縮

このツールでできること

  • CRF 18〜35 を指定して画質を細かくコントロール
  • Discord・LINE・メール添付に合わせて目標MBで自動ビットレート計算
  • 解像度を 1080p / 720p / 540p などへワンクリックで縮小
  • Before / After 動画プレビューで圧縮前後を比較
  • 完全ローカル処理:ファイルはサーバーに送信されません

使い方

  1. 1

    動画をドロップ

    MP4 / MOV / MKV / WebM などをドラッグ&ドロップ、またはタップで選びます。最大 500MB まで。

  2. 2

    モードを選ぶ

    画質を優先したいなら「CRF」、サイズを決めたいなら「目標MB」を選択。

  3. 3

    解像度・速度を調整

    元の解像度のままでも構いません。容量重視なら 720p / 540p に下げると効果的です。

  4. 4

    圧縮を実行

    進捗バーが終わるとプレビューとダウンロードボタンが表示されます。

入力項目の意味

CRF
Constant Rate Factor。数値が小さいほど高画質・大ファイル。一般的な範囲は 18〜28。
目標MB
出力したい容量。動画長と音声ビットレートから映像ビットレートを逆算します。
解像度
縦のピクセル数。1080 → 720 にするだけで容量がおおむね半分になります。
エンコード速度
fast は速いがファイルがやや大きめ、slow は遅いがファイルが小さくなります。

おすすめ設定

YouTube アップロード前の軽量化
CRF 20〜23・元解像度・preset fast
YouTube 側でも再エンコードされるので画質を残しめにする。
Discord 無料枠(10MB)に収めたい
目標 10MB・720p または 540p
長尺はビットレートが下がりすぎるので解像度を落として補う。
スマホで撮った動画を SNS 用に
CRF 23〜26・1080p のまま
画面が小さい SNS では CRF を上げても気づかれにくい。
画質を最優先したい保存版
CRF 18〜20・preset slow
CRF を下げるほど画質劣化は分かりにくくなる。

よくある失敗と対処

症状:圧縮しても容量がほぼ変わらない

原因:元動画がすでに H.264 で十分圧縮されているケース。

対処:解像度を一段下げる(1080p → 720p)か、CRF を 28 以上に上げる。

症状:画質が一気に荒くなった

原因:CRF を 30 以上にしている、または目標MBが動画長に対して小さすぎる。

対処:CRF を 23〜26 に戻すか、目標MBを増やすか、動画を短くトリムする。

症状:ブラウザがフリーズする

原因:モバイルで 200MB を超える動画を読み込ませた可能性。

対処:解像度を下げて再エンコード、または PC で実行する。

相当する FFmpeg コマンド例

コマンドラインから同じ処理を行う場合の参考例です。

CRF 23 で標準的に圧縮
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 128k -movflags +faststart output.mp4
画質と容量のバランスが取れたデフォルト設定。
720p に縮小しつつ圧縮
ffmpeg -i input.mp4 -vf scale=-2:720 -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 128k -movflags +faststart output.mp4
解像度と CRF を併用すると効果が大きい。
目標 10MB に収める(動画長 60 秒の例)
ffmpeg -i input.mp4 -c:v libx264 -b:v 1200k -maxrate 1320k -bufsize 2400k -c:a aac -b:a 128k -movflags +faststart output.mp4
ビットレート = 目標サイズ × 8 / 動画長 - 音声ビットレート の概算。

対応ブラウザ・制限

  • 対応ブラウザ:Chrome / Edge / Firefox / Safari の最新版
  • 最大ファイルサイズ:500MB(モバイルは 200MB 推奨)
  • 出力フォーマット:MP4(H.264 + AAC)のみ

プライバシーについて

このツールは ffmpeg.wasm をブラウザ内で実行するため、動画ファイルがサーバーに送信されることはありません。すべての処理はあなたの端末上で完結します。 プライバシーポリシーを見る →

よくある質問(FAQ)

画質が下がりすぎるのを避けたい場合は?

CRF 20 前後を選び、解像度を変えずにエンコードしてください。CRF を 18 にするとほぼ視覚的に劣化を感じませんが、ファイルは大きくなります。

音声を消して映像だけ圧縮できますか?

このツールは音声を必ず含めて出力します。音声を消したい場合は別途、音量ノーマライズツールや FFmpeg コマンド(-an)で除去してください。

iPhone で撮った HEVC(.mov)も使えますか?

はい。読み込みに対応しています。出力は H.264 (mp4) になるため、互換性が向上します。

長時間の動画でも処理できますか?

ブラウザのメモリ上で処理するため、目安として 30 分以下、500MB 以下を推奨します。長尺の場合は事前にトリムするか、デスクトップ版 FFmpeg をご利用ください。

同じ CRF でも毎回サイズが違うのはなぜ?

CRF はビットレートではなく「品質目標」です。シーンの複雑さによって必要なビットレートが変わるため、結果サイズは前後します。

出力フォーマットを mp4 以外にできますか?

このツールは mp4(H.264 + AAC)のみです。WebM や MOV へ変換したい場合は「動画フォーマット変換ツール」をご利用ください。

CRF と「目標サイズ MB」のどちらを使うべき?

画質を優先したい・大体のサイズで構わない場合は CRF、容量上限が決まっている(Discord 10MB、メール添付 25MB 等)場合は目標サイズ。後者はビットレートを長さから逆算するため、長尺ほど画質が落ちる点に注意してください。

preset(ultrafast / fast / slow)は何が違う?

エンコードの所要時間と圧縮効率のトレードオフです。slow にするほどファイルは小さくなり画質が良くなりますが、エンコード時間は数倍に増えます。ブラウザ実行では fast 〜 medium が現実的です。

圧縮後の動画が iPhone で再生できない

本ツールは Web 互換性の高い yuv420p / H.264 baseline〜high で出力するため iPhone で再生できないことは稀です。再生できない場合はファイルが破損している可能性があるので、別の動画で再試行してください。

元動画より大きくなることはありますか?

稀にあります。元動画が既に強く圧縮されている場合(例:CRF 28 相当のエンコード済み素材)に CRF 18 などで再圧縮すると、品質を上げようとしてかえって大きくなることがあります。元のビットレートを下回らない CRF を選んでください。

関連ツール

関連記事 (FFmpeg レシピ)

動画圧縮はストレージ・通信量・SNS の容量制限を解決する基本作業です。本ツールは ffmpeg.wasm をブラウザ内で実行するため、ファイルが外部サーバーに送信されることはありません。

深掘り:このツールならではの背景

CRF と「目標MB」モードはどう使い分けるか

CRF(Constant Rate Factor)は「画質を一定に保つ」ことを優先する圧縮方式です。CRF 値を 18-23 に設定すると、シーンによってビットレートが自動で変動し、複雑な動きの多いシーンには多くのビットを、静止画に近いシーンには少ないビットを割り当てます。結果としてファイルサイズはコンテンツ依存で予測しにくくなりますが、品質の一貫性は最も高くなります。動画を YouTube・ポートフォリオなどへ「画質優先」で出す場合は CRF モード一択です。

一方「目標MB」モードは ABR(Average Bit Rate)方式に近く、最終的なファイルサイズを優先します。動画長から `video_kbps = (target_MB × 8192 - audio_kbps × duration) / duration` の式でビットレートを逆算し、`-b:v` と `-maxrate` で上限固定します。Discord・Gmail・Slack のような上限が厳しいプラットフォームへ送る場合に必須の方式で、本ツールでは内部で安全係数 0.92-0.98 を掛けてオーバーヘッドを吸収しています。

x264 preset とビルド時間のトレードオフ

libx264 には ultrafast / superfast / veryfast / faster / fast / medium / slow / slower / veryslow の 9 段階の preset があり、preset が遅くなるほど同じビットレートでの画質が向上する代わりにエンコード時間が指数的に増えます。本ツールはブラウザ内で実行する都合上 `veryfast` または `fast` を採用しており、ローカル PC の FFmpeg バイナリより画質効率は劣りますが、500MB の動画を 30 秒〜2 分で完了させる現実解です。

画質を限界まで追求したい場合は、本ツールで生成された FFmpeg コマンドを「相当する FFmpeg コマンド例」セクションからコピーし、デスクトップで `-preset slow` などに置き換えて再実行するワークフローを推奨します。WASM 版は 1 ファイルの即時処理に、デスクトップ版はバッチ・最高画質納品に、と使い分けるのが効率的です。

コーデック選択:H.264 を勧める理由

本ツールが出力に H.264(libx264)を採用しているのは、再生互換性が最大公約数として最も高いためです。Windows・macOS・iOS・Android の OS 標準プレイヤー、Chrome・Safari・Edge・Firefox のブラウザ、Discord・Slack・X などの SNS 側プレイヤー、PowerPoint・Premiere・Final Cut といった編集ソフト ── すべてが H.264 を確実にデコードできます。HEVC(H.265)や AV1 は同じ画質でファイルサイズが半分以下になりますが、Windows 標準では HEVC 拡張機能が必要、AV1 はまだ多くの編集ソフトが受け付けないなど、共有・配布段階で事故が起きやすい構成です。

長期保存・自分専用なら HEVC や AV1 でファイルサイズを抑える価値がありますが、「他の人に送る・どこに置くか分からない」用途では H.264 + AAC + MP4 の組み合わせが最もリスクが低い選択肢です。本ツールはその「他者に送る」用途に最適化しています。

次にやること