aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/genericembeds.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor/genericembeds.py')
-rw-r--r--yt_dlp/extractor/genericembeds.py27
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