FFmpeg Cookbook

X (Twitter) 動画圧縮・要件チェッカー

X の公式動画要件を自動チェックし、違反箇所だけを最小限の処理で修正します。

完全ローカル処理 — ファイルは外部送信なし
📋 X の動画要件(非 Premium 投稿)
🐦
動画をドラッグ&ドロップ、またはタップして選択
MP4 / MOV / MKV / WebM、最大 500MB
🎬

X 互換チェック

尺(≤ 140秒)
サイズ(≤ 512MB)
映像コーデック
Pixel Format
音声コーデック
フレームレート(≤ 60fps)
処理中… 0%

次に使うと便利なツール

よく使われる用途
X (Twitter) 投稿要件の自動チェックHEVC/HDR動画のyuv420p変換60fps超動画のキャップ

このツールでできること

  • X の公式要件 6 項目を自動チェック(尺・サイズ・コーデック・pix_fmt・音声・fps)
  • 違反項目をハイライトし、何が問題かを一目で把握できる
  • 修正可能な項目だけ自動で直す — 既に要件を満たす項目は無劣化コピー
  • 512MB を超えるサイズはビットレートを動画長から逆算(安全係数 0.95)
  • H.264 High Profile + yuv420p + AAC LC 128k + faststart で書き出し
  • 尺が 140 秒超なら自動修正不可と明示 — トリムツールへの導線あり

使い方

  1. 1

    動画を追加

    動画ファイル(最大 500MB)をドラッグ&ドロップ、または選択します。

  2. 2

    互換チェック実行

    X の 6 つの要件を一括チェック。違反項目があれば自動修正プランが表示されます。

  3. 3

    尺超過なら先にトリム

    140 秒を超える場合は自動修正できません。トリムツールへ進んでから本ツールに戻ってください。

  4. 4

    X 投稿用に整形 → ダウンロード

    違反項目だけ最小限の処理で修正し、X-ready の MP4 を生成します。

入力項目の意味

尺(≤ 140秒)
非 Premium の X 投稿は 140 秒(2分20秒)が上限。超過は投稿時に弾かれます。本ツールでは自動修正対象外(先にトリムが必要)。
サイズ(≤ 512MB)
X の動画ファイル上限は 512MB。超過時は動画長から逆算してビットレートを設定し、512MB 内に収めます。
映像コーデック
X が公式に推奨するのは H.264 High Profile。HEVC / VP9 / AV1 などは libx264 で再エンコードします。
Pixel Format(yuv420p)
X は 4:2:0 8bit(yuv420p)のみ受け付けます。10bit / 4:2:2 / 4:4:4 はそのままだと弾かれるため変換します。
音声コーデック(AAC LC)
X が推奨するのは AAC LC(Low Complexity)。HE-AAC / Opus / MP3 / PCM は AAC LC へ再エンコードします。
フレームレート(≤ 60fps)
60fps 超は X の仕様外。fps フィルタで 60fps にキャップします。

おすすめ設定

4K HDR スマホ動画を X に投稿したい
互換チェック → 自動修正(H.264 / yuv420p / 512MB へビットレート逆算)
10bit HDR は X に弾かれるため変換が必須。本ツールが必要箇所だけ自動処理します。
iPhone HEVC(H.265)動画を X に投稿
互換チェック → 自動修正(H.264 へ変換)
X は H.264 のみ。HEVC のままだと投稿に失敗します。
長尺動画を X 用に切り抜きたい
先にトリムツールで 140 秒以内に → 本ツールで整形
X は 140 秒厳守。トリム後に互換チェックを通すのが確実なフロー。
120fps の iPhone スローモーション動画
互換チェック → 自動修正(60fps にキャップ)
60fps 超は仕様外。fps フィルタで 60fps に揃えます。
すでに H.264 + AAC で 512MB 以内
互換チェック → 自動修正(faststart 付与のみ)
要件をすべて満たしている場合は再エンコードせず、faststart MP4 として書き出すだけで完了。

よくある失敗と対処

症状:X に投稿したら「メディアファイルを処理できませんでした」

原因:pix_fmt、コーデック、ビットレート、音声プロファイルなど 1 項目でも違反があると弾かれます。

対処:本ツールの互換チェックで原因を特定し、自動修正してください。

症状:尺が 141 秒で投稿できない

原因:小数点以下の誤差。X は 140.0 秒ジャストまで。

対処:トリムツールで 139 秒程度に切ると安全マージンができます。

症状:修正後もサイズが 512MB を超える

原因:入力が非常に長い動画でビットレート逆算が下限に張り付いた可能性。

対処:先に解像度を下げる(720p / 540p)か、尺を短くしてください。

症状:Premium アカウントで上限が違うのでは?

原因:X Premium は最大 3 時間・最大 8GB の動画投稿が可能になります。

対処:Premium 投稿用ツールは別途必要(本ツールは非 Premium 用)。

症状:カラーがおかしくなる

原因:HDR → SDR トーンマッピングが行われていない。

対処:本ツールは pix_fmt の変換は行いますが、HDR トーンマッピングは別問題。色補正専用ツールが必要です。

相当する FFmpeg コマンド例

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

X 要件をすべて満たすフル変換(512MB ターゲット)
ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -c:v libx264 -preset veryfast -profile:v high -pix_fmt yuv420p -b:v 4500k -maxrate 4950k -bufsize 9000k -c:a aac -b:a 128k -profile:a aac_low -movflags +faststart output.mp4
60秒動画で 512MB を狙ったビットレート。
pix_fmt のみ修正(HDR 動画→ 8bit)
ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -c:v libx264 -preset veryfast -profile:v high -pix_fmt yuv420p -c:a copy -movflags +faststart output.mp4
映像のみ再エンコ、音声はコピー。
60fps にキャップ
ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -vf "fps=60" -c:v libx264 -preset veryfast -profile:v high -pix_fmt yuv420p -crf 23 -c:a copy -movflags +faststart output.mp4
尺超過のため先にトリム
ffmpeg -i input.mp4 -t 139 -c copy output_trimmed.mp4
安全マージンで 139秒に。その後本ツールにかける。

