2

This related post gives a solution:

mkvmerge -o output.mkv input.mkv -S # remove all subtitle tracks

This other related post gives a solution:

ffmpeg -i input.mp4 -c:v copy -c:a copy -map_metadata 0:g -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a -movflags +faststart -threads 8 -sn removed.mp4

However, both of these solutions require "streaming" all the video/audio tracks to another file, and just skip adding the subtitle streams. Is it possible to simply remove the subtitle track(s) from a movie file without having to stream anything?

Streaming video/audio tracks require significant resources, time, and is basically a remux. I'd like to simply remove the embedded subtitles and touch nothing else... Usually it is a .mkv file, but it could be other formats (e.g. .mp4 as well).

Abraham
  • 184

1 Answers1

6

The -sn option does exactly that.

https://ffmpeg.org/ffmpeg.html#Subtitle-options

-sn (input/output)
...
As an output option, disables subtitle recording i.e. automatic selection or mapping of any subtitle stream. For full manual control see the -map option.

Example:

ffmpeg -i video.mkv -c copy -sn video.sn.mkv

add -map 0 to keep all available streams:

ffmpeg -i video.mkv -map 0 -c copy -sn video.sn.mkv

manero
  • 541