Skip to main content
added 18 characters in body
Source Link
Pavel Vlasov
  • 1.8k
  • 2
  • 18
  • 25

ACase 1 - a single subtitle in the video:

# as by Berry Tsakala
> ffmpeg -i video.mkv subs.srt

MultipleCase 2 - multiple subtitles:

> ffprobe video.mkv
Stream #0:0(eng): Video: h264 (Main)...
Stream #0:1(rus): Audio: ac3, 48000 Hz...
Stream #0:2(eng): Audio: eac3, 48000 Hz...
Stream #0:3(rus): Subtitle: subrip
Stream #0:4(eng): Subtitle: subrip <-- wanted subs
Stream #0:5(eng): Subtitle: subrip
Stream #0:6(eng): Subtitle: subrip

Then if you want stream 0:4, then just use 0:4:

ffmpeg -i video.mkv -map 0:4 subs.srt

The 0:s:0 notion looks pretty useless in this case for me, because it makes us calculating in our heads.

A single subtitle in the video:

# as by Berry Tsakala
> ffmpeg -i video.mkv subs.srt

Multiple subtitles:

> ffprobe video.mkv
Stream #0:0(eng): Video: h264 (Main)...
Stream #0:1(rus): Audio: ac3, 48000 Hz...
Stream #0:2(eng): Audio: eac3, 48000 Hz...
Stream #0:3(rus): Subtitle: subrip
Stream #0:4(eng): Subtitle: subrip <-- wanted subs
Stream #0:5(eng): Subtitle: subrip
Stream #0:6(eng): Subtitle: subrip

Then if you want stream 0:4, then just use 0:4:

ffmpeg -i video.mkv -map 0:4 subs.srt

The 0:s:0 notion looks pretty useless in this case for me, because it makes us calculating in our heads.

Case 1 - a single subtitle in the video:

# as by Berry Tsakala
> ffmpeg -i video.mkv subs.srt

Case 2 - multiple subtitles:

> ffprobe video.mkv
Stream #0:0(eng): Video: h264 (Main)...
Stream #0:1(rus): Audio: ac3, 48000 Hz...
Stream #0:2(eng): Audio: eac3, 48000 Hz...
Stream #0:3(rus): Subtitle: subrip
Stream #0:4(eng): Subtitle: subrip <-- wanted subs
Stream #0:5(eng): Subtitle: subrip
Stream #0:6(eng): Subtitle: subrip

Then if you want stream 0:4, then just use 0:4:

ffmpeg -i video.mkv -map 0:4 subs.srt

The 0:s:0 notion looks pretty useless in this case for me, because it makes us calculating in our heads.

Source Link
Pavel Vlasov
  • 1.8k
  • 2
  • 18
  • 25

A single subtitle in the video:

# as by Berry Tsakala
> ffmpeg -i video.mkv subs.srt

Multiple subtitles:

> ffprobe video.mkv
Stream #0:0(eng): Video: h264 (Main)...
Stream #0:1(rus): Audio: ac3, 48000 Hz...
Stream #0:2(eng): Audio: eac3, 48000 Hz...
Stream #0:3(rus): Subtitle: subrip
Stream #0:4(eng): Subtitle: subrip <-- wanted subs
Stream #0:5(eng): Subtitle: subrip
Stream #0:6(eng): Subtitle: subrip

Then if you want stream 0:4, then just use 0:4:

ffmpeg -i video.mkv -map 0:4 subs.srt

The 0:s:0 notion looks pretty useless in this case for me, because it makes us calculating in our heads.