Bulk download Youtube captions

Youtube has an annoying lack of group, bulk batch operations. For instance, you can’t download all captions to all your videos with a single mouse click. We’ll have to work out some solution.


First thing you need is Youtube Caption Downloader plugin for Firefox. This plugin adds a download close caption button under each video with subtitles. Another major improvement is that the plugin downloads the captions in .srt format and automatically names the file after the video title.
On the contrary, Youtube built-it functionality forces you make a billion clicks before you reach the download captions button, and it gives the same name to all files – captions. Just captions. And of course, Google uses a very own, proprietary, incompatible .sbv format. Why did they have to create it in the first place, while the de facto standard .srt format has been out for years remains a mystery. Idiocy.
Another idiocy comes with the playlist you have to add all your videos to before we proceed. There is an idiotic limitation of 200 videos per playlist. So if your channel has more than two hundred videos, add them to separate playlists.
Ok, all set. Now open the playlist, click the download caption button, save the file, click on the next video button, repeat the process. If you have less than 200 videos, you could probably do the clicking manually. But if your channel has hundred and thousands of videos, you’ll want some automation.
unfortunately, iMacros cannot be used here, as the Caption Downloader plugin opens a Save as window, and iMacros can’t press buttons in such windows. So, we’ll be using an Autoit script.

sleep (7000)
MouseClick("left",633,749,1)
sleep (2000)
MouseClick("left",541,632,1)
sleep (2000)
MouseClick("left",465,237,1)

The script may look as follows: wait 7 seconds, click the download button by the coordinates, wait 2 seconds, click the Save button, wait 2 seconds, click the next video button. The leading 7 seconds are needed for the new video page to load.
You may then compile the script to an .exe file and repeat its execution in a loop by a simple .bat file.

:1
1.exe
goto 1

Position the browser window according to the coordinates, launch the file and the subtitles start piling up in the Downloads folder. As ou may see, processing of a single video takes about 11 seconds. That means 200 videos will be processed in less that 40 minutes. Then you may switch to the next playlist with the next 200 videos. If a video doesn’t have captions, the script will download nothing, but still use 11 seconds.
Don’t leave scrit execution completely unattended, since minor problems may appear like next video in playlist button changing its position because of the increasing video counter, or the plugin being unable to save the file, because the video title contains characters illegal for a filename, like
/ or ?

Leave a Comment