I want to play videos with their embedded subtitles, which is possible using VLC or even my smart TV. Both recognize the subtitle and play(show) it.

Since ffplay is my favorite player, I want to do the same thing via ffplay, but I didn't make it. I can play external subtitles using -vf "subtitles=filename.srt", but no chance to play internal subtitle. It looks like not detected by ffplay, but ffprobe shows the subtitle stream information.

Anyone knows how it's done?

Thank you guys

  • 1
    I don't believe ffplay has support for 608/708 captions. – SlimSCSI Oct 18 '19 at 19:44

You can use subtitles filter like your example in your question but point to the same input file:

ffplay -vf subtitles=input.mkv input.mkv

If you want to choose a different subtitle stream then use the stream_index option. This example will choose the third subtitle stream:

ffplay -vf subtitles=input.mkv:stream_index=2 input.mkv

Or use mpv player and press j or use --sub=1 option.

  • This works, but something is wrong. The video window opens late(about 5~6 seconds), and it kills the disk I/O and CPU! In fact, The problem is with every seek of video(arrow keys), ffplay copy the entire video file somewhere and causes lag in playing(5 seconds). – mohammads Oct 19 '19 at 2:40
  • @mohammads Maybe a bug. I don't know. Consider making a bug report. But I don't know of a better method at the moment. Or use mpv instead. It's a lot like ffplay and supports FFmpeg filters. – llogan Oct 21 '19 at 18:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.