mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 00:25:15 +00:00 
			
		
		
		
	[nexx] Add support for Multi Player JS Setup(closes #23052)
This commit is contained in:
		@@ -108,7 +108,7 @@ class NexxIE(InfoExtractor):
 | 
				
			|||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
    def _extract_domain_id(webpage):
 | 
					    def _extract_domain_id(webpage):
 | 
				
			||||||
        mobj = re.search(
 | 
					        mobj = re.search(
 | 
				
			||||||
            r'<script\b[^>]+\bsrc=["\'](?:https?:)?//require\.nexx(?:\.cloud|cdn\.com)/(?P<id>\d+)',
 | 
					            r'<script\b[^>]+\bsrc=["\'](?:https?:)?//(?:require|arc)\.nexx(?:\.cloud|cdn\.com)/(?:sdk/)?(?P<id>\d+)',
 | 
				
			||||||
            webpage)
 | 
					            webpage)
 | 
				
			||||||
        return mobj.group('id') if mobj else None
 | 
					        return mobj.group('id') if mobj else None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -123,7 +123,7 @@ class NexxIE(InfoExtractor):
 | 
				
			|||||||
        domain_id = NexxIE._extract_domain_id(webpage)
 | 
					        domain_id = NexxIE._extract_domain_id(webpage)
 | 
				
			||||||
        if domain_id:
 | 
					        if domain_id:
 | 
				
			||||||
            for video_id in re.findall(
 | 
					            for video_id in re.findall(
 | 
				
			||||||
                    r'(?is)onPLAYReady.+?_play\.init\s*\(.+?\s*,\s*["\']?(\d+)',
 | 
					                    r'(?is)onPLAYReady.+?_play\.(?:init|(?:control\.)?addPlayer)\s*\(.+?\s*,\s*["\']?(\d+)',
 | 
				
			||||||
                    webpage):
 | 
					                    webpage):
 | 
				
			||||||
                entries.append(
 | 
					                entries.append(
 | 
				
			||||||
                    'https://api.nexx.cloud/v3/%s/videos/byid/%s'
 | 
					                    'https://api.nexx.cloud/v3/%s/videos/byid/%s'
 | 
				
			||||||
@@ -410,8 +410,8 @@ class NexxIE(InfoExtractor):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class NexxEmbedIE(InfoExtractor):
 | 
					class NexxEmbedIE(InfoExtractor):
 | 
				
			||||||
    _VALID_URL = r'https?://embed\.nexx(?:\.cloud|cdn\.com)/\d+/(?P<id>[^/?#&]+)'
 | 
					    _VALID_URL = r'https?://embed\.nexx(?:\.cloud|cdn\.com)/\d+/(?:video/)?(?P<id>[^/?#&]+)'
 | 
				
			||||||
    _TEST = {
 | 
					    _TESTS = [{
 | 
				
			||||||
        'url': 'http://embed.nexx.cloud/748/KC1614647Z27Y7T?autoplay=1',
 | 
					        'url': 'http://embed.nexx.cloud/748/KC1614647Z27Y7T?autoplay=1',
 | 
				
			||||||
        'md5': '16746bfc28c42049492385c989b26c4a',
 | 
					        'md5': '16746bfc28c42049492385c989b26c4a',
 | 
				
			||||||
        'info_dict': {
 | 
					        'info_dict': {
 | 
				
			||||||
@@ -420,7 +420,6 @@ class NexxEmbedIE(InfoExtractor):
 | 
				
			|||||||
            'title': 'Nervenkitzel Achterbahn',
 | 
					            'title': 'Nervenkitzel Achterbahn',
 | 
				
			||||||
            'alt_title': 'Karussellbauer in Deutschland',
 | 
					            'alt_title': 'Karussellbauer in Deutschland',
 | 
				
			||||||
            'description': 'md5:ffe7b1cc59a01f585e0569949aef73cc',
 | 
					            'description': 'md5:ffe7b1cc59a01f585e0569949aef73cc',
 | 
				
			||||||
            'release_year': 2005,
 | 
					 | 
				
			||||||
            'creator': 'SPIEGEL TV',
 | 
					            'creator': 'SPIEGEL TV',
 | 
				
			||||||
            'thumbnail': r're:^https?://.*\.jpg$',
 | 
					            'thumbnail': r're:^https?://.*\.jpg$',
 | 
				
			||||||
            'duration': 2761,
 | 
					            'duration': 2761,
 | 
				
			||||||
@@ -431,7 +430,10 @@ class NexxEmbedIE(InfoExtractor):
 | 
				
			|||||||
            'format': 'bestvideo',
 | 
					            'format': 'bestvideo',
 | 
				
			||||||
            'skip_download': True,
 | 
					            'skip_download': True,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    }
 | 
					    }, {
 | 
				
			||||||
 | 
					        'url': 'https://embed.nexx.cloud/11888/video/DSRTO7UVOX06S7',
 | 
				
			||||||
 | 
					        'only_matching': True,
 | 
				
			||||||
 | 
					    }]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
    def _extract_urls(webpage):
 | 
					    def _extract_urls(webpage):
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user