mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-30 03:33:02 +00:00
[generic] Fix support for multiple HTML5 videos on one page (closes #14080)
This commit is contained in:
parent
095774e591
commit
9ce1ac4046
1 changed files with 19 additions and 3 deletions
|
@ -1879,6 +1879,15 @@ class GenericIE(InfoExtractor):
|
||||||
'title': 'Building A Business Online: Principal Chairs Q & A',
|
'title': 'Building A Business Online: Principal Chairs Q & A',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
# multiple HTML5 videos on one page
|
||||||
|
'url': 'https://www.paragon-software.com/home/rk-free/keyscenarios.html',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'keyscenarios',
|
||||||
|
'title': 'Rescue Kit 14 Free Edition - Getting started',
|
||||||
|
},
|
||||||
|
'playlist_count': 4,
|
||||||
|
}
|
||||||
# {
|
# {
|
||||||
# # TODO: find another test
|
# # TODO: find another test
|
||||||
# # http://schema.org/VideoObject
|
# # http://schema.org/VideoObject
|
||||||
|
@ -2849,13 +2858,20 @@ def merge_dicts(dict1, dict2):
|
||||||
# Look for HTML5 media
|
# Look for HTML5 media
|
||||||
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
|
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
|
||||||
if entries:
|
if entries:
|
||||||
for entry in entries:
|
if len(entries) == 1:
|
||||||
entry.update({
|
entries[0].update({
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': video_title,
|
'title': video_title,
|
||||||
})
|
})
|
||||||
|
else:
|
||||||
|
for num, entry in enumerate(entries, start=1):
|
||||||
|
entry.update({
|
||||||
|
'id': '%s-%s' % (video_id, num),
|
||||||
|
'title': '%s (%d)' % (video_title, num),
|
||||||
|
})
|
||||||
|
for entry in entries:
|
||||||
self._sort_formats(entry['formats'])
|
self._sort_formats(entry['formats'])
|
||||||
return self.playlist_result(entries)
|
return self.playlist_result(entries, video_id, video_title)
|
||||||
|
|
||||||
jwplayer_data = self._find_jwplayer_data(
|
jwplayer_data = self._find_jwplayer_data(
|
||||||
webpage, video_id, transform_source=js_to_json)
|
webpage, video_id, transform_source=js_to_json)
|
||||||
|
|
Loading…
Reference in a new issue