Browse Source

[periscope] Use accessVideoPublic endpoint (closes #15554)

Sergey M․ 7 years ago
parent
commit
d2b200eef9
1 changed files with 7 additions and 12 deletions
  1. 7 12
      youtube_dl/extractor/periscope.py

+ 7 - 12
youtube_dl/extractor/periscope.py

@@ -56,18 +56,16 @@ class PeriscopeIE(PeriscopeBaseIE):
     def _real_extract(self, url):
     def _real_extract(self, url):
         token = self._match_id(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()
         state = broadcast.get('state').lower()
         if state == 'running':
         if state == 'running':
             title = self._live_title(title)
             title = self._live_title(title)
@@ -77,9 +75,6 @@ class PeriscopeIE(PeriscopeBaseIE):
             'url': broadcast[image],
             'url': broadcast[image],
         } for image in ('image_url', 'image_url_small') if broadcast.get(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()
         video_urls = set()
         formats = []
         formats = []
         for format_id in ('replay', 'rtmp', 'hls', 'https_hls', 'lhls', 'lhlsweb'):
         for format_id in ('replay', 'rtmp', 'hls', 'https_hls', 'lhls', 'lhlsweb'):