- You have a video in an obscure or poorly-supported container (
.flv, .avi, .wmv, .rmvb, .ts, .m2ts)
- You need the file to play on a device you do not control (a client's laptop, a classroom TV, a conference room projector)
- You need to upload to a web platform, social media site, or video hosting service
- You are sharing with someone who is not technically savvy
- You want a reliable archive copy in a well-understood format
- You have an MKV with H.264 video and AAC audio already inside — you can remux (change container only) rather than re-encode, which is faster and lossless
- Your source is already H.264 + AAC in an MP4 container — re-encoding the same codec introduces quality loss for no benefit. Use a remux tool or online converter that detects the codec and stream-copies instead of re-encodes.
- You need small file sizes for 4K content — H.265 (HEVC) achieves the same quality at roughly half the bitrate. For 4K archiving, H.264 produces large files.
- You need to keep multiple audio tracks, subtitles, or chapters — MP4 supports multiple audio tracks but subtitle format support is limited. MKV is better for content with multiple embedded streams.
- You need professional editing quality — use a lossless or ProRes format, not H.264, as your editing master.
VLC's conversion feature is buried under a misleading menu item — it says "Convert/Save" which sounds like a file manager operation. Here is the full walkthrough.
- Open VLC. Do not open the video file first.
- Go to Media → Convert/Save (or press
Ctrl+R).
- In the "Open Media" dialog, click Add and select your source file.
- Click the Convert/Save button (not "Play").
- In the "Convert" dialog:
- Under Profile, select Video - H.264 + AAC (MP4) from the dropdown.
- Under Destination, click Browse and choose where to save the output file. Make sure the filename ends in
.mp4.
- Click Start.
VLC will show a progress bar in the main window. The video playback controls will move as the conversion processes. Do not close VLC until it finishes.
The steps are identical but the menu path is slightly different:
- Open VLC.
- Go to File → Convert / Stream.
- Drag your source file into the "Convert & Stream" window.
- Click Customize next to the profile if you want to adjust settings, or leave the default profile selected.
- Under "Choose Profile", select Video - H.264 + AAC (MP4).
- Click Save as File, choose a destination, and click Go!.
When you click the wrench/edit icon next to the profile in VLC, the profile editor shows three tabs: Encapsulation, Video codec, and Audio codec.
This sets the container. For this profile it is MP4/MOV — do not change it for this workflow.
Key settings:
| Setting | Default | What It Does |
|---|
| Codec | H.264 (MPEG-4 AVC) | The compression algorithm |
| Bitrate (kb/s) | 0 (auto) | Target bitrate; 0 means VLC auto-decides |
| Quality | 0–51 scale (RF/CRF) | Lower = better quality (use 18–24 for most content) |
| Frame rate | Same as source | Leave at 0 to preserve source frame rate |
| Resolution | Same as source | Leave blank to preserve source resolution |
Bitrate vs quality: The default "0" in the bitrate field means VLC uses a constant rate factor (CRF) approach where quality is the primary target and file size varies. If you need a specific file size (e.g., email attachment limits), set a target bitrate instead. For 1080p content, typical bitrates are:
- 8,000 kb/s: high quality, ~60 MB per minute
- 4,000 kb/s: good quality, ~30 MB per minute
- 1,500 kb/s: acceptable for streaming, ~11 MB per minute
| Setting | Default | Notes |
|---|
| Codec | AAC | Leave as-is |
| Bitrate (kb/s) | 128 | Good for stereo; raise to 192 for music |
| Channels | Same as source | Leave at 0 to preserve source |
| Sample rate | Same as source | Leave at 0 to preserve source |
128 kb/s AAC is transparent for speech and most music. If your source is a music video or you notice audio quality loss, raise to 192.
VLC's built-in profiles are read-only, but you can duplicate them. In the Convert dialog, click the duplicate icon (two pages) next to the profile name. This creates an editable copy. Give it a name like "H.264 + AAC 720p" or "H.264 + AAC High Quality" and adjust the settings. Your custom profiles persist across VLC restarts.
Useful custom profile variations:
720p downscale:
- Video codec tab → Width: 1280, Height: 720
- Good for reducing 4K or 1080p source files for web sharing
High-quality archive:
- Video codec tab → Bitrate: 8000
- Audio codec tab → Bitrate: 192
- Produces larger files but maximises quality
Small-file social media:
- Video codec tab → Bitrate: 2500
- Audio codec tab → Bitrate: 128
- Under 15 MB per minute — suitable for most social media upload limits
This almost always means the output path had a problem — the destination folder does not exist, or VLC does not have write permission. Fix:
- Choose a simple destination like
C:\Users\YourName\Desktop\output.mp4 (Windows) or ~/Desktop/output.mp4 (Linux/macOS)
- Avoid paths with special characters or network shares on first attempt
- Make sure you clicked Browse and set a filename — if the destination field is blank, VLC creates no output
The source file uses an audio codec that VLC's AAC encoder could not transcode from. Check the source audio codec (Media → Codec Information in VLC during playback). If the source is DTS, Dolby TrueHD, or certain PCM variants, VLC may fail silently. Try setting the audio codec in the profile to MP3 first to confirm the audio path works, then switch back to AAC.
VLC's software H.264 encoder does not use GPU acceleration by default. On older hardware, 1080p encoding may take 3–5× real-time (a 10-minute video takes 30–50 minutes). To speed up:
- In the video codec tab, set Codec to
h264_nvenc (Nvidia) or h264_vaapi (Intel/AMD on Linux) to enable hardware encoding. These accelerated encoders encode at real-time or faster but VLC's codec name must match what your hardware supports.
- If hardware encoding is not available, lower the output resolution (to 720p) to reduce encoding workload.
Some MP4 files produced by VLC place the moov atom (the file's index) at the end rather than the beginning. Some players and streaming services expect it at the start for fast start / progressive download. Fix by running ffmpeg or a similar tool on the output file:
ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4
The -c copy flag remuxes without re-encoding; -movflags +faststart moves the moov atom to the front. This is a quick post-process step, not a full re-encode.
Sync drift is common when the source file has variable frame rates (VFR) — common with screen recordings and content captured by smartphones. VLC does not handle VFR well in the H.264 encoder. For VFR sources, use FFmpeg directly:
ffmpeg -i input.mp4 -vf fps=30 -c:v libx264 -c:a aac output.mp4
The -vf fps=30 filter normalises to constant 30 fps, which eliminates the sync drift.
VLC's Convert/Save is designed as a convenience feature, not a professional transcoder. It works well for occasional single-file conversions. For anything more complex, dedicated tools produce better results.
FFmpeg (command line) gives you full control over every encoding parameter — bitrate modes, filter chains, metadata, hardware acceleration, and batch processing. See FFmpeg advanced filters guide for examples.
Online converter — if you need to convert one or two files and do not want to configure any tool, ConvertIntoMP4 handles MOV to MP4, AVI to MP4, MKV to MP4, and dozens of other combinations in the browser. The converter automatically detects whether a stream-copy (lossless remux) is possible and avoids unnecessary re-encoding — something VLC always re-encodes even when unnecessary. For one-off conversions where file quality matters, this is often the faster option.
The video converter hub lists all supported input and output formats if you need something outside the common H.264 + AAC + MP4 combination.
Yes, any lossy-to-lossy transcode degrades quality. The degree depends on the bitrate you set. If your source is already H.264 + AAC in an MP4 container, avoid re-encoding entirely — just copy the file or use a remux tool to change the container without touching the streams.
The MPEG4 720p device profile uses the older MPEG-4 Part 2 video codec (sometimes called "XviD" or "DivX" quality), not H.264. "Video - H.264 + AAC (MP4)" uses the more modern and efficient H.264 codec. For everything except very old devices that only support MPEG-4 Part 2, use the H.264 profile.
You can, but it is not ideal. For audio-only output, use the "Audio - MP3" or "Audio - AAC" profiles in VLC's profile list. Using the video profile on an audio source creates an MP4 with a video stream of 0 bytes, which some players handle poorly.
VLC's Convert/Save dialog handles one file at a time. For batch conversion, use FFmpeg in a shell loop (see the batch processing files guide) or ConvertIntoMP4's API for programmatic batch jobs.
Samsung Smart TVs support H.264 Baseline and Main profiles up to a certain level. VLC's H.264 encoder defaults to High profile, which some older Samsung TVs reject. In the profile editor, under Video codec → Advanced settings, set Profile to baseline or main and Level to 4.0. This maximises compatibility with older TV hardware.
Not exactly. "MP4" describes the container only. A file can be MP4 container with HEVC video, or MP4 with MPEG-4 Part 2 video. "Video - H.264 + AAC (MP4)" specifically means the H.264 video codec and AAC audio codec inside an MP4 container — which is indeed the most common and compatible combination, but not the only way to make an MP4 file.
VLC's Video - H.264 + AAC (MP4) profile converts nearly any video format into the most universally playable output: H.264 video codec, AAC audio codec, MP4 container. Use it through Media → Convert/Save (Windows/Linux) or File → Convert / Stream (macOS). Set a target bitrate in the profile editor if you need size control; otherwise leave the defaults for automatic quality. For batch work or more precise control over encoding parameters, FFmpeg or an online converter will serve you better.