39

How do I download videos from YouTube with subtitles / captions?

I'd tried by using youtube-dl, with --write-srt --str-lang flags but I always get:

WARNING: video has no closed captions.

6
  • 1
    Well, does the video have closed captions? I cannot reproduce this issue for videos that have the CC sign available. Which video are you trying to download? Does it work with this one?
    – slhck
    Oct 7 '12 at 20:31
  • Yes. Have the CC sign. For video that you have posted it worked fine. But for all that I had tried before it does not work, e.g for this video: youtube.com/watch?v=RHy9_RQbrnQ I get: WARNING: video has no closed captions unlike as you can see into youtube page. `
    – Jack
    Oct 8 '12 at 0:29
  • See exaclty what I have tried: python youtube-dl --write-srt --srt-lang en http://www.youtube.com/watch?v=RHy9_RQbrnQ [youtube] Setting language [youtube] RHy9_RQbrnQ: Downloading video webpage [youtube] RHy9_RQbrnQ: Downloading video info webpage [youtube] RHy9_RQbrnQ: Extracting video information [youtube] RHy9_RQbrnQ: Downloading video subtitles WARNING: video has no closed captions
    – Jack
    Oct 8 '12 at 0:31
  • Quite interesting is to check subtitles with --list-subs.
    – pevik
    Feb 20 '16 at 12:54
  • 1
    if you're on a LTS distribution, ensure you use an uo-to-date version of youtube-dl, the TLS apt package on ubuntu:14.04 for example, does not work with generated closed captions, but that current pip release version does (sudo pip install -U youtube-dl) Apr 24 '16 at 6:43
56

Make sure the video you're trying to download has actual subtitles uploaded from the owner.

You can then use, for example:

youtube-dl --write-srt --sub-lang en 'http://www.youtube.com/watch?v=RHy9_RQbrnQ'

There is also an option to download the automatically generated subtitle files, using --write-auto-sub.

See the youtube-dl documentation.

5
  • 2
    Is there no way to download the one translated by youtube?
    – Jack
    Oct 27 '13 at 21:11
  • Not that I'm aware of, no. There appear to be some programs for downloading subtitles (like Google2SRT mentioned in the other answers), but those are all for the "real" closed captions.
    – slhck
    Oct 27 '13 at 22:01
  • 3
    @Jack: youtube-dl has since added an option "--write-auto-sub" (at least in version 2014.09.22.1). I didn't try it, but that may be what you were looking for. Nov 11 '14 at 1:11
  • This doesn't work as of August 2015, please fix.
    – My Name
    Aug 2 '15 at 8:17
  • 1
    This worked for me just now with youtube-dl version 2015.08.16.1.
    – Jeff Allen
    Nov 2 '15 at 6:03
9

If you want a free, easy-to-use program with a simple GUI, there's Google 2 SRT.

It detects all the available languages and converts to SRT, SSA or SUB.

enter image description here

1
0

You did not specify what kind of subtitles you want to download.

If you want regular youtube subtitles in .SRT format (the most widely supported by players) then you would use (assuming you need English subs):

youtube-dl --convert-subs srt --write-sub -sub-lang en <YOUTUBE_VIDEO_ID>

If you want auto-generated youtube subtitles then you need to use instead:

youtube-dl --convert-subs srt --write-auto-sub --sub-lang en <YOUTUBE_VIDEO_ID>
#                             ^^^^^^^^^^^^^^^^

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