FFmpeg Cookbook
EN

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

X に投稿する 140 秒以内の動画を 6 つの項目で確かめ、直す必要がある部分だけ MP4 に変換します。

動画はサーバーに送られません
短尺動画向けの基本チェック

長さ 140 秒・H.264・yuv420p・AAC LC・40fps を基準に確かめます。40fps は X ヘルプにあるブラウザからの投稿の上限で、開発者向け資料の条件(60fps 以下)も満たします。読み込めるのは 500MB までで、X の上限(Premium なしで 512MB)より小さいため、容量を減らす処理はしません。Premium や投稿経路で条件は変わります。解像度・縦横比・アカウントの制限は確かめず、投稿の成功も保証しません。

X ヘルプ:動画の投稿 / X公式の長尺動画条件
動画をドラッグ&ドロップ、またはタップして選択
MP4 / MOV / MKV / WebM、最大 500MB
—
—

X 互換チェック

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

対応する FFmpeg コマンド

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

ffmpeg -hide_banner -i input.mp4 -map "0:v:0?" -map "0:a:0?" -sn -dn -c:v copy -c:a copy -map_metadata -1 -map_metadata:s -1 -map_chapters -1 -movflags +faststart x-ready.mp4

次に使うと便利なツール

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

使い方

  1. 動画を選択500MB までの動画を選びます。それより小さくても、端末のメモリが足りないと途中で失敗することがあります。
  2. 基本チェック「互換チェック実行」を押すと 6 項目を確かめます。140 秒を超える動画は変換できないので、先にトリムします。
  3. 変換して再生「X 投稿用に整形する」を押します。保存した動画を再生して、色・音声・容量を確かめます。

おすすめ設定

iPhone などの HEVC 動画
チェックしてから MP4 に変換
元の動画は残しておき、変換後の色と音声を確かめます。
140秒を超える動画
Premium でなければトリム
Premium なら長い動画も投稿できます(X ヘルプ)。

うまくいかないとき

チェック後も投稿できない

原因:本ツールは解像度・縦横比・ビットレート・アカウントの制限を確かめません。X ヘルプでは、ブラウザからの投稿は最大 1920×1200(縦長は 1200×1900)、縦横比 1:2.39〜2.39:1、最大 25Mbps とされています。

対処:投稿画面のエラー表示と X ヘルプを確認します。

HDRの色が薄い

原因:8 ビットへの変換は、HDR の色を SDR に合わせる処理(トーンマッピング)とは別です。

対処:元の動画を残し、トーンマッピングができるソフトで SDR に変換してから使います。

よくある質問

Premiumでも140秒・512MB?

いいえ。140 秒・512MB は Premium に加入していない場合の上限です。X ヘルプによると、Premium ではウェブと iOS で最長 4 時間・16GB まで(2 時間を超える動画は 720p)、Android で最長 10 分です。本ツールが扱うのは 140 秒以内の動画だけです。

チェック合格なら必ず投稿できる?

いいえ。確かめるのは 6 項目だけです。解像度・縦横比・アカウントの状態などは確かめません。

元ファイルと個人情報は?

元のファイルは変更せず、ブラウザの中で処理します(FFmpeg 本体の読み込みには通信が発生します)。保存名は固定で、タグやチャプターはコピーしません。ただし、映像に映った住所・顔・画面や、声は残ります。

画質は変わる?

映像を再エンコードすると、画質が落ちることがあります。コピーした映像・音声は変わりません。保存したあとに再生して確かめてください。

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

設定の意味

140秒・512MB
Premium に加入していない場合の、X の動画の上限です(X ヘルプ)。本ツールは 140 秒を超える動画を変換しません。読み込めるのは 500MB までなので、容量を減らす処理はしません。
H.264 / yuv420p / AAC LC
変換後の形式です。yuv420p は 8 ビット・4:2:0 の画素形式です。10 ビットの HDR 動画を 8 ビットにしても、HDR から SDR への色の変換(トーンマッピング)は行いません。
40fps
X ヘルプでは、ブラウザからの投稿は最大 40fps です(開発者向け資料の条件は 60fps 以下)。ブラウザからの投稿の上限に合わせて、40fps を超える動画はフレームを等間隔に間引いて 40fps 以下にします(60fps → 30fps、50fps → 25fps、120fps → 40fps)。fps を読み取れない動画は 40fps にします。

使えるブラウザと制限

  • 入力は 500MB まで。メモリの少ない端末では、途中で失敗することがあります。
  • 140 秒を超える動画は変換できません。解像度・縦横比・アカウントの制限は確かめません。
  • HDR の色の変換(トーンマッピング)や、顔・画面・声を隠す処理は行いません。

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

映像と音声を H.264 / AAC に変換(本ツールと同じ設定)
ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -sn -dn -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset veryfast -profile:v high -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -profile:a aac_low -map_metadata -1 -map_metadata:s -1 -map_chapters -1 -movflags +faststart output.mp4
本ツールは、映像がすでに H.264・yuv420p・40fps 以下なら映像を、音声が AAC-LC なら音声を、再エンコードせずにコピーします。scale は幅と高さを偶数にそろえる指定です。
8 ビットに変換(HDR のトーンマッピングではありません)
ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset veryfast -profile:v high -crf 23 -pix_fmt yuv420p -c:a copy -movflags +faststart output.mp4
60fps の動画を 30fps に変換
ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -vf "fps=30,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset veryfast -profile:v high -crf 23 -pix_fmt yuv420p -c:a copy -movflags +faststart output.mp4
1 フレームおきに残すので、動きの間隔は均一なままです。
140 秒以内に切る(再エンコードなし)
ffmpeg -i input.mp4 -t 139 -c copy output_trimmed.mp4
再エンコードしないので速く、画質も変わりません。切れ目が少しずれることがあるので、139 秒で切っています。出力の長さを確かめてください。

X の上限と、このツールで確かめる範囲

確認日 2026-09-25。X ヘルプによると、Premium に加入していない場合は 140 秒・512MB まで、Premium ではウェブと iOS で最長 4 時間・16GB まで(2 時間を超える動画は 720p)、Android で最長 10 分です(X公式の長尺動画案内、X ヘルプ:動画の投稿)。ブラウザからの投稿は、最大 1920×1200(縦長は 1200×1900)・40fps・25Mbps とされています。

本ツールが確かめるのは、FFmpeg で読み取れる 6 項目だけです。投稿する前に、容量だけでなく色・音声と、公開してよい内容かも確かめてください。