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
|
continue
|
||||||
urls.add(source_url)
|
urls.add(source_url)
|
||||||
source_type = source.get('type') or ''
|
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:
|
if source_type == 'hls' or ext == 'm3u8' or 'format=m3u8-aapl' in source_url:
|
||||||
formats.extend(self._extract_m3u8_formats(
|
formats.extend(self._extract_m3u8_formats(
|
||||||
source_url, video_id, 'mp4', entry_protocol='m3u8_native',
|
source_url, video_id, 'mp4', entry_protocol='m3u8_native',
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
|
# coding: utf-8
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
|
from ..utils import (
|
||||||
|
merge_dicts,
|
||||||
|
traverse_obj,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class HentaiStigmaIE(InfoExtractor):
|
class HentaiStigmaIE(InfoExtractor):
|
||||||
@ -24,16 +29,17 @@ class HentaiStigmaIE(InfoExtractor):
|
|||||||
title = self._html_search_regex(
|
title = self._html_search_regex(
|
||||||
r'<h2[^>]+class="posttitle"[^>]*><a[^>]*>([^<]+)</a>',
|
r'<h2[^>]+class="posttitle"[^>]*><a[^>]*>([^<]+)</a>',
|
||||||
webpage, 'title')
|
webpage, 'title')
|
||||||
wrap_url = self._html_search_regex(
|
|
||||||
|
wrap_url = self._search_regex(
|
||||||
r'<iframe[^>]+src="([^"]+mp4)"', webpage, 'wrapper url')
|
r'<iframe[^>]+src="([^"]+mp4)"', webpage, 'wrapper url')
|
||||||
wrap_webpage = self._download_webpage(wrap_url, video_id)
|
|
||||||
|
|
||||||
video_url = self._html_search_regex(
|
vid_page = self._download_webpage(wrap_url, video_id)
|
||||||
r'file\s*:\s*"([^"]+)"', wrap_webpage, 'video url')
|
|
||||||
|
|
||||||
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,
|
'id': video_id,
|
||||||
'url': video_url,
|
|
||||||
'title': title,
|
'title': title,
|
||||||
'age_limit': 18,
|
'age_limit': 18,
|
||||||
}
|
}, entries[0])
|
||||||
|
@ -23,7 +23,7 @@ class KalturaIE(InfoExtractor):
|
|||||||
(?:
|
(?:
|
||||||
kaltura:(?P<partner_id>\d+):(?P<id>[0-9a-z_]+)|
|
kaltura:(?P<partner_id>\d+):(?P<id>[0-9a-z_]+)|
|
||||||
https?://
|
https?://
|
||||||
(:?(?:www|cdnapi(?:sec)?)\.)?kaltura\.com(?::\d+)?/
|
(?:(?:www|cdnapi(?:sec)?)\.)?kaltura\.com(?::\d+)?/
|
||||||
(?:
|
(?:
|
||||||
(?:
|
(?:
|
||||||
# flash player
|
# flash player
|
||||||
|
@ -13,7 +13,7 @@ from ..utils import (
|
|||||||
|
|
||||||
class MgoonIE(InfoExtractor):
|
class MgoonIE(InfoExtractor):
|
||||||
_VALID_URL = r'''(?x)https?://(?:www\.)?
|
_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]+)'''
|
video\.mgoon\.com)/(?P<id>[0-9]+)'''
|
||||||
_API_URL = 'http://mpos.mgoon.com/player/video?id={0:}'
|
_API_URL = 'http://mpos.mgoon.com/player/video?id={0:}'
|
||||||
_TESTS = [
|
_TESTS = [
|
||||||
|
@ -112,7 +112,7 @@ class ORFRadioIE(ORFRadioBase):
|
|||||||
|
|
||||||
_VALID_URL = (
|
_VALID_URL = (
|
||||||
r'https?://sound\.orf\.at/radio/(?P<station>{0})/sendung/(?P<id>\d+)(?:/(?P<show>\w+))?'.format(_STATION_RE),
|
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 = [{
|
_TESTS = [{
|
||||||
@ -150,6 +150,10 @@ class ORFRadioIE(ORFRadioBase):
|
|||||||
'duration': 1500,
|
'duration': 1500,
|
||||||
},
|
},
|
||||||
'skip': 'Shows from ORF Sound are only available for 30 days.'
|
'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):
|
def _real_extract(self, url):
|
||||||
|
Loading…
Reference in New Issue
Block a user