[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