mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[ie/chzzk:video] Fix extraction (#12692)
Closes #12487 Authored by: dirkf, bashonly Co-authored-by: dirkf <fieldhouse@gmx.net>
This commit is contained in:
		| @@ -21,7 +21,7 @@ class CHZZKLiveIE(InfoExtractor): | ||||
|             'channel': '진짜도현', | ||||
|             'channel_id': 'c68b8ef525fb3d2fa146344d84991753', | ||||
|             'channel_is_verified': False, | ||||
|             'thumbnail': r're:^https?://.*\.jpg$', | ||||
|             'thumbnail': r're:https?://.+/.+\.jpg', | ||||
|             'timestamp': 1705510344, | ||||
|             'upload_date': '20240117', | ||||
|             'live_status': 'is_live', | ||||
| @@ -98,7 +98,7 @@ class CHZZKVideoIE(InfoExtractor): | ||||
|             'channel': '침착맨', | ||||
|             'channel_id': 'bb382c2c0cc9fa7c86ab3b037fb5799c', | ||||
|             'channel_is_verified': False, | ||||
|             'thumbnail': r're:^https?://.*\.jpg$', | ||||
|             'thumbnail': r're:https?://.+/.+\.jpg', | ||||
|             'duration': 15577, | ||||
|             'timestamp': 1702970505.417, | ||||
|             'upload_date': '20231219', | ||||
| @@ -115,7 +115,7 @@ class CHZZKVideoIE(InfoExtractor): | ||||
|             'channel': '라디유radiyu', | ||||
|             'channel_id': '68f895c59a1043bc5019b5e08c83a5c5', | ||||
|             'channel_is_verified': False, | ||||
|             'thumbnail': r're:^https?://.*\.jpg$', | ||||
|             'thumbnail': r're:https?://.+/.+\.jpg', | ||||
|             'duration': 95, | ||||
|             'timestamp': 1703102631.722, | ||||
|             'upload_date': '20231220', | ||||
| @@ -131,12 +131,30 @@ class CHZZKVideoIE(InfoExtractor): | ||||
|             'channel': '강지', | ||||
|             'channel_id': 'b5ed5db484d04faf4d150aedd362f34b', | ||||
|             'channel_is_verified': True, | ||||
|             'thumbnail': r're:^https?://.*\.jpg$', | ||||
|             'thumbnail': r're:https?://.+/.+\.jpg', | ||||
|             'duration': 4433, | ||||
|             'timestamp': 1703307460.214, | ||||
|             'upload_date': '20231223', | ||||
|             'view_count': int, | ||||
|         }, | ||||
|     }, { | ||||
|         # video_status == 'NONE' but is downloadable | ||||
|         'url': 'https://chzzk.naver.com/video/6325166', | ||||
|         'info_dict': { | ||||
|             'id': '6325166', | ||||
|             'ext': 'mp4', | ||||
|             'title': '와이프 숙제빼주기', | ||||
|             'channel': '이 다', | ||||
|             'channel_id': '0076a519f147ee9fd0959bf02f9571ca', | ||||
|             'channel_is_verified': False, | ||||
|             'view_count': int, | ||||
|             'duration': 28167, | ||||
|             'thumbnail': r're:https?://.+/.+\.jpg', | ||||
|             'timestamp': 1742139216.86, | ||||
|             'upload_date': '20250316', | ||||
|             'live_status': 'was_live', | ||||
|         }, | ||||
|         'params': {'skip_download': 'm3u8'}, | ||||
|     }] | ||||
| 
 | ||||
|     def _real_extract(self, url): | ||||
| @@ -147,11 +165,7 @@ class CHZZKVideoIE(InfoExtractor): | ||||
| 
 | ||||
|         live_status = 'was_live' if video_meta.get('liveOpenDate') else 'not_live' | ||||
|         video_status = video_meta.get('vodStatus') | ||||
|         if video_status == 'UPLOAD': | ||||
|             playback = self._parse_json(video_meta['liveRewindPlaybackJson'], video_id) | ||||
|             formats, subtitles = self._extract_m3u8_formats_and_subtitles( | ||||
|                 playback['media'][0]['path'], video_id, 'mp4', m3u8_id='hls') | ||||
|         elif video_status == 'ABR_HLS': | ||||
|         if video_status == 'ABR_HLS': | ||||
|             formats, subtitles = self._extract_mpd_formats_and_subtitles( | ||||
|                 f'https://apis.naver.com/neonplayer/vodplay/v1/playback/{video_meta["videoId"]}', | ||||
|                 video_id, query={ | ||||
| @@ -161,10 +175,17 @@ class CHZZKVideoIE(InfoExtractor): | ||||
|                     'cpl': 'en_US', | ||||
|                 }) | ||||
|         else: | ||||
|             self.raise_no_formats( | ||||
|                 f'Unknown video status detected: "{video_status}"', expected=True, video_id=video_id) | ||||
|             formats, subtitles = [], {} | ||||
|             live_status = 'post_live' if live_status == 'was_live' else None | ||||
|             fatal = video_status == 'UPLOAD' | ||||
|             playback = self._parse_json(video_meta['liveRewindPlaybackJson'], video_id, fatal=fatal) | ||||
|             formats, subtitles = self._extract_m3u8_formats_and_subtitles( | ||||
|                 traverse_obj(playback, ('media', 0, 'path')), video_id, 'mp4', m3u8_id='hls', fatal=fatal) | ||||
|             if formats and video_status != 'UPLOAD': | ||||
|                 self.write_debug(f'Video found with status: "{video_status}"') | ||||
|             elif not formats: | ||||
|                 self.raise_no_formats( | ||||
|                     f'Unknown video status detected: "{video_status}"', expected=True, video_id=video_id) | ||||
|                 formats, subtitles = [], {} | ||||
|                 live_status = 'post_live' if live_status == 'was_live' else None | ||||
| 
 | ||||
|         return { | ||||
|             'id': video_id, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bashonly
					bashonly