mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Merge branch 'oppetarkiv' of https://github.com/thc202/youtube-dl into thc202-oppetarkiv
This commit is contained in:
		| @@ -350,6 +350,7 @@ from .odnoklassniki import OdnoklassnikiIE | |||||||
| from .oktoberfesttv import OktoberfestTVIE | from .oktoberfesttv import OktoberfestTVIE | ||||||
| from .ooyala import OoyalaIE | from .ooyala import OoyalaIE | ||||||
| from .openfilm import OpenFilmIE | from .openfilm import OpenFilmIE | ||||||
|  | from .oppetarkiv import OppetArkivIE | ||||||
| from .orf import ( | from .orf import ( | ||||||
|     ORFTVthekIE, |     ORFTVthekIE, | ||||||
|     ORFOE1IE, |     ORFOE1IE, | ||||||
|   | |||||||
							
								
								
									
										56
									
								
								youtube_dl/extractor/oppetarkiv.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								youtube_dl/extractor/oppetarkiv.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | |||||||
|  | # coding: utf-8 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  |  | ||||||
|  | from .common import InfoExtractor | ||||||
|  | from ..utils import ( | ||||||
|  |     determine_ext, | ||||||
|  | ) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class OppetArkivIE(InfoExtractor): | ||||||
|  |     _VALID_URL = r'https?://(?:www\.)?oppetarkiv.se/video/(?P<id>[0-9]+)' | ||||||
|  |     _TEST = { | ||||||
|  |         'url': 'http://www.oppetarkiv.se/video/1058509/rederiet-sasong-1-avsnitt-1-av-318', | ||||||
|  |         'md5': '7b95ca9bedeead63012b2d7c3992c28f', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': '1058509', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'title': 'Farlig kryssning', | ||||||
|  |             'duration': 2566, | ||||||
|  |             'thumbnail': 're:^https?://.*[\.-]jpg$', | ||||||
|  |         }, | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         video_id = self._match_id(url) | ||||||
|  |         info = self._download_json( | ||||||
|  |             'http://www.oppetarkiv.se/video/%s?output=json' % video_id, video_id) | ||||||
|  |  | ||||||
|  |         title = info['context']['title'] | ||||||
|  |         thumbnail = info['context'].get('thumbnailImage') | ||||||
|  |  | ||||||
|  |         video_info = info['video'] | ||||||
|  |         formats = [] | ||||||
|  |         for vr in video_info['videoReferences']: | ||||||
|  |             vurl = vr['url'] | ||||||
|  |             if determine_ext(vurl) == 'm3u8': | ||||||
|  |                 formats.extend(self._extract_m3u8_formats( | ||||||
|  |                     vurl, video_id, | ||||||
|  |                     ext='mp4', entry_protocol='m3u8_native', | ||||||
|  |                     m3u8_id=vr.get('playerType'))) | ||||||
|  |             else: | ||||||
|  |                 formats.append({ | ||||||
|  |                     'format_id': vr.get('playerType'), | ||||||
|  |                     'url': vurl, | ||||||
|  |                 }) | ||||||
|  |         self._sort_formats(formats) | ||||||
|  |  | ||||||
|  |         duration = video_info.get('materialLength') | ||||||
|  |  | ||||||
|  |         return { | ||||||
|  |             'id': video_id, | ||||||
|  |             'title': title, | ||||||
|  |             'formats': formats, | ||||||
|  |             'thumbnail': thumbnail, | ||||||
|  |             'duration': duration, | ||||||
|  |         } | ||||||
		Reference in New Issue
	
	Block a user