diff options
Diffstat (limited to 'yt_dlp/extractor/genericembeds.py')
-rw-r--r-- | yt_dlp/extractor/genericembeds.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/yt_dlp/extractor/genericembeds.py b/yt_dlp/extractor/genericembeds.py new file mode 100644 index 000000000..ec2673059 --- /dev/null +++ b/yt_dlp/extractor/genericembeds.py @@ -0,0 +1,27 @@ +from .common import InfoExtractor + + +class HTML5MediaEmbedIE(InfoExtractor): + _VALID_URL = False + IE_NAME = 'html5' + _WEBPAGE_TESTS = [ + { + 'url': 'https://html.com/media/', + 'info_dict': { + 'title': 'HTML5 Media', + 'description': 'md5:933b2d02ceffe7a7a0f3c8326d91cc2a', + }, + 'playlist_count': 2 + } + ] + + def _extract_from_webpage(self, url, webpage): + video_id, title = self._generic_id(url), self._generic_title(url) + entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls') or [] + for num, entry in enumerate(entries, start=1): + entry.update({ + 'id': f'{video_id}-{num}', + 'title': f'{title} ({num})', + }) + self._sort_formats(entry['formats']) + yield entry |