Back to all articles
Taylor Brooks

How to Change MKV to MP4: Preserve Subtitles & Timecodes

Step-by-step guide to convert MKV to MP4 without losing subtitles or timecodes — simple tools for creators and podcasters.

Introduction

If you’ve ever tried uploading a video in MKV format to a content platform or opening it in a lightweight editor, you’ve probably run into frustrating compatibility issues. While MKV is a flexible container that can hold multiple subtitle tracks, audio streams, and codec types, many tools—including social video platforms—reject it outright. For podcasters, casual video editors, or anyone managing a subtitle-to-transcript workflow, the key question becomes: how to change MKV to MP4 without losing embedded subtitles or disrupting exact timecodes.

The good news is that the fix doesn’t require a full re-encode that risks quality loss and broken timestamps. Instead, you can remux—swap the container while keeping the actual video and audio streams intact. Done right, remuxing preserves both subtitle tracks and timestamps, ensuring smooth playback and perfect sync when those files are passed into tools like SkyScribe for transcript generation. In this guide, we’ll break down the difference between codecs and containers, walk through practical workflows, and explain why precision timestamps matter downstream.


Understanding Containers vs. Codecs

Many misconceptions about MKV to MP4 conversion stem from confusion between two key concepts—container formats and codecs.

A container (such as MKV or MP4) is like a box that stores different types of data: video, audio, subtitles, and metadata. The container defines how those streams are organized and packaged but doesn’t determine how they’re encoded.

A codec (like H.264 for video or AAC for audio) is the compression and encoding method used for each stream inside the container.

Here’s why this matters:

  • MKV supports virtually any codec and can include multiple subtitle and audio tracks.
  • MP4 is more restrictive. It works best with common codecs (H.264 video, AAC audio) and has limited native support for certain subtitle formats.
  • Remuxing changes the container without altering codec data—meaning no re-compression and no quality loss.

The mistake many creators make is thinking “conversion” means transcoding video data. In reality, if your MKV’s streams are already MP4-compatible, you can simply repackage them in an MP4 container in seconds.


Why Remuxing Beats Re-Encoding

Re-encoding MKV files to MP4 involves decoding and re-compressing video and audio, which can:

  • Reduce visual and audio quality
  • Introduce timestamp drift due to keyframe recalculation
  • Risk losing embedded subtitle streams entirely

Remuxing sidesteps these pitfalls:

  • Keeps the original video/audio streams untouched
  • Preserves native timecodes exactly as recorded
  • Retains subtitle streams without extraction/import steps

For transcription workflows, timestamp fidelity is critical. If the timecodes shift, you’ll spend hours adjusting subtitle alignments or manually correcting transcript segments in your editor. This is where tools like SkyScribe become valuable—even if you’ve done a clean remux, having a transcription tool that respects precise timestamps means your speaker labels and line segmentation stay perfectly synced to the source audio.


How to Change MKV to MP4 While Preserving Subtitles

Let’s walk through three common workflows—VLC, OBS, and FFmpeg—focusing on the FFmpeg method as the most precise option.

Using VLC

VLC Media Player offers a simple GUI approach:

  1. Open VLC and navigate to Media > Convert/Save.
  2. Add your MKV file.
  3. Choose “Convert” and set the container to MP4.
  4. Important: Use the “Keep original video track” checkbox (if available) and select “Same as source” for codecs to avoid re-encoding.
  5. VLC’s subtitle handling is basic—verify output by playing the MP4 in VLC or another player that shows all tracks.

However, VLC’s remux capability varies by version. Some older releases re-encode subtitled MKVs by default, risking data loss.

Using OBS Studio

OBS Studio can record or remux directly:

  1. In OBS, go to File > Remux Recordings.
  2. Drag your MKV file into the window and select MP4 as the target format.
  3. Click “Remux.” OBS will produce an MP4 without touching codecs.
  4. Check subtitle visibility in a player.

OBS uses a straightforward mapping procedure, but subtitles may not always carry over depending on their format.

Using FFmpeg (Recommended)

FFmpeg’s command-line method offers maximum control:
```
ffmpeg -i input.mkv -c copy output.mp4
```
This tells FFmpeg to:

  • -i input.mkv: Read the MKV file
  • -c copy: Copy all streams without re-encoding
  • output.mp4: Wrap them in an MP4 container

If you’re handling transport stream (TS) or cropped MKV files, you can add:
```
-use_wallclock_as_timestamps 1
```
to fix timestamp drift issues.

