commit: 180a9dff1f750d2e09cbbf3ec6d349fcb94c3ab3
parent 972d2dd0bc2a3ae0381cca5d58d382eb9511f2d0
Author: Remita Amine <remitamine@gmail.com>
Date: Sat, 13 Apr 2019 17:00:24 +0100
[cbs] extract smpte and vtt subtitles
Diffstat:
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/youtube_dl/extractor/cbs.py b/youtube_dl/extractor/cbs.py
@@ -13,13 +13,17 @@ from ..utils import (
class CBSBaseIE(ThePlatformFeedIE):
def _parse_smil_subtitles(self, smil, namespace=None, subtitles_lang='en'):
- closed_caption_e = find_xpath_attr(smil, self._xpath_ns('.//param', namespace), 'name', 'ClosedCaptionURL')
- return {
- 'en': [{
- 'ext': 'ttml',
- 'url': closed_caption_e.attrib['value'],
- }]
- } if closed_caption_e is not None and closed_caption_e.attrib.get('value') else []
+ subtitles = {}
+ for k, ext in [('sMPTE-TTCCURL', 'tt'), ('ClosedCaptionURL', 'ttml'), ('webVTTCaptionURL', 'vtt')]:
+ cc_e = find_xpath_attr(smil, self._xpath_ns('.//param', namespace), 'name', k)
+ if cc_e is not None:
+ cc_url = cc_e.get('value')
+ if cc_url:
+ subtitles.setdefault(subtitles_lang, []).append({
+ 'ext': ext,
+ 'url': cc_url,
+ })
+ return subtitles
class CBSIE(CBSBaseIE):