diff --git a/youtube_dl/extractor/bbc.py b/youtube_dl/extractor/bbc.py index 378b52f4f..0718fe41f 100644 --- a/youtube_dl/extractor/bbc.py +++ b/youtube_dl/extractor/bbc.py @@ -25,6 +25,7 @@ from ..utils import ( get_element_by_class, int_or_none, js_to_json, + parse_bitrate, parse_duration, parse_iso8601, strip_or_none, @@ -647,9 +648,7 @@ class BBCIE(BBCCoUkIE): 'skip_download': True, } }, { - # article with single video embedded with data-playable containing XML playlist - # with direct video links as progressiveDownloadUrl (for now these are extracted) - # and playlist with f4m and m3u8 as streamingUrl + # article with single video (formerly) embedded, now using SIMORGH_DATA JSON 'url': 'http://www.bbc.com/turkce/haberler/2015/06/150615_telabyad_kentin_cogu', 'info_dict': { 'id': '150615_telabyad_kentin_cogu', @@ -661,12 +660,13 @@ class BBCIE(BBCCoUkIE): }, 'params': { 'skip_download': True, - } + }, + 'skip': 'Video no longer embedded, 2021', }, { - # single video embedded with data-playable containing XML playlists (regional section) + # single video embedded, legacy media, in promo object of SIMORGH_DATA JSON 'url': 'http://www.bbc.com/mundo/video_fotos/2015/06/150619_video_honduras_militares_hospitales_corrupcion_aw', 'info_dict': { - 'id': '150619_video_honduras_militares_hospitales_corrupcion_aw', + 'id': '39275083', 'ext': 'mp4', 'title': 'Honduras militariza sus hospitales por nuevo escándalo de corrupción', 'description': 'md5:1525f17448c4ee262b64b8f0c9ce66c8', @@ -845,6 +845,18 @@ class BBCIE(BBCCoUkIE): 'upload_date': '20190604', 'categories': ['Psychology'], }, + }, { + # BBC World Service etc: media nested in content object of SIMORGH_DATA JSON + 'url': 'http://www.bbc.co.uk/scotland/articles/cm49v4x1r9lo', + 'info_dict': { + 'id': 'p06p040v', + 'ext': 'mp4', + 'title': 'Five things ants can teach us about management', + 'description': 'They may be tiny, but us humans could learn a thing or two from ants.', + 'duration': 191, + 'thumbnail': r're:https?://.+/p06p0qzv.jpg', + 'upload_date': '20181016', + }, }] @classmethod @@ -1107,6 +1119,99 @@ class BBCIE(BBCCoUkIE): 'subtitles': subtitles, } + # simorgh-based playlist (see https://github.com/bbc/simorgh) + # JSON assigned to window.SIMORGH_DATA in a