From 65cceef8f4d0fc4679f98331adb933bd028c3670 Mon Sep 17 00:00:00 2001 From: Ismael Mejia Date: Wed, 26 Jun 2013 11:28:47 +0200 Subject: [PATCH 1/3] Added support for additional vtt subtitle format (WebVTT) in youtube-dl. --- README.md | 2 +- test/test_youtube_subtitles.py | 10 +++++++++- youtube_dl/YoutubeDL.py | 2 +- youtube_dl/__init__.py | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 7d190249d..e43332724 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ which means you can modify it, redistribute it or use it however you like. video (currently youtube only) --list-subs lists all available subtitles for the video (currently youtube only) - --sub-format FORMAT subtitle format [srt/sbv] (default=srt) + --sub-format FORMAT subtitle format [srt/sbv/vtt] (default=srt) (currently youtube only) --sub-lang LANG language of the subtitles to download (optional) use IETF language tags like 'en' diff --git a/test/test_youtube_subtitles.py b/test/test_youtube_subtitles.py index dad15de37..5814e13d4 100644 --- a/test/test_youtube_subtitles.py +++ b/test/test_youtube_subtitles.py @@ -84,7 +84,7 @@ class TestYoutubeSubtitles(unittest.TestCase): info_dict = IE.extract('QRS8MkLhQmM') subtitles = info_dict[0]['subtitles'] self.assertEqual(len(subtitles), 13) - def test_youtube_subtitles_format(self): + def test_youtube_subtitles_sbv_format(self): DL = FakeYDL() DL.params['writesubtitles'] = True DL.params['subtitlesformat'] = 'sbv' @@ -92,6 +92,14 @@ class TestYoutubeSubtitles(unittest.TestCase): info_dict = IE.extract('QRS8MkLhQmM') sub = info_dict[0]['subtitles'][0] self.assertEqual(md5(sub[2]), '13aeaa0c245a8bed9a451cb643e3ad8b') + def test_youtube_subtitles_vtt_format(self): + DL = FakeYDL() + DL.params['writesubtitles'] = True + DL.params['subtitlesformat'] = 'vtt' + IE = YoutubeIE(DL) + info_dict = IE.extract('QRS8MkLhQmM') + sub = info_dict[0]['subtitles'][0] + self.assertEqual(md5(sub[2]), '356cdc577fde0c6783b9b822e7206ff7') def test_youtube_list_subtitles(self): DL = FakeYDL() DL.params['listsubtitles'] = True diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index e9a24a95a..4abcbbeac 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -75,7 +75,7 @@ class YoutubeDL(object): writeautomaticsub: Write the automatic subtitles to a file allsubtitles: Downloads all the subtitles of the video listsubtitles: Lists all available subtitles for the video - subtitlesformat: Subtitle format [sbv/srt] (default=srt) + subtitlesformat: Subtitle format [srt/sbt/vtt] (default=srt) subtitleslang: Language of the subtitles to download keepvideo: Keep the video file after post-processing daterange: A DateRange object, download only if the upload_date is in the range. diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 42abb8358..6a8fc5e96 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -205,7 +205,7 @@ def parseOpts(overrideArguments=None): help='lists all available subtitles for the video (currently youtube only)', default=False) video_format.add_option('--sub-format', action='store', dest='subtitlesformat', metavar='FORMAT', - help='subtitle format [srt/sbv] (default=srt) (currently youtube only)', default='srt') + help='subtitle format [srt/sbv/vtt] (default=srt) (currently youtube only)', default='srt') video_format.add_option('--sub-lang', '--srt-lang', action='store', dest='subtitleslang', metavar='LANG', help='language of the subtitles to download (optional) use IETF language tags like \'en\'') From 0ca45b233f97f9c2a7faa8fa0f8ff83b93e9fe5a Mon Sep 17 00:00:00 2001 From: Ismael Mejia Date: Wed, 26 Jun 2013 11:34:38 +0200 Subject: [PATCH 2/3] Added missing write-auto-sub option in README file --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e43332724..d63c5bbe7 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,7 @@ which means you can modify it, redistribute it or use it however you like. -F, --list-formats list all available formats (currently youtube only) --write-sub write subtitle file (currently youtube only) + --write-auto-sub write automatic subtitle file (currently youtube only) --only-sub [deprecated] alias of --skip-download --all-subs downloads all the available subtitles of the video (currently youtube only) From b98a6b2f723de93061b58c062f9834d634b9c754 Mon Sep 17 00:00:00 2001 From: Ismael Mejia Date: Wed, 26 Jun 2013 11:59:29 +0200 Subject: [PATCH 3/3] Fixed typo in subtitle format option (from: sbt => sbv) --- youtube_dl/YoutubeDL.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 4abcbbeac..9931c98e9 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -75,7 +75,7 @@ class YoutubeDL(object): writeautomaticsub: Write the automatic subtitles to a file allsubtitles: Downloads all the subtitles of the video listsubtitles: Lists all available subtitles for the video - subtitlesformat: Subtitle format [srt/sbt/vtt] (default=srt) + subtitlesformat: Subtitle format [srt/sbv/vtt] (default=srt) subtitleslang: Language of the subtitles to download keepvideo: Keep the video file after post-processing daterange: A DateRange object, download only if the upload_date is in the range.