diff --git a/yt_dlp/downloader/niconico.py b/yt_dlp/downloader/niconico.py index 311914020..35a12b555 100644 --- a/yt_dlp/downloader/niconico.py +++ b/yt_dlp/downloader/niconico.py @@ -23,6 +23,7 @@ def real_download(self, filename, info_dict): new_info_dict['protocol'] = 'm3u8' def communicate_ws(reconnect): + # Support --load-info-json as if it is a reconnect attempt if reconnect or not isinstance(ws_extractor, WebSocketResponse): ws = self.ydl.urlopen(Request( ws_url, headers={'Origin': 'https://live.nicovideo.jp'})) diff --git a/yt_dlp/extractor/niconico.py b/yt_dlp/extractor/niconico.py index 720c5ac5d..a20e570e6 100644 --- a/yt_dlp/extractor/niconico.py +++ b/yt_dlp/extractor/niconico.py @@ -817,7 +817,8 @@ def _real_extract(self, url): {extract_attributes}, 'data-props', {json.loads})) frontend_id = traverse_obj(embedded_data, ('site', 'frontendId', {str_or_none}), default='9') - ws_url = traverse_obj(embedded_data, ('site', 'relive', 'webSocketUrl', {url_or_none}, {require('websocket URL')})) + ws_url = traverse_obj(embedded_data, ( + 'site', 'relive', 'webSocketUrl', {url_or_none}, {require('websocket URL')})) ws_url = update_url_query(ws_url, {'frontend_id': frontend_id}) ws = self._request_webpage( ws_url, video_id, 'Connecting to WebSocket server',