FFmpeg Cookbook
EN

Discord動画圧縮ツール

目標の容量(MB)と動画の長さから設定を決めて圧縮します。仕上がりの容量、再生プレビュー、変換記録を確かめられます。

動画はサーバーに送られません
動画を選択 MP4 / MOV / MKV / WebM / AVI・最大500 MB

1 MB = 1,000,000バイト。候補の数字は目安です。上限は各サービスの公式ヘルプで確かめてください。長さを短く入力しても動画は短縮されません。

対応する FFmpeg コマンド

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

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

共有前の確認

Discord の公式ヘルプでは、アップロードの上限は Nitro なしで 20MB、Nitro Basic で 50MB、Nitro で 500MB です。初期値の 20MB は Nitro なしの上限です。Discord は送る前のファイルの大きさで判定するので、ファイルそのものを上限内にします。

Discord 公式ヘルプ(添付ファイル FAQ) (確認日 2026-09-25)

動画が長い場合は、必要な部分を先にトリムしてください。容量以外に、通信・権限・再生形式が原因で送れないこともあります。

計算では目標の95%を映像と音声に割り当て、容量超過時は1回だけ再圧縮します。出力が上限を超えたままなら、その状態を表示します。

再圧縮は画質を変えます。細かい文字、動き、音声を確認し、元動画を残してください。基本的なタグとチャプターの引き継ぎは抑えますが、映像・音声内の個人情報を隠す処理ではありません。

実測:同じ動画の容量と画質を比較

圧縮すると、見た目はどう変わる?

同じ10秒の動画を3つの設定で圧縮した結果です。画像は一部分を2倍に拡大しています。

元動画 23.28 MB → 0.73 MB、変換 1.1 秒
ffmpeg -i input.mp4 -map 0:v:0 -map 0:a:0? -c:v libx264 -crf 36 -preset fast -pix_fmt yuv420p -c:a aac -b:a 96k -movflags +faststart output.mp4
圧縮前の画面の一部(Tシャツの柄と上着)を2倍に拡大 同じ部分を、選んだ設定で圧縮した後 元画像 圧縮後
測った条件

2026-09-24、Windows の FFmpeg 8.1(H.264、preset fast)で 1080p・10秒の実写映像を各設定1回ずつ変換。画像は3秒地点の 480×270 を原寸で切り出し、2倍に拡大したものです。

実測データ(JSON)素材の配布元

Tears of Steel (CC) Blender Foundation | mango.blender.org, CC BY 3.0. 4K版を切り出して1080pに縮小し、変換後のフレームの一部を2倍に拡大

よく使われる用途
Discord無料枠・Nitro枠向け圧縮ゲームクリップの共有長尺動画の20MB/50MB調整

使い方

  1. 上限を確認Discordの公式ヘルプ(添付ファイル FAQ)では、上限は Nitro なしで 20MB、Nitro Basic で 50MB、Nitro で 500MB です。初期値は Nitro なしの 20MB です。ほかのプランでは目標容量を変えます。
  2. 動画と設定を選ぶ読み取った長さが正しいかを確かめ、目標容量・解像度・音声を決めます。
  3. 圧縮後に確認容量、文字、動き、音声を確かめてから、ダウンロードして送ります。

おすすめ設定

細かい文字を共有
元の解像度、必要部分だけ
文字が読めるかをプレビューで確かめます。容量に収めるために、動画を短くする方法もあります。
短い映像を容量指定で送る
上限の数字をそのまま目標に(Nitro なしなら 20MB)
映像と音声には目標の 95% を割り当て、出力のバイト数が目標以下かを確かめます。超えたら 1 回だけ作り直します。

うまくいかないとき

出力が上限を超える

原因:ビットレートやファイルの入れ物の大きさの変動、長さの入力ミスなどです。

対処:長さを確かめます。1回の自動再圧縮のあとも超えるときは、動画を短くするか目標を変えます。

サイズ内なのに送れない

原因:送信先の制限、権限、通信、サービスの状態など、原因はいくつか考えられます。

対処:Discordのエラー表示を確かめ、小さい別のファイルでも起きるかを試して切り分けます。

よくある質問

必ず指定容量に収まりますか?

いいえ。1回再圧縮しても超えることがあります。上限内かどうかは、実際の出力バイト数で判定します。

スマホで完了しますか?

メモリや動画、ブラウザによります。入力の上限の500 MB以内でも、成功するとは限りません。まず短い動画で試してください。

記録には何が入りますか?

入力と出力のバイト数、使った長さ、目標容量、実行したコマンド、終了コード、処理時間です。画質やDiscordへの送信が成功するかは確かめていません。

フレームレートも自動修正されますか?

いいえ。CFRに揃える設定はありません。可変フレームレート(VFR)や音ずれは、専用のツールで確かめてください。

くわしい説明(設定の意味・制限・FFmpeg のコマンド)

設定の意味

目標MBと長さ
1 MB = 1,000,000バイト。動画の長さは切り取り指定ではなく、計算用の値です。
容量に合わせる解像度
映像のビットレートが400kbps未満なら短い辺を最大480、1200kbps未満なら720、それ以上なら1080にします。元より大きくはしません。
映像のビットレートの上限
目標に対して動画が短いときは、出力の大きさに合わせた上限(480p まで 4000、720p まで 7500、1080p まで 12000 kbps など。YouTube が推奨するアップロード時の値)で止めるので、目標より小さく仕上がります。
音声
残す場合は128kbps、300秒を超える動画では64kbpsです。元に音声がなければ無音のままです。

使えるブラウザと制限

  • 入力は500 MBまで、長さは7200秒までです。端末によっては、もっと小さい動画でも失敗します。
  • 出力はMP4(H.264・AAC)です。HDRをSDRにきれいに変換すること、透過、すべての音声トラックを残すことはできません。
  • 広告・アクセス解析・プログラムの読み込みには通信を使いますが、動画ファイルは送信しません。

同じ処理を FFmpeg のコマンドで

10 MB・60秒のビットレート計算例
ffmpeg -i input.mp4 -map 0:v:0 -map 0:a:0? -c:v libx264 -b:v 1138k -maxrate 1252k -bufsize 2276k -preset fast -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4
10,000,000 × 0.95 × 8 ÷ 60 ÷ 1000 の切り捨て(1266)から音声の128kbpsを引いた計算例です。実際の容量ではありません。ツールの「容量に合わせる」では、この映像ビットレート(1200kbps未満)だと短い辺を720以下に縮小します。

計算値と実測値は違う

計算した設定で圧縮したあと、出力の実際のバイト数で上限内かを判定します。超えていれば1回だけ再圧縮し、そのコマンドと結果も記録に残します。記録(JSON)は保存でき、次に設定を選ぶときの参考にできます。

画質はバイト数だけでは決まりません。字幕や画面の文字が読めるか、激しい動き、話し声を確かめてください。容量に収まっても、読めない・聞き取れないなら目的を果たせません。

次にやること