Can't Decode H.265 / HEVC on Mac — How to Fix
H.265 (also called HEVC) is the codec inside most modern camera files: iPhone Pro recordings, Sony XAVC HS, Canon HEVC modes on the R5 / R6 II, GoPro Hero 10+ HQ modes, DJI Mavic 3 / 4. Most of the time it just plays. When it doesn't, the failure can be confusing because the symptoms range from a clean "not supported" error to glitched playback to silent black.
This page is about getting your H.265 file to play.
What's really happening
H.265 isn't a single thing. It's a family of profiles (Main, Main10, Main 4:4:4) and configurations. macOS supports H.265 from version 10.13 (High Sierra) onward, but with caveats:
- Apple Silicon (M1, M2, M3, M4) has hardware H.265 decode for all common profiles, including 10-bit Main10 (used by iPhone Pro and most modern cameras).
- Intel Macs (pre-2020) support H.265 in software for Main 8-bit profile only. Main10 (10-bit) plays inconsistently — often as black screen, sometimes glitchy, sometimes fine.
- Older macOS (pre-10.13) doesn't support H.265 at all.
- Some H.265 variants (Range Extensions, lossless profiles, specific 4:4:4 chroma) aren't supported on any Mac without third-party codec packs.
Diagnose your case
ffprobe -v error -show_streams broken.mov | grep -E "codec_name|profile|pix_fmt"
You'll see something like:
codec_name=hevc
profile=Main 10
pix_fmt=yuv420p10le
Cross-reference with:
| Profile | pix_fmt | Mac compatibility |
|---|---|---|
Main | yuv420p | Plays on Intel + Apple Silicon, macOS 10.13+. Fine. |
Main 10 | yuv420p10le | Plays on Apple Silicon, glitchy on Intel. |
Main 4:4:4 | yuv444p / yuv444p10le | Apple Silicon only, recent macOS. |
Main 4:2:2 | yuv422p10le | Apple Silicon only. |
If your profile / pix_fmt combination is in the "Apple Silicon only" rows and you're on Intel, that's why playback is broken.
What to do
Option A — transcode to H.264 (universal)
ffmpeg -i hevc_input.mov -c:v libx264 -crf 18 -pix_fmt yuv420p -c:a copy h264_output.mov
crf 18 keeps quality high. The output plays everywhere. The file will be larger than the H.265 original — that's the trade-off.
Option B — transcode to H.265 Main 8-bit (smaller, still wide compatibility)
ffmpeg -i hevc_main10.mov -c:v libx265 -profile:v main -pix_fmt yuv420p -crf 22 -c:a copy hevc_main8.mov
If you must stay in H.265 for storage reasons, this produces a file Intel Macs play. You lose 10-bit colour fidelity in the process.
Option C — VLC
VLC includes its own H.265 decoder (libde265 / dav1d-style internal decoder). Plays files macOS itself refuses. Free, official, doesn't require codec packs.
Option D — update the OS (Apple Silicon owners)
Recent macOS updates have improved Main 10 / 4:2:2 support. Worth a try before transcoding.
When this is actually a recovery case
Sometimes "can't decode H.265" isn't really a codec compatibility issue. It's the H.265 file itself being broken — and the player guesses at H.265 incompatibility because it can't decode the broken codec data.
Tell-tale signs of corruption rather than codec mismatch:
- File plays a few seconds and then stops.
- File shows wrong duration (often 0:00).
ffprobereturns "Invalid data found when processing input" rather than codec info.- VLC also can't play it.
- Other H.265 files from the same camera in the same mode play fine on the same Mac.
In that case, transcoding won't help — the source is broken. You need recovery.
How our recovery handles H.265 files
- Frame-level H.265 detection by NAL start codes (VPS, SPS, PPS, IDR markers).
- Codec parameter extraction from observed frames — works even when the codec parameter set at the file's start is damaged.
- Output is yuv420p H.264 for the 5-second preview, so the preview plays in any browser regardless of your Mac's H.265 capabilities.
- Full recovery preserves the original H.265 codec data — the recovered file is the same codec as the source. You can transcode if needed for compatibility.
What you do
If your file is broken (genuine recovery case):
- Upload it. Up to 50 GB.
- Free preview ~1 minute later. Preview is browser-safe regardless of source codec.
- Pay only if it works.
If your file plays in some apps but not QuickTime, transcode locally with FFmpeg and skip recovery. We'll only charge when there's actual recovery work to do.
FAQ
My iPhone 15 Pro / 16 Pro records HEVC by default. Can I change it? Yes — Settings → Camera → Formats → "Most Compatible" forces H.264. You'll get larger files; widely compatible.
My Sony A7S III XAVC HS files won't play on my older Mac. XAVC HS is H.265 Main 10. Same profile compatibility issue as above. Transcode to H.264 or upgrade to Apple Silicon.
Can I install an HEVC codec pack on Intel Mac for better support? Apple doesn't ship one. Third-party packs exist (Perian historically, more recently various wrappers around FFmpeg) but support has been spotty since 10.15. VLC is a more reliable path.
Is my footage safe? Server in France, auto-deleted after 48 hours, never used to train anything or shared. Privacy policy.
Related
- Black screen when playing video
- iPhone 15 Pro MOV won't open
- Sony A7S III corrupted MOV
- How our recovery engine works
Free preview · No commitment
Ready to recover your video?
Upload your file — get a free 5-second preview in about a minute. Pay only if the preview looks right.
Upload your video →