Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

9
  • 40
    This would download the first subtitle track. If there are several, use 0:s:1 to download the second one, 0:s:2 to download the third one, and so on. Commented Nov 10, 2016 at 19:06
  • 7
    @jm3 Would you happen to know any way to automatically extract all subtitle streams from a file, naming them after their language identifier (e.g. eng, fre, dut etc.)?
    – Fr.
    Commented Dec 1, 2017 at 0:30
  • 2
    why is it so slow when extracting from big MKV container (~4 gb)?
    – user25
    Commented Jun 2, 2018 at 16:24
  • 17
    To extract more subtitles at once you have to duplicate the -map parameters for each file. Also include -c copy so that it just extracts the file without trying to process it: ffmpeg -i Movie.mkv -c copy -map 0:s:0 subs.01.srt -c copy -map 0:s:1 subs.02.srt. Anyway it will take long time because ffmpeg must read whole video file to find all parts of the subtitle streams.
    – Radek Pech
    Commented Apr 20, 2019 at 8:39
  • 3
    @x-yuri FFMPEG's default action is to process (convert) everything on input. Which means if you don't use -c parameter, it will automatically select a codec (or output format for subtitles - and FFMPEG actually CAN convert subtitle formats!) and process it. It may look OK to convert SRT into SRT, but it may mess up the input file if it contains something bad or unknown (wrong encoding, typo in timecode, overlapping or too short subtitles, etc.). So you should always include -c copy if want a 100% copy of the input.
    – Radek Pech
    Commented Dec 17, 2021 at 8:16