Skip to content

Convert MKV to MP4 on Windows

Convert MKV to MP4 on Windows with FFmpeg or GetCompress. Clipchamp often cannot open MKV.

By Petr Samokhin

Screen capture tools, stream archives, and some editors save MKV. Clipchamp, Photos, and many Windows upload forms expect MP4 instead. You hit the wall when built-in apps refuse to open the file, when Teams rejects the attachment, or when a CMS import list shows only MP4. Unlike MOV from an iPhone, MKV often comes from OBS, game capture, or downloaded archives that Windows never opened by default. Converting locally keeps internal demos private and avoids re-downloading from a sketchy converter site when you already have the source on disk.

Why MKV is awkward on Windows

MKV is a flexible container. It can hold H.264, HEVC, VP9, multiple audio tracks, and subtitles. Built-in Windows apps and most web upload flows prefer MP4. A capture might include separate game and microphone audio tracks; remux preserves them when codecs fit, but many upload forms want a single AAC track.

SourceTypical issue on Windows
OBS or capture softwareMKV is crash-safe during recording; sharing wants MP4
Downloaded archiveClipchamp and Photos often refuse import
Editor handoffRecipient cannot preview without converting
ContainerClipchampMost upload forms
MKVOften noOften no
MP4YesYes

Fix options: remux (copy streams into MP4 without re-encoding) or re-encode when inner codecs are not MP4-compatible. Remux is fast when it works. Re-encode takes longer but produces a universally accepted file.

ScenarioTry firstIf that fails
OBS MKV after recordingRemux with -c copyRe-encode to H.264
HEVC inside MKVRemux if Clipchamp plays itRe-encode for older portals
Need smaller attachmentTrim, then 720p re-encodeTarget file size in GetCompress

If your source is MOV, see MOV to MP4 on Windows . For size limits after conversion, see how to compress video on Windows .

Remux with FFmpeg

Open Command Prompt or PowerShell. Install FFmpeg with winget:

winget install --id Gyan.FFmpeg -e

Try a fast copy first (no re-encode):

ffmpeg -i input.mkv -c copy output.mp4

Completes in seconds when codecs already fit MP4. Play the output in Clipchamp or your target app before deleting the MKV original. If video plays but audio is missing, the audio codec likely needs re-encoding with -c:a aac.

Batch remux:

mkdir mp4-out
Get-ChildItem *.mkv | ForEach-Object {
  ffmpeg -i $_.Name -c copy "mp4-out\$($_.BaseName).mp4"
}
ResultNext step
File plays in ClipchampDone
FFmpeg codec errorRe-encode (next section)
File still too largeRe-encode at lower resolution

VLC can convert MKV to MP4, but export settings are easy to misconfigure.

Re-encode when remux fails

Common when HEVC or VP9 inside MKV must become H.264 for an older upload target.

ffmpeg -i input.mkv -c:v libx264 -crf 22 -preset medium `
  -c:a aac -b:a 128k -movflags +faststart output.mp4

Lower resolution for sharing:

ffmpeg -i input.mkv -vf scale=-2:1080 -c:v libx264 -crf 23 `
  -c:a aac -b:a 128k -movflags +faststart output-1080p.mp4
FlagPlain meaning
scale=-2:10801080 px tall, width keeps aspect
-crf 23Slightly smaller file than 22
-movflags +faststartWeb-friendly metadata

Trim long captures before re-encoding. A short bug repro at 1080p uploads faster than an hour-long MKV.

DestinationPractical settings
Teams or Jira attachment720p, -crf 23, AAC 128k
Client OneDrive review1080p, -crf 22, -movflags +faststart
Web CMS embedH.264 baseline-friendly profile

When FFmpeg reports a codec error during remux, read the message before retrying with full re-encode. Sometimes only the subtitle track blocks copy; map video and audio explicitly with -map 0:v -map 0:a and skip subtitles.

Using GetCompress

GetCompress simplifies convert MKV to MP4 on Windows when built-in apps will not open the source or FFmpeg errors block progress.

Drop MKV files or a folder into the app. Choose MP4 output, pick a quality preset, or set target file size for portal limits. Preview confirms playback before export.

Workflow features that help:

  • Batch queue: convert a capture folder without PowerShell loops.
  • Presets: save repeated OBS export settings.
  • Preview and trim: export only the seconds you need.
  • Target file size: meet upload caps without guessing CRF.
  • Local-only processing: keep unreleased builds and NDA footage on your PC.
  • Folder monitoring: auto-convert new MKV drops when OBS writes to a watched exports folder.

When remux would work but you prefer a GUI, GetCompress handles container and codec choices in one window. Adjust resolution or quality in the same app if the first export is still too large. Document one preset per team so marketing screen captures and QA repros share the same MP4 profile every week.

Buy GetCompress now for local media compression with reusable presets and no media upload.