mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[cspan] add support for brightcove live embeds(closes #13028)
This commit is contained in:
		| @@ -10,6 +10,7 @@ from ..utils import ( | ||||
|     smuggle_url, | ||||
|     determine_ext, | ||||
|     ExtractorError, | ||||
|     extract_attributes, | ||||
| ) | ||||
| from .senateisvp import SenateISVPIE | ||||
| from .ustream import UstreamIE | ||||
| @@ -68,6 +69,7 @@ class CSpanIE(InfoExtractor): | ||||
|             'uploader_id': '12987475', | ||||
|         }, | ||||
|     }] | ||||
|     BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/%s/%s_%s/index.html?videoId=%s' | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         video_id = self._match_id(url) | ||||
| @@ -78,6 +80,19 @@ class CSpanIE(InfoExtractor): | ||||
|         if ustream_url: | ||||
|             return self.url_result(ustream_url, UstreamIE.ie_key()) | ||||
|  | ||||
|         if '&vod' not in url: | ||||
|             bc = self._search_regex( | ||||
|                 r"(<[^>]+id='brightcove-player-embed'[^>]+>)", | ||||
|                 webpage, 'brightcove embed', default=None) | ||||
|             if bc: | ||||
|                 bc_attr = extract_attributes(bc) | ||||
|                 bc_url = self.BRIGHTCOVE_URL_TEMPLATE % ( | ||||
|                     bc_attr.get('data-bcaccountid', '3162030207001'), | ||||
|                     bc_attr.get('data-noprebcplayerid', 'SyGGpuJy3g'), | ||||
|                     bc_attr.get('data-newbcplayerid', 'default'), | ||||
|                     bc_attr['data-bcid']) | ||||
|                 return self.url_result(smuggle_url(bc_url, {'source_url': url})) | ||||
|  | ||||
|         # We first look for clipid, because clipprog always appears before | ||||
|         patterns = [r'id=\'clip(%s)\'\s*value=\'([0-9]+)\'' % t for t in ('id', 'prog')] | ||||
|         results = list(filter(None, (re.search(p, webpage) for p in patterns))) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Remita Amine
					Remita Amine