mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 22:55:18 +00:00 
			
		
		
		
	[vimeo] Add support for subtitles (Closes #2239)
This commit is contained in:
		| @@ -6,6 +6,7 @@ import re | ||||
| import itertools | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from .subtitles import SubtitlesInfoExtractor | ||||
| from ..utils import ( | ||||
|     compat_urllib_parse, | ||||
|     compat_urllib_request, | ||||
| @@ -19,7 +20,7 @@ from ..utils import ( | ||||
| ) | ||||
|  | ||||
|  | ||||
| class VimeoIE(InfoExtractor): | ||||
| class VimeoIE(SubtitlesInfoExtractor): | ||||
|     """Information extractor for vimeo.com.""" | ||||
|  | ||||
|     # _VALID_URL matches Vimeo URLs | ||||
| @@ -84,6 +85,20 @@ class VimeoIE(InfoExtractor): | ||||
|                 'videopassword': 'youtube-dl', | ||||
|             }, | ||||
|         }, | ||||
|         { | ||||
|             'url': 'http://vimeo.com/76979871', | ||||
|             'md5': '3363dd6ffebe3784d56f4132317fd446', | ||||
|             'note': 'Video with subtitles', | ||||
|             'info_dict': { | ||||
|                 'id': '76979871', | ||||
|                 'ext': 'mp4', | ||||
|                 'title': 'The New Vimeo Player (You Know, For Videos)', | ||||
|                 'description': 'md5:2ec900bf97c3f389378a96aee11260ea', | ||||
|                 'upload_date': '20131015', | ||||
|                 'uploader_id': 'staff', | ||||
|                 'uploader': 'Vimeo Staff', | ||||
|             } | ||||
|         }, | ||||
|     ] | ||||
|  | ||||
|     def _login(self): | ||||
| @@ -273,6 +288,17 @@ class VimeoIE(InfoExtractor): | ||||
|         if len(formats) == 0: | ||||
|             raise ExtractorError('No known codec found') | ||||
|  | ||||
|         subtitles = {} | ||||
|         text_tracks = config['request'].get('text_tracks') | ||||
|         if text_tracks: | ||||
|             for tt in text_tracks: | ||||
|                 subtitles[tt['lang']] = 'http://vimeo.com' + tt['url'] | ||||
|  | ||||
|         video_subtitles = self.extract_subtitles(video_id, subtitles) | ||||
|         if self._downloader.params.get('listsubtitles', False): | ||||
|             self._list_available_subtitles(video_id, subtitles) | ||||
|             return | ||||
|  | ||||
|         return { | ||||
|             'id':       video_id, | ||||
|             'uploader': video_uploader, | ||||
| @@ -286,6 +312,7 @@ class VimeoIE(InfoExtractor): | ||||
|             'view_count': view_count, | ||||
|             'like_count': like_count, | ||||
|             'comment_count': comment_count, | ||||
|             'subtitles': video_subtitles, | ||||
|         } | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M.
					Sergey M.