mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[twitter] Support HLS streams in vmap URLs
This commit is contained in:
		| @@ -20,9 +20,16 @@ from .periscope import PeriscopeIE | ||||
|  | ||||
|  | ||||
| class TwitterBaseIE(InfoExtractor): | ||||
|     def _get_vmap_video_url(self, vmap_url, video_id): | ||||
|     def _extract_formats_from_vmap_url(self, vmap_url, video_id): | ||||
|         vmap_data = self._download_xml(vmap_url, video_id) | ||||
|         return xpath_text(vmap_data, './/MediaFile').strip() | ||||
|         video_url = xpath_text(vmap_data, './/MediaFile').strip() | ||||
|         if determine_ext(video_url) == 'm3u8': | ||||
|             return self._extract_m3u8_formats( | ||||
|                 video_url, video_id, ext='mp4', m3u8_id='hls', | ||||
|                 entry_protocol='m3u8_native') | ||||
|         return [{ | ||||
|             'url': video_url, | ||||
|         }] | ||||
|  | ||||
|     @staticmethod | ||||
|     def _search_dimensions_in_video_url(a_format, video_url): | ||||
| @@ -197,9 +204,8 @@ class TwitterCardIE(TwitterBaseIE): | ||||
|  | ||||
|         vmap_url = config.get('vmapUrl') or config.get('vmap_url') | ||||
|         if vmap_url: | ||||
|             formats.append({ | ||||
|                 'url': self._get_vmap_video_url(vmap_url, video_id), | ||||
|             }) | ||||
|             formats.extend( | ||||
|                 self._extract_formats_from_vmap_url(vmap_url, video_id)) | ||||
|  | ||||
|         media_info = None | ||||
|  | ||||
| @@ -449,7 +455,7 @@ class TwitterAmplifyIE(TwitterBaseIE): | ||||
|  | ||||
|         vmap_url = self._html_search_meta( | ||||
|             'twitter:amplify:vmap', webpage, 'vmap url') | ||||
|         video_url = self._get_vmap_video_url(vmap_url, video_id) | ||||
|         formats = self._extract_formats_from_vmap_url(vmap_url, video_id) | ||||
|  | ||||
|         thumbnails = [] | ||||
|         thumbnail = self._html_search_meta( | ||||
| @@ -471,11 +477,10 @@ class TwitterAmplifyIE(TwitterBaseIE): | ||||
|             }) | ||||
|  | ||||
|         video_w, video_h = _find_dimension('player') | ||||
|         formats = [{ | ||||
|             'url': video_url, | ||||
|         formats[0].update({ | ||||
|             'width': video_w, | ||||
|             'height': video_h, | ||||
|         }] | ||||
|         }) | ||||
|  | ||||
|         return { | ||||
|             'id': video_id, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
					Yen Chi Hsuan