[animeondemand] Add support for flash videos (closes #9944)
This commit is contained in:
		| @@ -46,6 +46,10 @@ class AnimeOnDemandIE(InfoExtractor): | ||||
|         # Full length film, non-series, ger/jap, Dub/OmU, account required | ||||
|         'url': 'https://www.anime-on-demand.de/anime/185', | ||||
|         'only_matching': True, | ||||
|     }, { | ||||
|         # Flash videos | ||||
|         'url': 'https://www.anime-on-demand.de/anime/12', | ||||
|         'only_matching': True, | ||||
|     }] | ||||
|  | ||||
|     def _login(self): | ||||
| @@ -120,10 +124,11 @@ class AnimeOnDemandIE(InfoExtractor): | ||||
|             formats = [] | ||||
|  | ||||
|             for input_ in re.findall( | ||||
|                     r'<input[^>]+class=["\'].*?streamstarter_html5[^>]+>', html): | ||||
|                     r'<input[^>]+class=["\'].*?streamstarter[^>]+>', html): | ||||
|                 attributes = extract_attributes(input_) | ||||
|                 title = attributes.get('data-dialog-header') | ||||
|                 playlist_urls = [] | ||||
|                 for playlist_key in ('data-playlist', 'data-otherplaylist'): | ||||
|                 for playlist_key in ('data-playlist', 'data-otherplaylist', 'data-stream'): | ||||
|                     playlist_url = attributes.get(playlist_key) | ||||
|                     if isinstance(playlist_url, compat_str) and re.match( | ||||
|                             r'/?[\da-zA-Z]+', playlist_url): | ||||
| @@ -160,6 +165,23 @@ class AnimeOnDemandIE(InfoExtractor): | ||||
|                         fatal=False) | ||||
|                     if not playlist: | ||||
|                         continue | ||||
|                     stream_url = playlist.get('streamurl') | ||||
|                     if stream_url: | ||||
|                         rtmp = re.search( | ||||
|                             r'^(?P<url>rtmpe?://(?P<host>[^/]+)/(?P<app>.+/))(?P<playpath>mp[34]:.+)', | ||||
|                             stream_url) | ||||
|                         if rtmp: | ||||
|                             formats.append({ | ||||
|                                 'url': rtmp.group('url'), | ||||
|                                 'app': rtmp.group('app'), | ||||
|                                 'play_path': rtmp.group('playpath'), | ||||
|                                 'page_url': url, | ||||
|                                 'player_url': 'https://www.anime-on-demand.de/assets/jwplayer.flash-55abfb34080700304d49125ce9ffb4a6.swf', | ||||
|                                 'rtmp_real_time': True, | ||||
|                                 'format_id': 'rtmp', | ||||
|                                 'ext': 'flv', | ||||
|                             }) | ||||
|                             continue | ||||
|                     start_video = playlist.get('startvideo', 0) | ||||
|                     playlist = playlist.get('playlist') | ||||
|                     if not playlist or not isinstance(playlist, list): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․