mirror of
https://gitlab.com/dstftw/youtube-dl.git
synced 2020-11-16 09:42:26 +00:00
[cbs] extract smpte and vtt subtitles
This commit is contained in:
parent
972d2dd0bc
commit
180a9dff1f
|
@ -13,13 +13,17 @@ from ..utils import (
|
||||||
|
|
||||||
class CBSBaseIE(ThePlatformFeedIE):
|
class CBSBaseIE(ThePlatformFeedIE):
|
||||||
def _parse_smil_subtitles(self, smil, namespace=None, subtitles_lang='en'):
|
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')
|
subtitles = {}
|
||||||
return {
|
for k, ext in [('sMPTE-TTCCURL', 'tt'), ('ClosedCaptionURL', 'ttml'), ('webVTTCaptionURL', 'vtt')]:
|
||||||
'en': [{
|
cc_e = find_xpath_attr(smil, self._xpath_ns('.//param', namespace), 'name', k)
|
||||||
'ext': 'ttml',
|
if cc_e is not None:
|
||||||
'url': closed_caption_e.attrib['value'],
|
cc_url = cc_e.get('value')
|
||||||
}]
|
if cc_url:
|
||||||
} if closed_caption_e is not None and closed_caption_e.attrib.get('value') else []
|
subtitles.setdefault(subtitles_lang, []).append({
|
||||||
|
'ext': ext,
|
||||||
|
'url': cc_url,
|
||||||
|
})
|
||||||
|
return subtitles
|
||||||
|
|
||||||
|
|
||||||
class CBSIE(CBSBaseIE):
|
class CBSIE(CBSBaseIE):
|
||||||
|
|
Loading…
Reference in a new issue