You convert an MKV to MP4 and the video looks fine. But the five subtitle tracks are gone. The chapter markers are gone. The Japanese audio track is gone. The FLAC lossless audio got transcoded to AAC. The title metadata says "Untitled" instead of the movie name.
Format conversion isn't just about video and audio codecs. Every container format has different capabilities for metadata, chapters, subtitles, attachments, and track organization. When you move from a more capable container (MKV) to a less capable one (MP4), data gets discarded — sometimes silently, with no warning.
This guide maps out what data lives in video files, which containers support what, and how to preserve or explicitly discard it during conversion.
Types of Data in Video Files
A video file isn't just video + audio. Here's everything that can live inside a container:
| Data Type | Examples | MKV | MP4 | WebM | AVI |
|---|---|---|---|---|---|
| Container metadata | Title, artist, date, description, genre | Full (freeform tags) | iTunes-style atoms | Limited (Matroska tags) | RIFF INFO (basic) |
| Chapter markers | Named time positions with hierarchy | Full (nested, multi-language) | Basic (flat list) | Basic | None |
| Subtitle tracks | SRT, ASS, PGS, VobSub, VTT | All formats | tx3g text only | VTT only | None |
| Multiple audio tracks | Language variants, commentary, descriptive | Unlimited | Supported but inconsistent | Limited | Single track typical |
| Attachments | Fonts, cover art, any file | Yes (any file type) | Cover art only | No | No |
| HDR metadata | MaxCLL, MaxFALL, mastering display, color primaries | Yes | Yes | Yes (VP9/AV1) | No |
| Timecode tracks | SMPTE timecode for NLE sync | Yes | Yes (QuickTime timecode) | No | No |
| Cover art | Poster/thumbnail image | As attachment | As metadata atom | No | No |
What FFmpeg Preserves by Default
FFmpeg is the engine behind most video conversions (including ChangeThisFile's server-side conversions). Here's what it does by default — without explicit flags:
Automatically preserved:
- Container-level metadata (title, artist, date, comment) — copied from input to output via
-map_metadata 0(default behavior) - The first video stream and first audio stream
- Codec-level metadata (pixel format, color space, sample rate)
NOT preserved by default (silently dropped):
- Chapter markers — require
-map_chapters 0(often default, but not always when using complex filter chains) - Additional audio tracks — require explicit
-map 0:aor-map 0 - Subtitle tracks — require
-map 0:sor-map 0(and the target container must support the subtitle format) - Attachments (fonts, etc.) — require
-map 0:t - Stream-level metadata (track language, track title) — sometimes preserved, sometimes not, depending on the conversion
The -map 0 trick: Using -map 0 tells FFmpeg to copy ALL streams from the input: every video, audio, subtitle, and attachment track. This is the most reliable way to preserve everything the target container supports. Without -map, FFmpeg's automatic stream selection picks only the "best" video and "best" audio, discarding everything else.
Container Metadata: Title, Artist, Date
Container metadata is the descriptive information about the file itself — title, artist/creator, creation date, description, genre, copyright, encoding tool, and custom fields.
MKV metadata uses a tag system that can attach metadata to the file, to individual tracks, or to specific chapters. Tags are key-value pairs with no predefined schema — you can store any information.
MP4 metadata uses the udta and meta atoms, following iTunes-style conventions. Standard fields: title, artist, album, year, genre, track number, cover art, description, rating, and copyright. Custom fields are possible but not universally read by players.
What survives MKV → MP4: Title, date, and basic fields transfer cleanly. MKV-specific tag hierarchies (per-chapter metadata, custom tags with complex nesting) are flattened or lost. Track-level metadata (language, title per audio track) may or may not transfer depending on the tool.
What survives MP4 → MKV: Most metadata transfers cleanly. MKV's tag system is a superset of what MP4 stores, so nothing is typically lost in this direction.
Chapter Markers
Chapter markers divide a video into named sections ("Chapter 1: Introduction", "Chapter 2: Setup", etc.) that viewers can jump to directly. They're essential for long-form content like movies, tutorials, and recorded presentations.
MKV chapters are the most capable: nested hierarchy (chapters within chapters), multi-language names, and chapter-level metadata. Example: "Act 1" containing "Scene 1" and "Scene 2".
MP4 chapters use a text track with chapter names at specific timestamps. Flat structure only — no nesting, no multi-language names. iTunes, QuickTime, and VLC all read MP4 chapters.
What survives MKV → MP4: Chapter names and timestamps transfer. Nested chapter hierarchy is flattened to a flat list. Multi-language chapter names are reduced to one language. Chapter UIDs and segment linking are lost.
YouTube chapters: YouTube doesn't read embedded chapter metadata from uploaded files. Instead, chapters are defined by timestamps in the video description. If you have embedded chapters, you'll need to extract them and format them for the YouTube description manually.
Multiple Audio Tracks
Video files can contain multiple audio tracks for different purposes: language dubs, director's commentary, descriptive audio for accessibility, music-only tracks, and stereo/surround variants.
MKV: Unlimited audio tracks, any codec. Each track can have language metadata, a track title, and a default/forced flag. This is the standard for Blu-ray rips and multi-language content.
MP4: Supports multiple audio tracks, but player support is inconsistent. Apple's ecosystem (QuickTime, Apple TV) handles multiple MP4 audio tracks well. VLC handles them. Many other players only see the first audio track.
WebM: Technically supports multiple audio tracks, but in practice it's rarely used.
What happens during conversion:
- Without
-map: FFmpeg selects only the "best" audio track (typically the first one, or the one with the most channels) - With
-map 0: All audio tracks are included if the target container supports them - If the target container doesn't support the source audio codec (e.g., FLAC or DTS in MP4), the audio must be transcoded (typically to AAC)
Audio extraction: MP4 to MP3 | MKV to MP3 | MP4 to FLAC | MKV to FLAC
HDR Metadata: The Most Fragile Data
HDR metadata tells the display how to interpret the wide color gamut and brightness range in the video. Without this metadata, HDR content looks washed out on HDR displays and oversaturated on SDR displays.
HDR metadata includes:
- Color primaries: Which color space the video uses (BT.2020 for HDR, BT.709 for SDR)
- Transfer characteristics: The brightness curve (PQ/SMPTE 2084 for HDR10, HLG for broadcast HDR, BT.1886 for SDR)
- Matrix coefficients: How YCbCr maps to RGB (bt2020nc for HDR)
- MaxCLL / MaxFALL: Maximum Content Light Level and Frame Average Light Level — tells the display how bright the content gets
- Mastering display metadata: The color volume and brightness of the reference display used during grading
What gets lost: FFmpeg preserves color primaries, transfer function, and matrix coefficients by default when the streams are compatible. But MaxCLL, MaxFALL, and mastering display metadata require explicit preservation or they're silently dropped. Dolby Vision metadata requires specialized tooling (dovi_tool) and is easily corrupted during re-encoding.
Safe conversions for HDR: Container changes (MKV → MP4) that don't re-encode the video stream preserve all HDR metadata because the video bitstream is copied byte-for-byte. HDR metadata only gets lost when the video is re-encoded or when the conversion tool doesn't explicitly carry it over.
Complete Survival Matrix: What Transfers Where
| Data | MKV→MP4 | MKV→WebM | MP4→MKV | MP4→AVI | Any→GIF |
|---|---|---|---|---|---|
| Title/Artist/Date | Preserved | Preserved | Preserved | Partial (RIFF INFO) | Lost |
| Chapters | Flattened (no nesting) | Preserved | Preserved | Lost | Lost |
| SRT subtitles | Converted to tx3g | Converted to VTT | Preserved | Lost (external only) | Lost |
| ASS subtitles | Lost or flattened to text | Lost | Preserved | Lost | Lost |
| PGS subtitles | Lost | Lost | Preserved | Lost | Lost |
| Multiple audio | Preserved (if mapped) | Preserved (if mapped) | Preserved | First track only | Lost (no audio) |
| FLAC audio | Transcoded to AAC | Transcoded to Opus | Preserved | Transcoded | Lost |
| Font attachments | Lost | Lost | Preserved | Lost | Lost |
| Cover art | Preserved (MP4 supports it) | Lost | Preserved | Lost | Lost |
| HDR metadata | Preserved (if remuxed) | Preserved (VP9/AV1) | Preserved | Lost | Lost |
The pattern is clear: MKV is the most capable container. Converting from MKV to anything else loses data. Converting to MKV from anything else preserves or adds capability. If metadata preservation matters, archive as MKV.
Practical Advice for Metadata Preservation
- Always check what you're losing. Before converting, inspect the source file's tracks and metadata. Count audio tracks, check for subtitles, look for chapters. Know what's there so you can verify it's preserved.
- Use -map 0 for full preservation. When converting with FFmpeg,
-map 0tells it to include all streams, not just the "best" video and audio. - Keep MKV as your archival format. If you have a file with multiple audio tracks, styled subtitles, chapters, and attached fonts, keep it as MKV. Create MP4 copies for distribution.
- Remux instead of re-encode when possible. Container changes (MKV → MP4, MP4 → MKV) that don't re-encode preserve everything the target format supports, including HDR metadata.
- Verify after conversion. Use a tool like MediaInfo to compare the source and target file's track list, metadata, and codec properties. Don't assume everything transferred.
Conversions: MP4 to MKV | MKV to MP4 | MOV to MKV | AVI to MKV
The metadata in a video file is invisible until it's gone. You don't notice chapter markers until you're scrubbing through a 3-hour file without them. You don't miss subtitle tracks until you're watching a scene in a foreign language with no translation. You don't think about HDR metadata until your carefully graded footage looks like it was shot through a gray filter.
The solution is simple: know what's in your files before converting, use MKV as your archive format to preserve everything, and create MP4 copies for distribution where universal compatibility matters more than metadata completeness. Every conversion is a potential data loss event — treat it accordingly.