0

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
  • 144
  • 1
  • 6

1 Answers1

0

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

manero
  • 39
  • 2
  • Thanks for your suggestion. I don't think it answers the question though, due to it still requiring "streaming" of the video/audio tracks as described in my post. Additionally, in my post, I put a command that already includes the `-sn` option. – Abraham Aug 30 '22 at 21:09