diff options
author | Remita Amine <remitamine@gmail.com> | 2016-08-06 19:24:59 +0100 |
---|---|---|
committer | Remita Amine <remitamine@gmail.com> | 2016-08-06 19:24:59 +0100 |
commit | b0af12154e4a76bf7d493c7eb75cdeea6cf8fe17 (patch) | |
tree | eb7f1551692b8ba54ba078d588d144258ef24b9f | |
parent | d16b3c6677f1f699635892876f4566962094221d (diff) |
[bbc] reduce requests and improve format_id
-rw-r--r-- | youtube_dl/extractor/bbc.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/youtube_dl/extractor/bbc.py b/youtube_dl/extractor/bbc.py index 45c562bd8..35d042e4d 100644 --- a/youtube_dl/extractor/bbc.py +++ b/youtube_dl/extractor/bbc.py @@ -294,6 +294,7 @@ class BBCCoUkIE(InfoExtractor): def _process_media_selector(self, media_selection, programme_id): formats = [] subtitles = None + urls = [] for media in self._extract_medias(media_selection): kind = media.get('kind') @@ -305,10 +306,14 @@ class BBCCoUkIE(InfoExtractor): height = int_or_none(media.get('height')) file_size = int_or_none(media.get('media_file_size')) for connection in self._extract_connections(media): + href = connection.get('href') + if href in urls: + continue + if href: + urls.append(href) conn_kind = connection.get('kind') protocol = connection.get('protocol') supplier = connection.get('supplier') - href = connection.get('href') transfer_format = connection.get('transferFormat') format_id = supplier or conn_kind or protocol if service: @@ -331,6 +336,8 @@ class BBCCoUkIE(InfoExtractor): formats.extend(self._extract_f4m_formats( href, programme_id, f4m_id=format_id, fatal=False)) else: + if bitrate: + format_id += '-%d' % bitrate fmt = { 'format_id': format_id, 'filesize': file_size, |