mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-05-17 17:15:42 -05:00
[ie/niconico:live] Fix extractor (#12809)
Closes #12365 Authored by: Snack-X
This commit is contained in:
parent
3c1c75ecb8
commit
1d45e30537
2 changed files with 9 additions and 0 deletions
|
@ -85,6 +85,7 @@ def communicate_ws(reconnect):
|
||||||
'quality': live_quality,
|
'quality': live_quality,
|
||||||
'protocol': 'hls+fmp4',
|
'protocol': 'hls+fmp4',
|
||||||
'latency': live_latency,
|
'latency': live_latency,
|
||||||
|
'accessRightMethod': 'single_cookie',
|
||||||
'chasePlay': False,
|
'chasePlay': False,
|
||||||
},
|
},
|
||||||
'room': {
|
'room': {
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
traverse_obj,
|
traverse_obj,
|
||||||
try_get,
|
try_get,
|
||||||
unescapeHTML,
|
unescapeHTML,
|
||||||
|
unified_timestamp,
|
||||||
update_url_query,
|
update_url_query,
|
||||||
url_basename,
|
url_basename,
|
||||||
url_or_none,
|
url_or_none,
|
||||||
|
@ -985,6 +986,7 @@ def _real_extract(self, url):
|
||||||
'quality': 'abr',
|
'quality': 'abr',
|
||||||
'protocol': 'hls+fmp4',
|
'protocol': 'hls+fmp4',
|
||||||
'latency': latency,
|
'latency': latency,
|
||||||
|
'accessRightMethod': 'single_cookie',
|
||||||
'chasePlay': False,
|
'chasePlay': False,
|
||||||
},
|
},
|
||||||
'room': {
|
'room': {
|
||||||
|
@ -1005,6 +1007,7 @@ def _real_extract(self, url):
|
||||||
if data.get('type') == 'stream':
|
if data.get('type') == 'stream':
|
||||||
m3u8_url = data['data']['uri']
|
m3u8_url = data['data']['uri']
|
||||||
qualities = data['data']['availableQualities']
|
qualities = data['data']['availableQualities']
|
||||||
|
cookies = data['data']['cookies']
|
||||||
break
|
break
|
||||||
elif data.get('type') == 'disconnect':
|
elif data.get('type') == 'disconnect':
|
||||||
self.write_debug(recv)
|
self.write_debug(recv)
|
||||||
|
@ -1043,6 +1046,11 @@ def _real_extract(self, url):
|
||||||
**res,
|
**res,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
for cookie in cookies:
|
||||||
|
self._set_cookie(
|
||||||
|
cookie['domain'], cookie['name'], cookie['value'],
|
||||||
|
expire_time=unified_timestamp(cookie['expires']), path=cookie['path'], secure=cookie['secure'])
|
||||||
|
|
||||||
formats = self._extract_m3u8_formats(m3u8_url, video_id, ext='mp4', live=True)
|
formats = self._extract_m3u8_formats(m3u8_url, video_id, ext='mp4', live=True)
|
||||||
for fmt, q in zip(formats, reversed(qualities[1:])):
|
for fmt, q in zip(formats, reversed(qualities[1:])):
|
||||||
fmt.update({
|
fmt.update({
|
||||||
|
|
Loading…
Reference in a new issue