Audio & playback

No sound after converting a video: why audio disappears

Updated 4 fixes2 sources

Short answer

A converted video loses its sound in three ways: the conversion copied only the video stream, the audio codec is not valid in the new container (WebM needs Opus or Vorbis, MP4 needs AAC or similar), or the source never had audio. Run ffprobe on the source and the result to see the audio streams, then convert again with an explicit audio codec, for example -c:a aac.

Key takeaways

  • Check whether the source has an audio stream before blaming the converter.
  • Container and codec must match: WebM takes Opus or Vorbis; MP4 normally carries AAC.
  • A command with -an, or one that maps only the video, produces a silent file by design.
  • Re-encode the audio instead of copying it when the codec is not allowed in the target container.

Find your case

What you seeWhat it usually meansDo this
Source plays with sound, converted file is silent everywhereAudio stream dropped (-an or -map 0:v only)Convert again with the audio mapped (step 2)
Converted file plays silent in some players onlyAudio codec the player cannot decodeRe-encode to AAC in MP4 (step 3)
Converting to WebM gives a silent or invalid fileAAC or MP3 inside WebMUse Opus or Vorbis (step 3)
Source has no sound eitherMuted export or screen recording without audioRecover from the original (step 1)
Multi-track sourceThe wrong audio track was pickedMap the track you want (step 2)

Fix it step by step

  1. Check the source

    ffprobe -hide_banner in.mkv lists the streams. Look for a line starting with Stream and the word Audio. If there is none, the source has no audio; go back to the original recording or editor project.

  2. Map video and audio explicitly

    ffmpeg -i in.mkv -map 0:v:0 -map 0:a:0 out.mp4 selects the first video and first audio stream. Without -map, ffmpeg chooses one of each by default, but a flag such as -an removes audio completely.

  3. Pick an audio codec the container allows

    For MP4 use AAC: -c:a aac -b:a 192k. For WebM use Opus: -c:a libopus -b:a 128k. Copying (-c:a copy) only works when the source codec is already allowed in the target.

    Convert video →

  4. Verify the result

    Run ffprobe on the new file and confirm it lists an Audio stream, then play it in a normal player before uploading.

    Check the video file →

Which audio goes in which container

ContainerCommon safe audioAvoid
MP4AACOpus or Vorbis in older players
WebMOpus, Vorbis (per the WebM Project)AAC, MP3
MOVAAC, PCMOpus
MKVAlmost anythingNothing, but convert before uploading

Frequently asked questions

Why does my converted video have no sound?

The conversion dropped the audio stream, the audio codec is not allowed in the new container, or the source was silent.

What audio does WebM support?

WebM uses Opus or Vorbis audio. AAC and MP3 are not valid WebM audio.

How do I keep the audio when converting?

Map it and pick a codec the container supports, for example ffmpeg -i in.mkv -c:v libx264 -c:a aac out.mp4.

How can I see if a file has audio?

Run ffprobe on it and look for an Audio stream in the list.

Sources

Reviewed 2026-10-06. Steps not attributed to a source are general video practice or computed above.