Convert M4V to AVI — Free Online Tool
Convert M4V files from iTunes or iOS to AVI format, transcoding the H.264 video stream and re-encoding the AAC audio to MP3 using the LAME encoder. This is especially useful for playing Apple video content in legacy media players and older Windows software that don't recognize the M4V container.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your M4V 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
M4V is Apple's MPEG-4 container — structurally similar to MP4 but with optional FairPlay DRM and iTunes-specific metadata. During this conversion, the H.264 video stream is re-encoded using libx264 with a CRF quality setting, and the AAC audio track is transcoded to MP3 using the LAME encoder, since AVI does not natively favor AAC. The M4V container's Apple-specific metadata (iTunes tags, chapter markers, and multiple audio tracks) is discarded in the process, as AVI has no mechanism to store them. The result is a widely compatible AVI file suitable for legacy Windows applications, older smart TVs, and hardware media players that predate modern container support.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary. In this browser tool, this runs as FFmpeg.wasm compiled to WebAssembly, executing entirely in your browser with no server involvement. The same command works identically in a desktop FFmpeg installation. |
-i input.m4v
|
Specifies the input file — your M4V source, which may contain H.264 or H.265 video, AAC or MP3 audio, iTunes metadata, chapters, and optionally FairPlay DRM. FFmpeg reads the container structure and demuxes the streams for processing. |
-c:v libx264
|
Re-encodes the video stream using the libx264 H.264 encoder, which is the default and most compatible video codec for AVI output. Even if the source M4V already contains H.264 video, the stream must be re-encoded because the container framing and encoding context change between M4V and AVI. |
-c:a libmp3lame
|
Transcodes the audio from the M4V's native AAC format to MP3 using the LAME encoder — the gold-standard open-source MP3 encoder. MP3 is used here rather than AAC because it is the universally expected audio format for AVI files across legacy players, hardware devices, and older editing applications. |
-crf 23
|
Sets the Constant Rate Factor for libx264 video quality, where lower values mean higher quality and larger files. CRF 23 is the FFmpeg default and produces a reasonable balance for general-purpose conversion of iTunes M4V content; use CRF 18 if preserving visual quality is a priority. |
-b:a 128k
|
Sets the MP3 audio bitrate to 128 kilobits per second, a standard quality level suitable for most speech and music content. Since the audio is being transcoded from AAC (not simply copied), this controls the quality of the newly encoded MP3 track in the AVI output. |
output.avi
|
Specifies the output filename and triggers FFmpeg to use the AVI muxer based on the .avi extension. The resulting file will be an OpenDML AVI container holding H.264 video and MP3 audio, without any of the original M4V's iTunes metadata, chapters, or subtitle tracks. |
Common Use Cases
- Playing iTunes-purchased or synced M4V video on older Windows Media Player versions or legacy DirectShow-based software that cannot parse the M4V container
- Loading Apple TV show or movie downloads into older video editing software like early versions of Vegas Pro or VirtualDub that only accept AVI input
- Preparing M4V video content for playback on older Android-based media boxes or DVD players with USB ports that support AVI but not MP4/M4V
- Archiving iTunes video content into AVI format for long-term storage on systems configured around legacy Microsoft multimedia infrastructure
- Sending video clips recorded on an iPhone (saved as M4V) to colleagues or clients who rely on Windows-based tools that specifically require AVI files
- Stripping Apple-container dependencies from instructional or training video downloads so they can be ingested into corporate media management systems built around AVI workflows
Frequently Asked Questions
Yes, some quality loss is expected because both the video and audio are re-encoded rather than simply remuxed. The H.264 video is decoded from its original M4V encoding and re-encoded again using libx264 at CRF 23, and the AAC audio is transcoded to MP3 at 128k. Each generation of lossy encoding introduces some degradation. Keeping the CRF value low (e.g., 18) and the audio bitrate high (e.g., 192k or 320k) will minimize visible or audible quality loss.
All of it is lost. M4V supports iTunes metadata tags, chapter markers, closed captions, and multiple audio tracks — none of which the AVI container can store. AVI has no chapter system, no subtitle track support, and very limited metadata fields. If your M4V file contains foreign-language audio tracks or embedded subtitles, those will be dropped and only the first (default) audio track will be encoded into the AVI output.
No. M4V files protected with Apple's FairPlay DRM cannot be decoded or converted by FFmpeg or any browser-based tool. The conversion will fail or produce a file with no usable video. Only DRM-free M4V files — such as those you've ripped yourself, received from a production workflow, or downloaded from DRM-free sources — can be processed. iTunes movies and TV shows purchased before Apple removed DRM may also be protected.
While AVI technically supports AAC audio in some implementations, MP3 (via the LAME encoder) is the historically standard and most universally compatible audio format for AVI containers. Legacy players, hardware devices, and older editing tools that accept AVI almost universally expect MP3 audio. Embedding AAC inside AVI can cause playback failures or audio sync issues in many of those environments. The libmp3lame encoder at 128k is a safe default that balances compatibility and quality.
To improve video quality, lower the CRF value — for example, replace '-crf 23' with '-crf 18' for noticeably better quality at the cost of a larger file. CRF 0 is mathematically lossless for x264. To improve audio quality, increase the bitrate by replacing '-b:a 128k' with '-b:a 192k' or '-b:a 320k'. For files where file size matters more than quality, raise the CRF (e.g., '-crf 28') and lower the audio bitrate (e.g., '-b:a 96k').
Yes. On Linux or macOS, you can run a shell loop: 'for f in *.m4v; do ffmpeg -i "$f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "${f%.m4v}.avi"; done'. On Windows Command Prompt, use: 'for %f in (*.m4v) do ffmpeg -i "%f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "%~nf.avi"'. This is especially useful for batch-converting a library of iTunes downloads, and is the recommended approach for files over 1GB since this browser tool supports files up to 1GB.
Technical Notes
M4V and AVI represent two very different eras of container design. M4V is a modern ISOBMFF-derived format with rich metadata support, streaming optimization via 'moov' atom placement, and DRM integration, while AVI is a 1990s-era RIFF-based container with minimal metadata capability and no native streaming support. The FFmpeg conversion pipeline must fully decode and re-encode both streams: the H.264 video (since the codec is preserved but the container framing changes and encoding parameters are reset) and the audio (since AAC is transcoded to MP3). One important limitation is that AVI uses a fixed frame rate assumption in its index structure, so M4V files with variable frame rates — common in screen recordings or iPhone videos — may exhibit audio/video sync drift in the AVI output. If sync issues occur, adding '-vsync cfr' to the command forces a constant frame rate. Additionally, AVI has a theoretical 2GB file size limit under the original specification, though OpenDML extensions (automatically used by FFmpeg for larger files) extend this. Files with multiple audio tracks will silently drop all but the default track.