FFmpeg Cookbook
JA

X (Twitter) Video Compressor

Check a short video and make an MP4 sharing copy for X using a 140-second / 512MB preset. This does not check every upload rule or account restriction, and cannot guarantee acceptance.

Fully local processing — your file never leaves the browser
Basic checks for short videos

This tool uses a 140-second / 512MB / H.264 / yuv420p / AAC LC / 60fps preset. Premium and upload routes differ. It does not check every resolution, aspect-ratio or account rule, or guarantee acceptance.

Official X longer-video conditions
🐦
Drag & drop a video, or tap to select
MP4 / MOV / MKV / WebM, up to 500 MB
🎬

X compliance check

Duration (≤ 140s)
File size (≤ 512MB)
Video codec
Pixel format
Audio codec
Frame rate (≤ 60fps)
Processing… 0%

Useful next tools

Popular uses
Auto-check X (Twitter) post complianceHEVC/HDR yuv420p conversionCap videos above 60fps

What this tool does

  • Basic duration, size, codec, pixel-format, audio and fps checks
  • Convert streams that need changes and copy compatible streams
  • Neutral download name with automatic tag and chapter copying suppressed

How to use

  1. 1

    Choose a video

    Select a video up to 500MB. Even smaller inputs can exceed device memory.

  2. 2

    Check basic properties

    Inspect formats and duration. Trim above 140 seconds, unless a Premium long-video workflow fits your account.

  3. 3

    Convert and play

    Check the saved copy's color, sound and size, and the current limits shown by your X upload screen.

What each setting means

140 seconds / 512MB
This tool's short-video preset, not a universal Premium or upload-route limit.
H.264 / yuv420p / AAC LC
Compatibility output formats. An 8-bit conversion does not tone-map HDR to SDR.
60fps
The tool's cap. Higher or unreadable frame rates trigger conversion to 60fps.

Recommended settings

An HEVC sharing copy
Check, then convert to MP4
Keep the original and inspect color and sound afterward.
More than 140 seconds
Trim for a non-Premium short post
Check Premium account limits before shortening a video unnecessarily.

Common pitfalls

Symptom: A checked video is rejected

Cause: Resolution, aspect ratio, connectivity and account restrictions are not fully checked.

Fix: Read the upload error and official help.

Symptom: HDR colors look faded

Cause: Pixel-format conversion is separate from HDR tone mapping.

Fix: Keep the original and create a properly tone-mapped copy.

Equivalent FFmpeg commands

Reference commands you can run on the desktop FFmpeg CLI.

Historical log: 2026-09-11, 4 successful example executions and 0 excluded (desktop FFmpeg 8.1, fixtures). This log does not verify later edits, browser controls or visual quality.

H.264 / AAC sharing copy
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
For 60 seconds, 4500k video plus 128k audio calculates to about 34.71MB before container overhead. Not a measurement or a 512MB bitrate target.
Convert to 8-bit (not HDR tone mapping)
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
Convert to 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
Short stream-copy example
ffmpeg -i input.mp4 -t 139 -c copy output_trimmed.mp4
Stream-copy cuts have keyframe and timestamp constraints. Inspect output duration; re-encode for exact boundaries.

Browser support & limits

  • 500MB input cap; completion is not guaranteed on low-memory devices.
  • Premium long video, resolution/aspect ratio and account restrictions are not fully checked.
  • No HDR tone mapping, face tracking, screen anonymization or voice removal.

Privacy

This tool runs ffmpeg.wasm directly in your browser. Files never leave your device — everything runs locally. Read the privacy policy →

Frequently asked questions

Does Premium also stop at 140 seconds / 512MB?

No. These are short-video tool settings. Longer-video conditions vary by device, duration and resolution; check the official help below.

Do passing checks guarantee acceptance?

No. Six local checks do not reproduce X's unpublished rules or account state.

What about my original and private information?

Processing runs in your browser without changing the original. Library downloads use external connections. The output uses a neutral name and suppresses automatic tag and chapter copying, but visible addresses, faces, screens and speech remain.

Does quality change?

Re-encoding can reduce quality; copied streams are not re-encoded. Play the saved file before sharing.

Related tools

Related FFmpeg recipes

In depth: context unique to this tool

Separate upload conditions from local analysis

Checked 2026-09-10. X's official longer-video help describes a 140-second non-Premium limit and different Premium conditions by device and quality. The 512MB setting here is a fixed short-video preset.

This tool reads properties from FFmpeg analysis. It does not know X's internal check order or unpublished rules. Before sharing, inspect picture, sound and whether the content is appropriate to publish, as well as size.