[XVideos] Check HLS formats (#2193)

Closes #1823
Authored by; MinePlayersPE
This commit is contained in:
MinePlayersPE 2022-01-01 13:12:33 +07:00 committed by GitHub
parent 26f2aa3db9
commit 8efffafa53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 4 deletions

View File

@ -25,14 +25,27 @@ class XVideosIE(InfoExtractor):
(?P<id>[0-9]+) (?P<id>[0-9]+)
''' '''
_TESTS = [{ _TESTS = [{
'url': 'http://www.xvideos.com/video4588838/biker_takes_his_girl', 'url': 'https://www.xvideos.com/video4588838/motorcycle_guy_cucks_influencer_steals_his_gf',
'md5': '14cea69fcb84db54293b1e971466c2e1', 'md5': '14cea69fcb84db54293b1e971466c2e1',
'info_dict': { 'info_dict': {
'id': '4588838', 'id': '4588838',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Biker Takes his Girl', 'title': 'Motorcycle Guy Cucks Influencer, Steals his GF',
'duration': 108, 'duration': 108,
'age_limit': 18, 'age_limit': 18,
'thumbnail': r're:^https://img-hw.xvideos-cdn.com/.+\.jpg',
}
}, {
# Broken HLS formats
'url': 'https://www.xvideos.com/video65982001/what_s_her_name',
'md5': 'b82d7d7ef7d65a84b1fa6965f81f95a5',
'info_dict': {
'id': '65982001',
'ext': 'mp4',
'title': 'what\'s her name?',
'duration': 120,
'age_limit': 18,
'thumbnail': r're:^https://img-hw.xvideos-cdn.com/.+\.jpg',
} }
}, { }, {
'url': 'https://flashservice.xvideos.com/embedframe/4588838', 'url': 'https://flashservice.xvideos.com/embedframe/4588838',
@ -126,9 +139,11 @@ def _real_extract(self, url):
r'setVideo([^(]+)\((["\'])(http.+?)\2\)', webpage): r'setVideo([^(]+)\((["\'])(http.+?)\2\)', webpage):
format_id = kind.lower() format_id = kind.lower()
if format_id == 'hls': if format_id == 'hls':
formats.extend(self._extract_m3u8_formats( hls_formats = self._extract_m3u8_formats(
format_url, video_id, 'mp4', format_url, video_id, 'mp4',
entry_protocol='m3u8_native', m3u8_id='hls', fatal=False)) entry_protocol='m3u8_native', m3u8_id='hls', fatal=False)
self._check_formats(hls_formats, video_id)
formats.extend(hls_formats)
elif format_id in ('urllow', 'urlhigh'): elif format_id in ('urllow', 'urlhigh'):
formats.append({ formats.append({
'url': format_url, 'url': format_url,