|
|
@ -1879,6 +1879,15 @@ class GenericIE(InfoExtractor): |
|
|
|
'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 |
|
|
|
# # http://schema.org/VideoObject |
|
|
@ -2849,13 +2858,20 @@ class GenericIE(InfoExtractor): |
|
|
|
# Look for HTML5 media |
|
|
|
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls') |
|
|
|
if entries: |
|
|
|
for entry in entries: |
|
|
|
entry.update({ |
|
|
|
if len(entries) == 1: |
|
|
|
entries[0].update({ |
|
|
|
'id': video_id, |
|
|
|
'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']) |
|
|
|
return self.playlist_result(entries) |
|
|
|
return self.playlist_result(entries, video_id, video_title) |
|
|
|
|
|
|
|
jwplayer_data = self._find_jwplayer_data( |
|
|
|
webpage, video_id, transform_source=js_to_json) |
|
|
|