mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 00:20:47 +00:00 
			
		
		
		
	`Brightcove` is difficult to migrate because it's subclasses may depend on the signature of the current functions. So it is left as-is for now Note: Tests have not been migrated
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from .common import InfoExtractor
 | 
						|
from ..utils import unescapeHTML
 | 
						|
 | 
						|
 | 
						|
class VODPlatformIE(InfoExtractor):
 | 
						|
    _VALID_URL = r'https?://(?:(?:www\.)?vod-platform\.net|embed\.kwikmotion\.com)/[eE]mbed/(?P<id>[^/?#]+)'
 | 
						|
    _EMBED_REGEX = [r'<iframe[^>]+src=(["\'])(?P<url>(?:https?:)?//(?:(?:www\.)?vod-platform\.net|embed\.kwikmotion\.com)/[eE]mbed/.+?)\1']
 | 
						|
    _TESTS = [{
 | 
						|
        # from http://www.lbcgroup.tv/watch/chapter/29143/52844/%D8%A7%D9%84%D9%86%D8%B5%D8%B1%D8%A9-%D9%81%D9%8A-%D8%B6%D9%8A%D8%A7%D9%81%D8%A9-%D8%A7%D9%84%D9%80-cnn/ar
 | 
						|
        'url': 'http://vod-platform.net/embed/RufMcytHDolTH1MuKHY9Fw',
 | 
						|
        'md5': '1db2b7249ce383d6be96499006e951fc',
 | 
						|
        'info_dict': {
 | 
						|
            'id': 'RufMcytHDolTH1MuKHY9Fw',
 | 
						|
            'ext': 'mp4',
 | 
						|
            'title': 'LBCi News_ النصرة في ضيافة الـ "سي.أن.أن"',
 | 
						|
        }
 | 
						|
    }, {
 | 
						|
        'url': 'http://embed.kwikmotion.com/embed/RufMcytHDolTH1MuKHY9Fw',
 | 
						|
        'only_matching': True,
 | 
						|
    }]
 | 
						|
 | 
						|
    def _real_extract(self, url):
 | 
						|
        video_id = self._match_id(url)
 | 
						|
        webpage = self._download_webpage(url, video_id)
 | 
						|
 | 
						|
        title = unescapeHTML(self._og_search_title(webpage))
 | 
						|
        hidden_inputs = self._hidden_inputs(webpage)
 | 
						|
 | 
						|
        formats = self._extract_wowza_formats(
 | 
						|
            hidden_inputs.get('HiddenmyhHlsLink') or hidden_inputs['HiddenmyDashLink'], video_id, skip_protocols=['f4m', 'smil'])
 | 
						|
        self._sort_formats(formats)
 | 
						|
 | 
						|
        return {
 | 
						|
            'id': video_id,
 | 
						|
            'title': title,
 | 
						|
            'thumbnail': hidden_inputs.get('HiddenThumbnail') or self._og_search_thumbnail(webpage),
 | 
						|
            'formats': formats,
 | 
						|
        }
 |