How can I download subtitles of a list of videos using youtube-dl? I need an option for this. However I could not find an option to download only subtitles
There is an option, clearly mentioned in the documention:
--write-sub Write subtitle file --write-auto-sub Write automatic subtitle file (YouTube only) --all-subs Download all the available subtitles of the video --list-subs List all available subtitles for the video --sub-format FORMAT Subtitle format, accepts formats preference, for example: "srt" or "ass/srt/best" --sub-lang LANGS Languages of the subtitles to download (optional) separated by commas, use IETF language tags like 'en,pt'
So for example, to list all subs for a video:
youtube-dl --list-subs https://www.youtube.com/watch?v=Ye8mB6VsUHw
To download all subs, but not the video:
youtube-dl --all-subs --skip-download https://www.youtube.com/watch?v=Ye8mB6VsUHw
66I gave the docs a fair look and didn't find the
--skip-downloadoption which is hidden under Verbosity / Simulation Options. Glad @fivetech asked this question, or I may still be stuck.– ZazAug 7, 2016 at 19:04
11how to download autogenerated subtitles? Sep 7, 2017 at 17:39
4It's clearly "mentioned in documentation" and "clearly mentioned in this answer": "--write-auto-sub Write automatic subtitle file (YouTube only)"– radekgSep 16, 2017 at 7:41
youtube-dl --sub-lang LANG --write-auto-sub --skip-download URI.– Pablo AJan 13, 2018 at 18:35
youtube-dl --sub-lang en --write-auto-sub --sub-format srt --skip-download v0uYZ4rTOrk1. get ENG subtitles 2. get auto-generated subtitles 3. get subtitles in srt format 4. do not download the movie– deadfishMar 21, 2019 at 16:14
Or you can only download one subtitle
youtube-dl --write-sub --sub-lang en --skip-download URL
--write-auto-subfor downloading the automatically generated subtitles! Nov 22, 2019 at 16:19
1@pouya will your option download both autogenerated and proper subtitles of english lang, for example? Feb 1, 2021 at 7:10
The accepted answer is painfully lacking the required flag. This should be accepted answer.– SoheilOct 17, 2022 at 0:06
just run the following command
youtube-dl --write-auto-sub --convert-subs=srt --skip-download URL
For example you are downloading
https://www.youtube.com/watch?v=example. with title "example"
--convert=srt will output to a file named
en stands for English
es for Spanish etc.
The file will have something like this:
00:00:04.259 --> 00:00:05.259 >> I’m Elon Musk. 00:00:05.259 --> 00:00:06.669 >> What is your claim to fame? 00:00:06.669 --> 00:00:07.669 >> I’m the founder of 00:00:07.669 --> 00:00:08.669 Tesla.com.
OPTIONAL - If you need the text to be cleaned up you can use python to clean it a little:
import re bad_words = ['-->','</c>'] with open('example.en.vtt') as oldfile, open('newfile.txt', 'w') as newfile: for line in oldfile: if not any(bad_word in line for bad_word in bad_words): newfile.write(line) with open('newfile.txt') as result: uniqlines = set(result.readlines()) with open('sub_out.txt', 'w') as rmdup: mylst = map(lambda each: each.strip(">>"), uniqlines) print(mylst) rmdup.writelines(set(mylst))
I’m Elon Musk. What is your claim to fame? I’m the founder of Tesla.com.
1Just as a markup from the doc:
--convert-subs FORMAT Convert the subtitles to other format (currently supported: srt|ass|vtt|lrc)– lkahtzMay 4, 2020 at 2:50
8convert subs doesn't seem to work if you use the --skip-download option it just gives it in vtt format– pt123Aug 29, 2020 at 22:50
4In my case, I still need to run
ffmpeg -i foo.vtt foo.srtto convert caption manually.– 林果皞Feb 25, 2021 at 22:23
1@pt123 not working open issue: github.com/ytdl-org/youtube-dl/issues/9073– TiloJun 12, 2021 at 4:26
2After some testing, I can say that 1)
--convert-subsswitch doesn't work with the
--skip-downloadone; 2) anyway
avconvfrom the dead Libav project) to do the subtitle conversion, so the
ffmpeg -i foo.vtt foo.srtproduces the equal srt file; 3) both
--convert-subs srtoptions works. Dec 16, 2021 at 0:48
Another simple way to download subtitles from YouTube is to download Google2SRT. Google2SRT is a free, open source program for Windows, Mac and Linux that is able to download, save and convert multiple subtitles from YouTube videos.
Click the links to see screenshots of steps 1 and 2.
Paste the URL in the Google subtitles text box and click Read.
Choose the language by selecting the appropriate check box provided and press Go.
View the destination folder that was input in the SRT subtitles textbox to locate the SRT files.
10The issue with this is that it only works with YouTube; youtube-dl supports hundreds of other sites. Nov 14, 2016 at 2:48
10The question is about youtube-dl. Apr 18, 2017 at 20:53
1Thanks so much, jegadesh! Google2SRT is just what I needed to download auto-generated closed captions/subtitles from YouTube, since youtube-dl does not handle them properly (instead returning foo has no subtitles). Feb 4, 2018 at 6:31
4@miles-wolbe I'd appreciate it if you could mention a YouTube video where youtube-dl failed.– nakiMar 19, 2019 at 7:37
# youtube-dl --write-auto-sub --skip-download https://www.youtube.com/watch?v=nv99gj1xxWwworks fine on
2021.04.17– pzkpfwApr 25, 2021 at 9:11
--embed-subtitlesstep so I want to download them again separately. (Iʼd file a bug report but the repoʼs down for the moment)