|
@ -55,11 +55,12 @@ class BBCCoUkIE(InfoExtractor): |
|
|
'url': 'http://www.bbc.co.uk/programmes/b039g8p7', |
|
|
'url': 'http://www.bbc.co.uk/programmes/b039g8p7', |
|
|
'info_dict': { |
|
|
'info_dict': { |
|
|
'id': 'b039d07m', |
|
|
'id': 'b039d07m', |
|
|
'ext': 'mp4', |
|
|
|
|
|
|
|
|
'ext': 'flv', |
|
|
'title': 'Leonard Cohen, Kaleidoscope - BBC Radio 4', |
|
|
'title': 'Leonard Cohen, Kaleidoscope - BBC Radio 4', |
|
|
'description': 'The Canadian poet and songwriter reflects on his musical career.', |
|
|
'description': 'The Canadian poet and songwriter reflects on his musical career.', |
|
|
}, |
|
|
}, |
|
|
'params': { |
|
|
'params': { |
|
|
|
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
@ -91,7 +92,7 @@ class BBCCoUkIE(InfoExtractor): |
|
|
# rtmp download |
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
}, |
|
|
}, |
|
|
'skip': 'this episode is not currently available', |
|
|
|
|
|
|
|
|
'skip': 'Currently BBC iPlayer TV programmes are available to play in the UK only', |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
'url': 'http://www.bbc.co.uk/iplayer/episode/p026c7jt/tomorrows-worlds-the-unearthly-history-of-science-fiction-2-invasion', |
|
|
'url': 'http://www.bbc.co.uk/iplayer/episode/p026c7jt/tomorrows-worlds-the-unearthly-history-of-science-fiction-2-invasion', |
|
@ -106,7 +107,7 @@ class BBCCoUkIE(InfoExtractor): |
|
|
# rtmp download |
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
}, |
|
|
}, |
|
|
'skip': 'this episode is not currently available', |
|
|
|
|
|
|
|
|
'skip': 'Currently BBC iPlayer TV programmes are available to play in the UK only', |
|
|
}, { |
|
|
}, { |
|
|
'url': 'http://www.bbc.co.uk/programmes/b04v20dw', |
|
|
'url': 'http://www.bbc.co.uk/programmes/b04v20dw', |
|
|
'info_dict': { |
|
|
'info_dict': { |
|
@ -126,12 +127,13 @@ class BBCCoUkIE(InfoExtractor): |
|
|
'note': 'Audio', |
|
|
'note': 'Audio', |
|
|
'info_dict': { |
|
|
'info_dict': { |
|
|
'id': 'p022h44j', |
|
|
'id': 'p022h44j', |
|
|
'ext': 'mp4', |
|
|
|
|
|
|
|
|
'ext': 'flv', |
|
|
'title': 'BBC Proms Music Guides, Rachmaninov: Symphonic Dances', |
|
|
'title': 'BBC Proms Music Guides, Rachmaninov: Symphonic Dances', |
|
|
'description': "In this Proms Music Guide, Andrew McGregor looks at Rachmaninov's Symphonic Dances.", |
|
|
'description': "In this Proms Music Guide, Andrew McGregor looks at Rachmaninov's Symphonic Dances.", |
|
|
'duration': 227, |
|
|
'duration': 227, |
|
|
}, |
|
|
}, |
|
|
'params': { |
|
|
'params': { |
|
|
|
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
} |
|
|
} |
|
|
}, { |
|
|
}, { |
|
@ -139,12 +141,13 @@ class BBCCoUkIE(InfoExtractor): |
|
|
'note': 'Video', |
|
|
'note': 'Video', |
|
|
'info_dict': { |
|
|
'info_dict': { |
|
|
'id': 'p025c103', |
|
|
'id': 'p025c103', |
|
|
'ext': 'mp4', |
|
|
|
|
|
|
|
|
'ext': 'flv', |
|
|
'title': 'Reading and Leeds Festival, 2014, Rae Morris - Closer (Live on BBC Three)', |
|
|
'title': 'Reading and Leeds Festival, 2014, Rae Morris - Closer (Live on BBC Three)', |
|
|
'description': 'Rae Morris performs Closer for BBC Three at Reading 2014', |
|
|
'description': 'Rae Morris performs Closer for BBC Three at Reading 2014', |
|
|
'duration': 226, |
|
|
'duration': 226, |
|
|
}, |
|
|
}, |
|
|
'params': { |
|
|
'params': { |
|
|
|
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
} |
|
|
} |
|
|
}, { |
|
|
}, { |
|
@ -160,7 +163,7 @@ class BBCCoUkIE(InfoExtractor): |
|
|
# rtmp download |
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
}, |
|
|
}, |
|
|
'skip': 'this episode is not currently available', |
|
|
|
|
|
|
|
|
'skip': 'geolocation', |
|
|
}, { |
|
|
}, { |
|
|
'url': 'http://www.bbc.co.uk/iplayer/episode/b05zmgwn/royal-academy-summer-exhibition', |
|
|
'url': 'http://www.bbc.co.uk/iplayer/episode/b05zmgwn/royal-academy-summer-exhibition', |
|
|
'info_dict': { |
|
|
'info_dict': { |
|
@ -174,7 +177,7 @@ class BBCCoUkIE(InfoExtractor): |
|
|
# rtmp download |
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
}, |
|
|
}, |
|
|
'skip': 'this episode is not currently available', |
|
|
|
|
|
|
|
|
'skip': 'geolocation', |
|
|
}, { |
|
|
}, { |
|
|
# iptv-all mediaset fails with geolocation however there is no geo restriction |
|
|
# iptv-all mediaset fails with geolocation however there is no geo restriction |
|
|
# for this programme at all |
|
|
# for this programme at all |
|
@ -189,17 +192,18 @@ class BBCCoUkIE(InfoExtractor): |
|
|
# rtmp download |
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
}, |
|
|
}, |
|
|
'skip': 'this episode is not currently available on BBC iPlayer Radio', |
|
|
|
|
|
|
|
|
'skip': 'Now it\'s really geo-restricted', |
|
|
}, { |
|
|
}, { |
|
|
# compact player (https://github.com/rg3/youtube-dl/issues/8147) |
|
|
# compact player (https://github.com/rg3/youtube-dl/issues/8147) |
|
|
'url': 'http://www.bbc.co.uk/programmes/p028bfkf/player', |
|
|
'url': 'http://www.bbc.co.uk/programmes/p028bfkf/player', |
|
|
'info_dict': { |
|
|
'info_dict': { |
|
|
'id': 'p028bfkj', |
|
|
'id': 'p028bfkj', |
|
|
'ext': 'mp4', |
|
|
|
|
|
|
|
|
'ext': 'flv', |
|
|
'title': 'Extract from BBC documentary Look Stranger - Giant Leeks and Magic Brews', |
|
|
'title': 'Extract from BBC documentary Look Stranger - Giant Leeks and Magic Brews', |
|
|
'description': 'Extract from BBC documentary Look Stranger - Giant Leeks and Magic Brews', |
|
|
'description': 'Extract from BBC documentary Look Stranger - Giant Leeks and Magic Brews', |
|
|
}, |
|
|
}, |
|
|
'params': { |
|
|
'params': { |
|
|
|
|
|
# rtmp download |
|
|
'skip_download': True, |
|
|
'skip_download': True, |
|
|
}, |
|
|
}, |
|
|
}, { |
|
|
}, { |
|
@ -245,7 +249,7 @@ class BBCCoUkIE(InfoExtractor): |
|
|
pass |
|
|
pass |
|
|
elif transfer_format == 'hls': |
|
|
elif transfer_format == 'hls': |
|
|
formats.extend(self._extract_m3u8_formats( |
|
|
formats.extend(self._extract_m3u8_formats( |
|
|
href, programme_id, 'mp4', 'm3u8_native', |
|
|
|
|
|
|
|
|
href, programme_id, ext='mp4', entry_protocol='m3u8_native', |
|
|
m3u8_id=supplier, fatal=False)) |
|
|
m3u8_id=supplier, fatal=False)) |
|
|
# Direct link |
|
|
# Direct link |
|
|
else: |
|
|
else: |
|
@ -301,14 +305,13 @@ class BBCCoUkIE(InfoExtractor): |
|
|
for connection in self._extract_connections(media): |
|
|
for connection in self._extract_connections(media): |
|
|
conn_formats = self._extract_connection(connection, programme_id) |
|
|
conn_formats = self._extract_connection(connection, programme_id) |
|
|
for format in conn_formats: |
|
|
for format in conn_formats: |
|
|
if format.get('protocol') != 'm3u8_native': |
|
|
|
|
|
format.update({ |
|
|
|
|
|
'width': width, |
|
|
|
|
|
'height': height, |
|
|
|
|
|
'vbr': vbr, |
|
|
|
|
|
'vcodec': vcodec, |
|
|
|
|
|
'filesize': file_size, |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
format.update({ |
|
|
|
|
|
'width': width, |
|
|
|
|
|
'height': height, |
|
|
|
|
|
'vbr': vbr, |
|
|
|
|
|
'vcodec': vcodec, |
|
|
|
|
|
'filesize': file_size, |
|
|
|
|
|
}) |
|
|
if service: |
|
|
if service: |
|
|
format['format_id'] = '%s_%s' % (service, format['format_id']) |
|
|
format['format_id'] = '%s_%s' % (service, format['format_id']) |
|
|
formats.extend(conn_formats) |
|
|
formats.extend(conn_formats) |
|
|