If your original MKV contains incompatible streams (e.g., certain subtitle formats not supported by MP4), you can explicitly map compatible ones:
```
-map 0:0 -map 0:1 -map 0:2
```
This specifies exactly which streams to include.

Verification step:
After remuxing, play the MP4 in a media player and check:

  • Are all subtitle and audio tracks intact?
  • Are timestamps aligned?
    Only once you confirm playback integrity should you pass the file into a downstream workflow like transcription.

Why Exact Timestamps Matter for Transcription

Successful remuxing preserves wallclock timestamps—these are essential for:

  • Speaker diarization in interviews
  • Auto-alignment of subtitles to spoken words
  • Editing workflows where timing precision eliminates the need for manual shift adjustments

If timestamps drift by even a second over the course of a talk, transcription alignment suffers. Automated tools often rely on successive time markers to segment the transcript, and small errors compound quickly.

When importing a freshly remuxed MP4 into a service like SkyScribe, those preserved timestamps allow:

  • Speaker labels to reflect correct turns without manual rewrites
  • Subtitles to align perfectly with the transcript in both directions—exporting to SRT/VTT is instantly accurate
  • Easy resegmentation if needed to match platform length limits or stylistic rules

Without remuxing, you risk feeding a timestamp-drifted file into your transcription pipeline—forcing tedious clean-up before publishing.


Integrating Remuxed MP4s into a Transcript-First Workflow

Let’s put this into a practical content creation pipeline:

  1. Remux the MKV to MP4 using FFmpeg’s -c copy command. Check subtitles and timestamps.
  2. Upload the MP4 (or its link) to your transcription tool.
  3. For multi-language or multi-track subtitles, use auto-cleanup features to remove filler words and normalize punctuation before exporting.
  4. If your workflow involves splitting content into chapter-sized transcripts or reflowing dialogue segments, rely on batch tools for resegmentation (I often use transcript re-structuring within SkyScribe for this step—it avoids manual line splitting entirely).
  5. Export polished transcripts, highlight quotes, or repurpose into ready-to-use captions for social clips.

This approach ensures that from the moment you hit “record” to final publication, subtitle and timing accuracy stays intact.


Testing and Troubleshooting

Verify with a player that supports multiple tracks.
Use VLC or MPC-HC to select different audio/subtitle streams post-remux. If they’re missing, it could mean:

  • The stream codec isn’t MP4-compatible
  • FFmpeg dropped headers (ensure you’re using a recent build—patches discussed here address common loss issues)

Check for timestamp drift.
Play the full video while watching subtitle timing, especially at the halfway mark or near the end. Remuxing should give perfect sync; if it doesn’t, use the wallclock timestamp flag.

Metadata issues.
Some players ignore embedded subtitles unless the metadata flags them correctly—remuxing via updated tools usually handles this.


Conclusion

Changing MKV to MP4 without losing subtitles or accurate timestamps isn’t magic—it’s the result of understanding containers vs codecs and using remuxing instead of re-encoding. By preserving original streams, you keep everything in sync for playback and for precision-dependent workflows like transcription. Tools such as FFmpeg make remuxing a one-line process, while platforms like SkyScribe leverage those clean timecodes to deliver perfectly aligned transcripts, subtitles, and speaker labels without extra work.

For creators, this combination means less cleanup and more time spent producing content your audience will actually see and hear the way it was meant.


FAQ

1. What’s the difference between remuxing and converting?
Remuxing changes only the container format, keeping the original video/audio/subtitles intact. Converting usually involves re-encoding streams, which risks quality loss and timestamp errors.

2. Can all MKV subtitle formats be kept in MP4?
No. MP4 supports certain subtitle codecs (like mov_text, webVTT). Others need to be converted or embedded separately.

3. Why do timestamps sometimes drift after conversion?
Re-encoding can alter frame pacing and wallclock markers. Remuxing with tools like FFmpeg preserves original timing.

4. Is FFmpeg better than VLC or OBS for this task?
FFmpeg offers the most control over stream mapping and timestamp handling. VLC and OBS can work for quick jobs but may lack advanced mapping options.

5. How do preserved timestamps help transcription?
Accurate timestamps keep subtitles and spoken content aligned. In tools that segment or label speakers, such as SkyScribe, this precision means no manual shifting or re-labeling after import.

Agent CTA Background

Get started with streamlined transcription

Free plan is availableNo credit card needed