Skip to content

Commit

Permalink
Use new api instead of constructing m3u8
Browse files Browse the repository at this point in the history
Co-Authored-By: Mozi <[email protected]>
  • Loading branch information
seproDev and pzhlkj6612 committed Nov 17, 2024
1 parent 436e02f commit 7b4e302
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions yt_dlp/extractor/kenh14.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,6 @@ class Kenh14VideoIE(InfoExtractor):
'duration': 198.88,
'timestamp': 1729741590,
},
'expected_warnings': [
'Failed to download m3u8 information: HTTP Error 404: NOT FOUND',
],
}]

def _real_extract(self, url):
Expand All @@ -82,6 +79,22 @@ def _real_extract(self, url):
'https://api.kinghub.vn/video/api/v1/detailVideoByGet?FileName={}'.format(
remove_start(direct_url, 'kenh14cdn.com/')), video_id, fatal=False)

formats = [{'url': f'https://{direct_url}', 'format_id': 'http', 'quality': 1}]
subtitles = {}
video_data = self._download_json(
f'https://{direct_url}.json', video_id, note='Downloading video data', fatal=False)
if video_data:
if hls_url := video_data.get('hls'):
fmts, subs = self._extract_m3u8_formats_and_subtitles(
hls_url, video_id, m3u8_id='hls', fatal=False)
formats.extend(fmts)
self._merge_subtitles(subs, target=subtitles)
if dash_url := video_data.get('mpd'):
fmts, subs = self._extract_mpd_formats_and_subtitles(
dash_url, video_id, mpd_id='dash', fatal=False)
formats.extend(fmts)
self._merge_subtitles(subs, target=subtitles)

return {
**traverse_obj(metadata, {
'duration': ('duration', {parse_duration}),
Expand All @@ -94,10 +107,8 @@ def _real_extract(self, url):
traverse_obj(metadata, ('title', {strip_or_none}))
or clean_html(self._og_search_title(webpage))
or clean_html(get_element_by_class('vdbw-title', webpage))),
'formats': [
{'url': f'https://{direct_url}', 'format_id': 'http'},
*self._extract_m3u8_formats(f'https://{direct_url}/master.m3u8', video_id, fatal=False),
],
'formats': formats,
'subtitles': subtitles,
'description': (
clean_html(self._og_search_description(webpage))
or clean_html(get_element_by_class('vdbw-sapo', webpage))),
Expand Down

0 comments on commit 7b4e302

Please sign in to comment.