対応ブラウザ・制限

  • 最大入力ファイルサイズ:500MB(ブラウザ完結処理)
  • 140秒超の動画は自動修正対象外(先にトリムが必要)
  • X Premium の長尺投稿(3時間・8GB)には対応していません
  • HDR → SDR のトーンマッピング(色補正)は対象外

プライバシーについて

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

よくある質問(FAQ)

X の動画投稿要件はどこに書いてある?

X (Twitter) Help Center および X API Documentation の Media Upload best practices に記載されています。本ツールはそれらに準拠しています。

Premium(旧 Blue)だとどうなる?

Premium は最大 3 時間・最大 8GB のロング動画が投稿できます。本ツールは非 Premium(140秒・512MB)に最適化しているため、Premium 投稿には汎用の compress ツールを使ってください。

なぜ H.264 High Profile が指定?

X が公式に互換性を保証しているプロファイル。Main や Baseline でも投稿は通りますが、High が最も安定しているため本ツールは High を出力します。

pix_fmt の 10bit / 12bit は本当にダメ?

はい。X は 8bit yuv420p のみ受け付けます。iPhone の HDR 動画(yuv420p10le)はそのままアップロードすると弾かれます。

HE-AAC でも投稿できるのでは?

一部環境では通りますが、X 公式は AAC LC を推奨しています。HE-AAC は再生環境で問題が出ることがあるため、本ツールは LC に変換します。

60fps を超える動画を 60fps に落とすと画質劣化する?

fps フィルタによる時間的な間引きが入ります。スポーツ・ゲーム動画では動きが滑らかさに影響する場合がありますが、X 投稿には必須の処理です。

アップロードされる?

されません。すべての処理はブラウザ上で完結し、ファイルは外部送信されません。

関連ツール

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

X が動画を弾く 6 つのチェックポイントの裏側

X のアップロードパイプラインは、ファイルが投稿サーバーに届いた直後に 6 つの自動チェックを並列実行します:(1) ファイルサイズ(非 Premium は 512MB、Premium は 8GB)、(2) 再生時間(非 Premium 140 秒、Premium 3 時間)、(3) 映像コーデック(H.264 High Profile のみ ── HEVC・VP9・AV1 は拒否)、(4) ピクセルフォーマット(4:2:0 8bit yuv420p のみ ── 10bit HDR は拒否)、(5) 音声コーデック(AAC LC ── HE-AAC・Opus・MP3 は拒否される実装事例あり)、(6) フレームレート(60fps 以下)。

6 項目のうち 1 つでも違反するとアップロードは却下されますが、X の UI 側のエラーメッセージは「メディアファイルを処理できませんでした」という汎用文言で、どの項目が問題かは教えてくれません。本ツールの preflight チェッカーは、アップロード前にローカルで 6 項目すべてを検証し、違反項目を個別に表示します。これにより「何度アップロードしても失敗する」状況を解決できます。

なぜ X は H.264 High Profile + yuv420p しか受け付けないのか

X が映像コーデックを H.264 High Profile + yuv420p に厳格に限定している背景には、配信側の効率と再生互換性のトレードオフがあります。X はタイムラインに表示される動画を即時にプレビュー再生する必要があり、視聴者の OS・ブラウザ・デバイスの組み合わせは事実上無限です。HEVC は Apple 系で再生できるが Android・Windows の一部で失敗、VP9 は Chrome・Android で快適だが Safari で問題、AV1 は最新のハードウェアでないと CPU デコードで負荷が高い ── 結果として「全ての視聴者で確実に再生できる」最大公約数が H.264 High Profile となります。

pix_fmt の制限はさらに厳しく、10bit HDR(yuv420p10le, yuv422p10le)は色域マッピングと帯域の問題で拒否されます。iPhone の Pro モデルが標準で HDR 撮影するため、撮ったまま投稿しようとして失敗するパターンが急増しています。本ツールは pix_fmt 違反を検知すると、libx264 で 8bit yuv420p に変換するため、HDR iPhone 撮影分も X に投稿可能になります(ただしトーンマッピングは行わないため、色がやや薄く見えることがあります)。

X Premium で何が変わるのか — 非 Premium ユーザーの戦略

X Premium(旧 Twitter Blue)に加入すると動画制限は劇的に緩和されます:最大 3 時間(10800 秒)、最大 8GB、長時間動画の収益分配対象。本ツールは非 Premium 向け(140 秒 / 512MB)に最適化していますが、Premium ユーザーで長尺をアップロードする場合は本ツールの代わりに [汎用圧縮ツール](/ja/tools/compress/) で任意ターゲットを指定する方が柔軟です。

非 Premium ユーザーが効果的に動画を運用する戦略:(1) 140 秒に収まる「ハイライト」「ショート」コンテンツに特化、(2) 長尺は YouTube・TikTok に投稿し X はリンク誘導、(3) 連続ツイート(スレッド)で複数 140 秒動画を時系列で繋ぐ。本ツールは戦略 (1) の実装を支援します。本ツールの compliance チェッカーで「すべて合格」になった動画は、X のアルゴリズムに弾かれず最初の試みでアップロードが通るため、撮影 → 投稿のリードタイムが大幅に短縮されます。