From 4c2822df6d82de5c88f8a701b2c26d2bf1945f35 Mon Sep 17 00:00:00 2001 From: Nels Nelson Date: Fri, 10 May 2019 10:01:33 -0500 Subject: [PATCH 1/3] [cloudflare] can use videodelivery.net subdomains --- youtube_dl/extractor/cloudflarestream.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/cloudflarestream.py b/youtube_dl/extractor/cloudflarestream.py index e6d92cca2..575e092b4 100644 --- a/youtube_dl/extractor/cloudflarestream.py +++ b/youtube_dl/extractor/cloudflarestream.py @@ -11,7 +11,7 @@ class CloudflareStreamIE(InfoExtractor): https?:// (?: (?:watch\.)?cloudflarestream\.com/| - embed\.cloudflarestream\.com/embed/[^/]+\.js\?.*?\bvideo= + embed\.(?:cloudflarestream\.com|videodelivery\.net)/embed/[^/]+\.js\?.*?\bvideo= ) (?P[\da-f]+) ''' @@ -31,6 +31,9 @@ class CloudflareStreamIE(InfoExtractor): }, { 'url': 'https://cloudflarestream.com/31c9291ab41fac05471db4e73aa11717/manifest/video.mpd', 'only_matching': True, + }, { + 'url': 'https://embed.videodelivery.net/embed/r4xu.fla9.latest.js?video=81d80727f3022488598f68d323c1ad5e', + 'only_matching': True, }] @staticmethod @@ -38,7 +41,7 @@ class CloudflareStreamIE(InfoExtractor): return [ mobj.group('url') for mobj in re.finditer( - r']+\bsrc=(["\'])(?P(?:https?:)?//embed\.cloudflarestream\.com/embed/[^/]+\.js\?.*?\bvideo=[\da-f]+?.*?)\1', + r']+\bsrc=(["\'])(?P(?:https?:)?//embed\.(?:cloudflarestream\.com|videodelivery\.net)/embed/[^/]+\.js\?.*?\bvideo=[\da-f]+?.*?)\1', webpage)] def _real_extract(self, url): From d362f45fcd3abfd71011a4a91a79f3fb4ebd41b6 Mon Sep 17 00:00:00 2001 From: Nels Nelson Date: Fri, 10 May 2019 14:21:24 -0500 Subject: [PATCH 2/3] [cloudflare] add watch.videodelivery.net subdomain. --- youtube_dl/extractor/cloudflarestream.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/youtube_dl/extractor/cloudflarestream.py b/youtube_dl/extractor/cloudflarestream.py index 575e092b4..e02d1ce73 100644 --- a/youtube_dl/extractor/cloudflarestream.py +++ b/youtube_dl/extractor/cloudflarestream.py @@ -10,7 +10,7 @@ class CloudflareStreamIE(InfoExtractor): _VALID_URL = r'''(?x) https?:// (?: - (?:watch\.)?cloudflarestream\.com/| + (?:watch\.)?(?:cloudflarestream\.com|videodelivery\.net)/| embed\.(?:cloudflarestream\.com|videodelivery\.net)/embed/[^/]+\.js\?.*?\bvideo= ) (?P[\da-f]+) @@ -28,6 +28,12 @@ class CloudflareStreamIE(InfoExtractor): }, { 'url': 'https://watch.cloudflarestream.com/9df17203414fd1db3e3ed74abbe936c1', 'only_matching': True, + }, { + 'url': 'https://watch.videodelivery.net/9df17203414fd1db3e3ed74abbe936c1', + 'only_matching': True, + }, { + 'url': 'https://videodelivery.net/9df17203414fd1db3e3ed74abbe936c1', + 'only_matching': True, }, { 'url': 'https://cloudflarestream.com/31c9291ab41fac05471db4e73aa11717/manifest/video.mpd', 'only_matching': True, From 40115a24b5d6d01acf03cd33664cf8ef5f963270 Mon Sep 17 00:00:00 2001 From: Nels Nelson Date: Fri, 10 May 2019 14:44:13 -0500 Subject: [PATCH 3/3] [cloudflare] Remove nonexistent URLs in videodelivery.net tests --- youtube_dl/extractor/cloudflarestream.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/youtube_dl/extractor/cloudflarestream.py b/youtube_dl/extractor/cloudflarestream.py index e02d1ce73..8ff2c6531 100644 --- a/youtube_dl/extractor/cloudflarestream.py +++ b/youtube_dl/extractor/cloudflarestream.py @@ -28,12 +28,6 @@ class CloudflareStreamIE(InfoExtractor): }, { 'url': 'https://watch.cloudflarestream.com/9df17203414fd1db3e3ed74abbe936c1', 'only_matching': True, - }, { - 'url': 'https://watch.videodelivery.net/9df17203414fd1db3e3ed74abbe936c1', - 'only_matching': True, - }, { - 'url': 'https://videodelivery.net/9df17203414fd1db3e3ed74abbe936c1', - 'only_matching': True, }, { 'url': 'https://cloudflarestream.com/31c9291ab41fac05471db4e73aa11717/manifest/video.mpd', 'only_matching': True,