How to Remove Subtitles from MP4 with FFmpeg
This article provides a quick, step-by-step guide on how to remove all subtitle tracks from an MP4 video file while keeping the original video and audio tracks intact. By using the powerful, free command-line tool FFmpeg, you can strip out unwanted subtitles in seconds without loss of quality through a process called stream copying.
To delete all subtitle tracks from your MP4 file, you need to use the
-sn flag, which tells FFmpeg to ignore all subtitle streams
during the copying process.
Run the following command in your terminal or command prompt:
ffmpeg -i input.mp4 -c copy -sn output.mp4How the Command Works:
-i input.mp4: Specifies the path to your original video file containing the subtitles.-c copy: Tells FFmpeg to copy the video and audio streams directly without re-encoding them. This ensures the process is incredibly fast and there is absolutely zero loss in video or audio quality.-sn: This is the specific flag that disables subtitle recording, effectively removing all subtitle tracks from the output file.output.mp4: The name of the new file that will be created without any subtitles.
Alternative Method Using Map Flags
If you prefer to explicitly select only the video and audio streams,
you can use the -map flags instead. This achieves the exact
same result:
ffmpeg -i input.mp4 -map 0:v -map 0:a -c copy output.mp4-map 0:v: Selects only the video streams from the first input file.-map 0:a: Selects only the audio streams from the first input file.
Because subtitles (-map 0:s) are not explicitly mapped,
they are excluded from the final output.mp4 file.