mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2025-02-03 16:49:48 +00:00
Merge 10f38086d4
into c5098961b0
This commit is contained in:
commit
771f0dd360
@ -3128,7 +3128,8 @@ class InfoExtractor(object):
|
||||
continue
|
||||
urls.add(source_url)
|
||||
source_type = source.get('type') or ''
|
||||
ext = mimetype2ext(source_type) or determine_ext(source_url)
|
||||
# https://github.com/yt-dlp/yt-dlp/pull/10956
|
||||
ext = determine_ext(source_url, default_ext=mimetype2ext(source_type))
|
||||
if source_type == 'hls' or ext == 'm3u8' or 'format=m3u8-aapl' in source_url:
|
||||
formats.extend(self._extract_m3u8_formats(
|
||||
source_url, video_id, 'mp4', entry_protocol='m3u8_native',
|
||||
|
@ -1,6 +1,11 @@
|
||||
# coding: utf-8
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from .common import InfoExtractor
|
||||
from ..utils import (
|
||||
merge_dicts,
|
||||
traverse_obj,
|
||||
)
|
||||
|
||||
|
||||
class HentaiStigmaIE(InfoExtractor):
|
||||
@ -24,16 +29,17 @@ class HentaiStigmaIE(InfoExtractor):
|
||||
title = self._html_search_regex(
|
||||
r'<h2[^>]+class="posttitle"[^>]*><a[^>]*>([^<]+)</a>',
|
||||
webpage, 'title')
|
||||
wrap_url = self._html_search_regex(
|
||||
|
||||
wrap_url = self._search_regex(
|
||||
r'<iframe[^>]+src="([^"]+mp4)"', webpage, 'wrapper url')
|
||||
wrap_webpage = self._download_webpage(wrap_url, video_id)
|
||||
|
||||
video_url = self._html_search_regex(
|
||||
r'file\s*:\s*"([^"]+)"', wrap_webpage, 'video url')
|
||||
vid_page = self._download_webpage(wrap_url, video_id)
|
||||
|
||||
return {
|
||||
entries = self._parse_html5_media_entries(wrap_url, vid_page, video_id)
|
||||
self._sort_formats(traverse_obj(entries, (0, 'formats')) or [])
|
||||
|
||||
return merge_dicts({
|
||||
'id': video_id,
|
||||
'url': video_url,
|
||||
'title': title,
|
||||
'age_limit': 18,
|
||||
}
|
||||
}, entries[0])
|
||||
|
@ -23,7 +23,7 @@ class KalturaIE(InfoExtractor):
|
||||
(?:
|
||||
kaltura:(?P<partner_id>\d+):(?P<id>[0-9a-z_]+)|
|
||||
https?://
|
||||
(:?(?:www|cdnapi(?:sec)?)\.)?kaltura\.com(?::\d+)?/
|
||||
(?:(?:www|cdnapi(?:sec)?)\.)?kaltura\.com(?::\d+)?/
|
||||
(?:
|
||||
(?:
|
||||
# flash player
|
||||
|
@ -13,7 +13,7 @@ from ..utils import (
|
||||
|
||||
class MgoonIE(InfoExtractor):
|
||||
_VALID_URL = r'''(?x)https?://(?:www\.)?
|
||||
(?:(:?m\.)?mgoon\.com/(?:ch/(?:.+)/v|play/view)|
|
||||
(?:(?:m\.)?mgoon\.com/(?:ch/(?:.+)/v|play/view)|
|
||||
video\.mgoon\.com)/(?P<id>[0-9]+)'''
|
||||
_API_URL = 'http://mpos.mgoon.com/player/video?id={0:}'
|
||||
_TESTS = [
|
||||
|
@ -112,7 +112,7 @@ class ORFRadioIE(ORFRadioBase):
|
||||
|
||||
_VALID_URL = (
|
||||
r'https?://sound\.orf\.at/radio/(?P<station>{0})/sendung/(?P<id>\d+)(?:/(?P<show>\w+))?'.format(_STATION_RE),
|
||||
r'https?://(?P<station>{0})\.orf\.at/player/(?P<date>\d{{8}})/(?P<id>\d+)'.format(_STATION_RE),
|
||||
r'https?://(?P<station>{0})\.orf\.at/(?:player|programm)/(?P<date>\d{{8}})/(?P<id>\d+)'.format(_STATION_RE),
|
||||
)
|
||||
|
||||
_TESTS = [{
|
||||
@ -150,6 +150,10 @@ class ORFRadioIE(ORFRadioBase):
|
||||
'duration': 1500,
|
||||
},
|
||||
'skip': 'Shows from ORF Sound are only available for 30 days.'
|
||||
}, {
|
||||
# yt-dlp/yt-dlp#11014
|
||||
'url': 'https://oe1.orf.at/programm/20240916/769302/Playgrounds',
|
||||
'only_matching': True,
|
||||
}]
|
||||
|
||||
def _real_extract(self, url):
|
||||
|
Loading…
Reference in New Issue
Block a user