You converted a 7 GB movie rip from MKV to MP4, the file opens, the picture is perfect — and there is absolute silence. Nothing wrong with your speakers, nothing wrong with the player. The audio track simply did not make it into the new file.
The short answer: MKV can hold audio codecs that MP4 cannot. DTS, DTS-HD, TrueHD, FLAC and (depending on the tool) AC3 are common offenders. When a converter is set to copy streams rather than re-encode them, it hits an incompatible audio track, quietly skips it, and hands you a silent MP4. The fix is to re-encode only the audio to AAC while copying the video untouched — fast, lossless for the picture, and done in a couple of minutes.
Why MP4 goes silent: container vs codec
A container (MKV, MP4, AVI) is a box. A codec (H.264, AAC, DTS) is what's inside it. MKV is a famously permissive box — it will carry almost any codec you throw at it, which is exactly why Blu-ray rips and downloads use it. MP4 is a much stricter box with a short list of officially supported passengers.
Audio codecs MP4 handles reliably:
- AAC — the safe default. Plays everywhere: phones, browsers, smart TVs, consoles.
- MP3 — works, but no reason to prefer it over AAC.
- AC3 / E-AC3 — technically allowed in MP4 and fine on most TVs, but Safari, QuickTime and some browsers won't decode it. Many basic converters refuse to mux it at all.
- ALAC — supported, Apple-centric, large files.
Codecs that will not survive the trip: DTS, DTS-HD MA, TrueHD, FLAC, Vorbis, Opus (Opus-in-MP4 exists but player support is patchy). If your MKV uses one of those and the converter is copying streams, you get video with no audio.
There's a second, sneakier variant of this problem: the audio is in the file, but your player mutes it. A DTS or AC3 track passed to a TV app or browser that can't decode it produces the same symptom — silence — even though the stream is right there. Converting to AAC solves both cases at once.
Step 1: find out what audio your MKV actually has
Before fixing anything, look inside the file. With FFmpeg installed:
ffprobe -hide_banner "Interstellar.2014.1080p.mkv"You'll get something like:
Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080, 23.98 fps
Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 5.1(side), 1509 kb/s
Stream #0:2(eng): Audio: ac3, 48000 Hz, 5.1, 640 kb/s
Stream #0:3(ger): Audio: ac3, 48000 Hz, stereo, 192 kb/s
Stream #0:4(eng): Subtitle: subripThree things matter here. The video is h264 — MP4 loves H.264, so you never need to re-encode it. The first audio track is dts, which MP4 can't hold; that's your silence. And there are three audio tracks, so you also need to decide which one ends up in the MP4. No FFmpeg? MediaInfo shows the same information in a GUI, and VLC does too under Tools → Codec Information.
Step 2: the one-line fix — re-encode audio, copy video
This is the command that solves 90% of "MKV to MP4 no sound" cases:
ffmpeg -i "Interstellar.2014.1080p.mkv" \
-map 0:v:0 -map 0:a:0 \
-c:v copy -c:a aac -b:a 256k \
"Interstellar.mp4"What each part does:
-map 0:v:0— take the first video stream. Without-map, FFmpeg picks defaults that may not be what you want.-map 0:a:0— take the first audio stream (the DTS one). Change to0:a:1for the AC3 track,0:a:2for German.-c:v copy— do not touch the video. The H.264 stream is remuxed bit-for-bit, so there's zero quality loss and the job runs at disk speed rather than encode speed.-c:a aac -b:a 256k— decode DTS and re-encode it as AAC at 256 kbps, a bitrate that's transparent for a movie soundtrack.
On a two-hour 1080p rip this typically finishes in two to four minutes, because only the audio is actually being processed. The size changes modestly: a 1509 kbps DTS track over 2 hours is roughly 1.3 GB, while 256 kbps AAC is about 230 MB — so the MP4 usually comes out a bit smaller than the MKV.
Keeping 5.1, or deliberately dropping to stereo
By default FFmpeg's AAC encoder will try to keep the channel layout. If you want to be explicit:
# keep 5.1 surround
ffmpeg -i in.mkv -map 0:v:0 -map 0:a:0 -c:v copy -c:a aac -ac 6 -b:a 384k out.mp4
# downmix to stereo for a phone or tablet
ffmpeg -i in.mkv -map 0:v:0 -map 0:a:0 -c:v copy -c:a aac -ac 2 -b:a 192k out.mp4Downmixing is worth considering if the target is a laptop or phone: 5.1 AAC played through two speakers can sound thin, with dialogue buried under the music. -ac 2 folds the centre channel back into the mix and fixes the "I can hear explosions but not the actors" complaint.
Want more than one language in the MP4? Map several audio streams; MP4 handles multiple AAC tracks fine:
ffmpeg -i in.mkv -map 0:v:0 -map 0:a:0 -map 0:a:2 \
-c:v copy -c:a aac -b:a 192k \
-metadata:s:a:0 language=eng -metadata:s:a:1 language=ger out.mp4And if your MKV has subtitles, they need converting too — MP4 can't hold SubRip. Add -c:s mov_text and map the subtitle stream, or burn them in if the target device ignores soft subs.
The no-install route: convert in the browser
If you'd rather not touch a command line, use a converter that re-encodes audio instead of blindly copying it. Our MKV to MP4 converter outputs AAC audio by default, so DTS, TrueHD and FLAC tracks are decoded and re-encoded rather than dropped — the exact behaviour that prevents a silent result. Drop the file in, pick the audio track if the file has several, and download an MP4 that plays in Safari, on an iPhone, in PowerPoint and on a smart TV.
The same approach applies to other formats that mix exotic codecs with strict containers — the video converter hub covers AVI, MOV, WebM and the rest with the same audio handling.
One practical note: browser-based conversion is bounded by your upload speed and machine. For a 7–10 GB Blu-ray rip, the FFmpeg command above is faster; for a 600 MB episode, the online route is the lower-effort option.
Verify before you delete the original
Two quick checks catch nearly every remaining problem:
- Run
ffprobe output.mp4and confirm you see a line readingAudio: aac. If the audio stream is missing entirely, your-mapwas wrong or the tool silently skipped it again. - Play the MP4 on the actual target device, not just VLC. VLC decodes almost anything, so it will happily play a file that a smart TV or Safari mutes. If it works in VLC but not on the TV, the codec is still the issue.
Keep the MKV until both checks pass. Re-encoding audio is one-way: once the DTS track is gone, you can't get its quality back from the AAC version.
The 60-second recipe
When an MP4 comes out silent, work through this in order:
- Run
ffprobeon the MKV and read the audio codec. DTS, TrueHD, FLAC or Vorbis means the track was dropped by design. - Note how many audio tracks there are and which index you want.
- Run
ffmpeg -i in.mkv -map 0:v:0 -map 0:a:N -c:v copy -c:a aac -b:a 256k out.mp4, substituting your track number. - Add
-ac 2if the output is for a phone or laptop,-c:s mov_textif you need subtitles. - Verify with
ffprobeand test on the real device.
Or skip steps 1–4 and let the online MKV to MP4 converter handle the audio re-encode for you.
FAQ
Why does my converted video have picture but no sound? The source audio codec isn't supported by the MP4 container, and the converter copied streams instead of re-encoding. Re-encode the audio to AAC.
Does re-encoding audio to AAC hurt video quality? No. With -c:v copy the video stream is copied bit-for-bit; only the audio is touched.
Can MP4 contain DTS at all? Not in any way that plays reliably. Even where a tool writes it, most players, browsers and TVs won't decode it. Convert to AAC, or keep MKV if you need DTS passthrough to a receiver.
Is AC3 safe in MP4? Usually on TVs and media players, but not in Safari, QuickTime or several browsers. AAC is the only universally safe choice.
How do I pick a specific language track? Use -map 0:a:N where N is the audio index shown by ffprobe (0 for the first audio stream, 1 for the second, and so on).
Can I get the audio back after a silent conversion? Not from the MP4 — but the original MKV still has it. Re-run the conversion from the MKV with the audio re-encode flags.
