mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-07-02 16:28:52 +00:00
[ie/mgtv] Fix VIP stream extraction (#16982)
Authored by: longcharmroeun
This commit is contained in:
parent
f69e64a954
commit
6b67e1f2b7
@ -9,6 +9,7 @@ from ..utils import (
|
|||||||
int_or_none,
|
int_or_none,
|
||||||
parse_resolution,
|
parse_resolution,
|
||||||
traverse_obj,
|
traverse_obj,
|
||||||
|
try_call,
|
||||||
try_get,
|
try_get,
|
||||||
url_or_none,
|
url_or_none,
|
||||||
urljoin,
|
urljoin,
|
||||||
@ -94,12 +95,18 @@ class MGTVIE(InfoExtractor):
|
|||||||
raise
|
raise
|
||||||
|
|
||||||
stream_data = self._download_json(
|
stream_data = self._download_json(
|
||||||
'https://pcweb.api.mgtv.com/player/getSource', video_id, query={
|
'https://tinker.glb.mgtv.com/player/getSource', video_id, query={
|
||||||
|
'_support': '10000000',
|
||||||
'tk2': tk2,
|
'tk2': tk2,
|
||||||
'pm2': api_data['atc']['pm2'],
|
'pm2': api_data['atc']['pm2'],
|
||||||
'video_id': video_id,
|
'video_id': video_id,
|
||||||
'type': 'pch5',
|
'type': 'pch5',
|
||||||
|
'auth_mode': '1',
|
||||||
|
'cxid': '',
|
||||||
|
'supportMse': '1',
|
||||||
'src': 'intelmgtv',
|
'src': 'intelmgtv',
|
||||||
|
'abroad': try_call(lambda: self._get_cookies('https://www.mgtv.com')['abroad'].value) or '10',
|
||||||
|
'allowedRC': '1',
|
||||||
}, headers=self.geo_verification_headers())['data']
|
}, headers=self.geo_verification_headers())['data']
|
||||||
stream_domain = traverse_obj(stream_data, ('stream_domain', ..., {url_or_none}), get_all=False)
|
stream_domain = traverse_obj(stream_data, ('stream_domain', ..., {url_or_none}), get_all=False)
|
||||||
|
|
||||||
@ -110,7 +117,8 @@ class MGTVIE(InfoExtractor):
|
|||||||
self._RESOLUTIONS, (stream_name, 1 if stream.get('scale') == '16:9' else 0))
|
self._RESOLUTIONS, (stream_name, 1 if stream.get('scale') == '16:9' else 0))
|
||||||
format_url = traverse_obj(self._download_json(
|
format_url = traverse_obj(self._download_json(
|
||||||
urljoin(stream_domain, stream['url']), video_id, fatal=False,
|
urljoin(stream_domain, stream['url']), video_id, fatal=False,
|
||||||
note=f'Downloading video info for format {resolution or stream_name}'),
|
note=f'Downloading video info for format {resolution or stream_name}',
|
||||||
|
headers=self.geo_verification_headers()),
|
||||||
('info', {url_or_none}))
|
('info', {url_or_none}))
|
||||||
if not format_url:
|
if not format_url:
|
||||||
continue
|
continue
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user