|
|
|
@ -56,18 +56,16 @@ class PeriscopeIE(PeriscopeBaseIE):
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
|
token = self._match_id(url)
|
|
|
|
|
|
|
|
|
|
broadcast_data = self._call_api(
|
|
|
|
|
'getBroadcastPublic', {'broadcast_id': token}, token)
|
|
|
|
|
broadcast = broadcast_data['broadcast']
|
|
|
|
|
status = broadcast['status']
|
|
|
|
|
stream = self._call_api(
|
|
|
|
|
'accessVideoPublic', {'broadcast_id': token}, token)
|
|
|
|
|
|
|
|
|
|
user = broadcast_data.get('user', {})
|
|
|
|
|
broadcast = stream['broadcast']
|
|
|
|
|
title = broadcast['status']
|
|
|
|
|
|
|
|
|
|
uploader = broadcast.get('user_display_name') or user.get('display_name')
|
|
|
|
|
uploader_id = (broadcast.get('username') or user.get('username') or
|
|
|
|
|
broadcast.get('user_id') or user.get('id'))
|
|
|
|
|
uploader = broadcast.get('user_display_name') or broadcast.get('username')
|
|
|
|
|
uploader_id = (broadcast.get('user_id') or broadcast.get('username'))
|
|
|
|
|
|
|
|
|
|
title = '%s - %s' % (uploader, status) if uploader else status
|
|
|
|
|
title = '%s - %s' % (uploader, title) if uploader else title
|
|
|
|
|
state = broadcast.get('state').lower()
|
|
|
|
|
if state == 'running':
|
|
|
|
|
title = self._live_title(title)
|
|
|
|
@ -77,9 +75,6 @@ class PeriscopeIE(PeriscopeBaseIE):
|
|
|
|
|
'url': broadcast[image],
|
|
|
|
|
} for image in ('image_url', 'image_url_small') if broadcast.get(image)]
|
|
|
|
|
|
|
|
|
|
stream = self._call_api(
|
|
|
|
|
'getAccessPublic', {'broadcast_id': token}, token)
|
|
|
|
|
|
|
|
|
|
video_urls = set()
|
|
|
|
|
formats = []
|
|
|
|
|
for format_id in ('replay', 'rtmp', 'hls', 'https_hls', 'lhls', 'lhlsweb'):
|
|
|
|
|