Convert HEVC to M4V — Free Online Tool
Convert HEVC/H.265 video files to Apple's M4V container format, re-encoding the video stream from H.265 to H.264 (libx264) for maximum iTunes and iOS compatibility. This conversion trades the superior compression efficiency of H.265 for the near-universal hardware decoding support that H.264 enjoys across Apple devices and legacy players.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your HEVC file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
HEVC/H.265 raw streams must be fully decoded and re-encoded during this conversion — this is not a simple remux. The H.265 video is decoded frame-by-frame and re-encoded to H.264 using libx264, which is the codec expected by iTunes, iOS devices, and Apple TV. Because raw HEVC files typically carry no audio, the tool wraps the transcoded video into the M4V container with an AAC audio track ready for any audio stream present. The -movflags +faststart flag reorganizes the MP4/M4V metadata to the front of the file, enabling progressive streaming playback before the full file is downloaded. The CRF 23 setting for H.264 produces visually transparent quality for most content, though the output file will be noticeably larger than the source HEVC because H.264 requires more bits to represent the same visual quality.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that handles all decoding, encoding, and container operations in this conversion pipeline. |
-i input.hevc
|
Specifies the input file, a raw HEVC/H.265 elementary stream. FFmpeg will detect the H.265 bitstream and use the libx265 decoder to read it frame by frame for re-encoding. |
-c:v libx264
|
Sets the output video codec to H.264 using the libx264 encoder. This transcodes every video frame from H.265 to H.264, which is the codec required for full iTunes, iOS, and legacy Apple device compatibility within the M4V container. |
-c:a aac
|
Encodes the audio stream to AAC (Advanced Audio Coding) using FFmpeg's native AAC encoder. AAC is the standard audio codec for M4V and is required for iTunes and Apple ecosystem playback; this flag ensures the container has a valid audio track even when the source HEVC carried none. |
-crf 23
|
Sets the Constant Rate Factor for libx264 to 23, which is the H.264 default and produces a good balance of visual quality and file size. Unlike the source HEVC (which may have been encoded at CRF 28), H.264 at CRF 23 requires more bits for equivalent quality, so output files will typically be larger than the input. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, which is the standard target for stereo AAC audio and is transparent for most listening environments. This is the audio quality level used by iTunes for standard-definition purchases. |
-movflags +faststart
|
Relocates the MP4/M4V moov atom (the file's index and metadata block) to the beginning of the file after encoding completes. This is essential for web and streaming playback of M4V files because players can begin rendering video before the entire file is downloaded. |
output.m4v
|
Specifies the output filename with the .m4v extension, which signals to FFmpeg to wrap the encoded H.264 video and AAC audio in Apple's M4V container format — a variant of MPEG-4 used for iTunes-compatible video. |
Common Use Cases
- Preparing H.265 encoded video for import into iTunes or the Apple TV app, which have historically preferred or required H.264 in M4V packaging
- Making HEVC drone or camera footage compatible with older iOS devices (iPhone 6 and earlier) or Apple TV generations that lack hardware H.265 decoding
- Converting H.265 content for upload to iTunes Store or Apple's transactional video platforms that mandate H.264-in-M4V delivery
- Editing raw HEVC footage in older versions of Final Cut Pro or iMovie that do not natively support H.265 input
- Distributing video to clients or colleagues who use Apple ecosystems and experience playback issues with raw .hevc files
- Re-packaging H.265 video into M4V so it can carry chapter markers and multiple audio tracks for structured long-form content like lectures or films
Frequently Asked Questions
H.265 (HEVC) was specifically engineered to deliver the same perceptual quality as H.264 at roughly half the bitrate. When you re-encode from H.265 to H.264 at CRF 23, H.264 simply needs more bits to represent the same image detail. This size increase is expected and normal — it is not a flaw in the conversion. If file size is a concern, you can raise the CRF value (e.g., to 28) to reduce bitrate at the cost of some quality.
The conversion will process 4K HEVC content, but HDR metadata (HDR10, Dolby Vision, or HLG tone-mapping data) will not be correctly preserved when re-encoding to H.264 in M4V. H.264 has limited standardized HDR support, so HDR content will typically be tone-mapped or display incorrectly. For 4K SDR HEVC content, the output will be a fully valid 4K H.264 M4V file, though encoding time will be significantly longer.
Yes — M4V technically supports H.265 video. To do this, change -c:v libx264 to -c:v copy in the FFmpeg command if your source is already H.265, or to -c:v libx265 to re-encode as H.265. However, be aware that M4V files containing H.265 are not compatible with iTunes, older Apple devices, or many Apple-ecosystem tools that strictly expect H.264. The default in this tool uses libx264 specifically for maximum Apple compatibility.
The -crf 23 flag controls H.264 quality using Constant Rate Factor. Lower values mean higher quality and larger files (CRF 18 is near-visually lossless), while higher values reduce file size at the cost of quality (CRF 28 is noticeably compressed). For most content, CRF 18–23 is an excellent range. You can also adjust audio bitrate by changing -b:a 128k to values like 192k or 256k for higher-fidelity audio, or 96k to save space.
M4V fully supports chapters and multiple audio tracks as a container format, and the -movflags +faststart flag in this command is compatible with those features. However, raw .hevc files almost never carry chapter metadata or multiple audio tracks — those structures exist at the container level, not in a bare elementary stream. If your HEVC is wrapped in another container that has chapters, you would need to extract and re-map those streams explicitly in FFmpeg.
Yes. On Linux or macOS, you can loop over files in a directory with a shell command: for f in *.hevc; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.hevc}.m4v"; done. On Windows PowerShell, use: Get-ChildItem *.hevc | ForEach-Object { ffmpeg -i $_.FullName -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart ($_.BaseName + '.m4v') }. Note that each file will be fully re-encoded, so batch processing is CPU-intensive.
Technical Notes
Raw HEVC (.hevc) files are elementary streams — they contain no container structure, meaning they carry no audio tracks, no metadata, no chapters, and no timing information beyond what is embedded in the NAL units of the H.265 bitstream itself. This means the M4V output will have video only unless an audio source is explicitly mapped, which is why the default AAC audio track at 128k is included as a structural placeholder. The transcoding from libx265 to libx264 is computationally expensive because every frame must be fully decoded and re-encoded — there is no stream copy shortcut available here since the codecs differ. Quality-wise, going from a lossy H.265 encode to a lossy H.264 encode is a generation loss: artifacts from the first encode can be amplified by the second. To minimize generational quality loss, use a lower CRF value (18–20) when the source HEVC was itself encoded with quality constraints. The -x265-params log-level=error flag used during HEVC input parsing suppresses verbose libx265 diagnostic output without affecting decode quality. M4V is functionally identical to MP4 at the byte level; the .m4v extension is Apple's convention signaling iTunes-managed or DRM-capable content, and most players that support MP4 will play M4V without issue.