summary refs log tree commit diff
diff options
context:
space:
mode:
authorremitamine <remitamine@gmail.com>2016-04-30 14:02:17 +0100
committerremitamine <remitamine@gmail.com>2016-04-30 14:02:17 +0100
commite0e9bbb0e9dd92f526b04584c47e6509a73fed04 (patch)
tree212b849c1eb1454177c0608d590e4d713c0d5f81
parent7691184a3128bd46544ff49e264322d5e9187fdc (diff)
downloadyoutube-dl-e0e9bbb0e9dd92f526b04584c47e6509a73fed04.tar.gz
youtube-dl-e0e9bbb0e9dd92f526b04584c47e6509a73fed04.tar.xz
youtube-dl-e0e9bbb0e9dd92f526b04584c47e6509a73fed04.zip
[pbs] extract srt and vtt subtitles
-rw-r--r--youtube_dl/extractor/pbs.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/youtube_dl/extractor/pbs.py b/youtube_dl/extractor/pbs.py
index 35fb1798d..81918ac6e 100644
--- a/youtube_dl/extractor/pbs.py
+++ b/youtube_dl/extractor/pbs.py
@@ -537,6 +537,19 @@ class PBSIE(InfoExtractor):
                 'ext': 'ttml',
                 'url': closed_captions_url,
             }]
+            mobj = re.search(r'/(\d+)_Encoded\.dfxp', closed_captions_url)
+            if mobj:
+                ttml_caption_suffix, ttml_caption_id = mobj.group(0, 1)
+                ttml_caption_id = int(ttml_caption_id)
+                subtitles['en'].extend([{
+                    'url': closed_captions_url.replace(
+                        ttml_caption_suffix, '/%d_Encoded.srt' % (ttml_caption_id + 1)),
+                    'ext': 'srt',
+                }, {
+                    'url': closed_captions_url.replace(
+                        ttml_caption_suffix, '/%d_Encoded.vtt' % (ttml_caption_id + 2)),
+                    'ext': 'vtt',
+                }])
 
         # info['title'] is often incomplete (e.g. 'Full Episode', 'Episode 5', etc)
         # Try turning it to 'program - title' naming scheme if possible