Mobile Video Playback Fixer
Analyze a phone video and fix playback issues on PC (Windows / Chrome) with the smallest necessary change.
Local processing only — your file never leaves the browserSettings
—
Useful next tools
What this tool does
- Auto-selects the minimal fix: remux (`-c copy`) / AAC-only / H.264-only / full transcode
- Detects HEVC (H.265), VP9, AV1, ProRes, DNxHR and other incompatible codecs
- Solves the iPhone portrait "plays sideways" problem (metadata-only or burn-in)
- Handles `hvc1` vs `hev1` tagging automatically (Apple mode rewrites to hvc1)
- Shows the exact FFmpeg command — easy to reproduce on CLI or batch
How to use
- 1
Add your video
Drop a video file (up to 500 MB) or pick one from your device.
- 2
Click "Analyze video"
Reads container, codecs, and rotation, then shows the recommended fix.
- 3
Pick a target
Windows / Chrome (recommended) or Apple (keep HEVC).
- 4
Fix & download
Progress bar updates live, then download the fixed MP4 and copy the command if needed.
What each setting means
Recommended settings
Common pitfalls
Symptom: Want to keep HEVC and guarantee Windows playback
Cause: Windows / browser HEVC support depends on OS, codec extensions, and GPU.
Fix: Not reliable. For "guaranteed" playback, use the Windows target and convert to H.264.
Symptom: Portrait video rotates twice after burning
Cause: Applying transpose without `-noautorotate` causes FFmpeg to auto-rotate AND apply the filter.
Fix: The tool adds `-noautorotate` automatically. If you reproduce on CLI, do the same.
Symptom: Re-encoding is slow
Cause: Re-encode time scales with input size and CPU.
Fix: Try remux first (when the analysis shows "A_REMUX") and re-encode only what's necessary.
Symptom: Colors look washed out or blown out
Cause: HDR → SDR tone mapping is a separate problem from playback compatibility.
Fix: This tool focuses on playback. HDR correction will be added in a future tool.
Symptom: Files over 500 MB are rejected
Cause: Browser memory limit.
Fix: Trim first or use desktop FFmpeg for large inputs.
Equivalent FFmpeg commands
Reference commands you can run on the desktop FFmpeg CLI.
ffmpeg -i input.mov -map 0:v:0? -map 0:a:0? -c copy -movflags +faststart output.mp4ffmpeg -i input.mov -map 0:v:0? -map 0:a:0? -c copy -tag:v hvc1 -movflags +faststart output.mp4ffmpeg -i input.mov -map 0:v:0? -map 0:a:0? -c:v libx264 -preset veryfast -crf 23 -pix_fmt yuv420p -c:a aac -b:a 192k -movflags +faststart output.mp4ffmpeg -noautorotate -i input.mp4 -map 0:v:0? -map 0:a:0? -vf "transpose=1" -metadata:s:v:0 rotate=0 -c:v libx264 -preset veryfast -crf 23 -pix_fmt yuv420p -c:a copy -movflags +faststart output.mp4Browser support & limits
- Max input size: 500 MB (browser-only processing)
- Targets playback compatibility, not HDR tone mapping or advanced restoration
- Keeping HEVC does not guarantee Windows / browser playback (environment-dependent)
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
Why can an MP4 still fail to play?
MP4 is a container. The internal codecs matter. HEVC / VP9 / AV1, HE-AAC / Opus / PCM audio, or rotation metadata can break playback on some systems.
What is remux (-c copy)? Does it reduce quality?
Remux rewrites the container while copying streams as-is. No re-encoding, so no quality loss.
Why does portrait video sometimes play sideways?
Phones often store orientation as metadata. Some players ignore it. Burning orientation into pixels fixes it more reliably.
What's the difference between hvc1 and hev1?
Both are HEVC in MP4, but the tag indicates different parameter set storage. Apple workflows often require `hvc1`.
Can I fix audio only?
Yes. If video is already compatible, the tool keeps it as-is and only transcodes audio to AAC.
Is my file uploaded?
No. Everything runs locally in your browser.
Can it fail?
Yes — corrupt inputs, unusual stream layouts, or memory constraints can cause failures. Try a shorter clip first.
Can I reuse the command on CLI?
Yes. The exact FFmpeg command is shown after the fix. Copy and run it locally to reproduce or batch.