]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/mgtv.py
Deprioritize HEVC-over-FLV formats (#5823)
[yt-dlp.git] / yt_dlp / extractor / mgtv.py
index 96f3fb98256c50eef38637e03e030b529acb523b..edc92b371fbe43d390f0fd639c20a2736f7ae965 100644 (file)
@@ -67,7 +67,7 @@ class MGTVIE(InfoExtractor):
     def _real_extract(self, url):
         video_id = self._match_id(url)
         tk2 = base64.urlsafe_b64encode(
-            f'did={compat_str(uuid.uuid4()).encode()}|pno=1030|ver=0.3.0301|clit={int(time.time())}'.encode())[::-1]
+            f'did={str(uuid.uuid4())}|pno=1030|ver=0.3.0301|clit={int(time.time())}'.encode())[::-1]
         try:
             api_data = self._download_json(
                 'https://pcweb.api.mgtv.com/player/video', video_id, query={
@@ -117,7 +117,6 @@ def _real_extract(self, url):
                 },
                 'format_note': stream.get('name'),
             })
-        self._sort_formats(formats)
 
         return {
             'id': video_id,
@@ -137,14 +136,15 @@ def _get_subtitles(self, video_id, domain):
             url_sub = sub.get('url')
             if not url_sub:
                 continue
-            locale = sub.get('captionCountrySimpleName')
+            locale = sub.get('captionSimpleName') or 'en'
             sub = self._download_json(f'{domain}{url_sub}', video_id, fatal=False,
                                       note=f'Download subtitle for locale {sub.get("name")} ({locale})') or {}
             sub_url = url_or_none(sub.get('info'))
             if not sub_url:
                 continue
-            subtitles.setdefault(locale or 'en', []).append({
+            subtitles.setdefault(locale.lower(), []).append({
                 'url': sub_url,
+                'name': sub.get('name'),
                 'ext': 'srt'
             })
         return subtitles