|
|
@ -25,21 +25,21 @@ class SteamIE(InfoExtractor):
|
|
|
|
'url': 'http://store.steampowered.com/video/105600/',
|
|
|
|
'url': 'http://store.steampowered.com/video/105600/',
|
|
|
|
'playlist': [
|
|
|
|
'playlist': [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
'md5': '695242613303ffa2a4c44c9374ddc067',
|
|
|
|
'md5': 'e800bd0baf47286d8b434d07b357247e',
|
|
|
|
'info_dict': {
|
|
|
|
'info_dict': {
|
|
|
|
'id': '256785003',
|
|
|
|
'id': '256785003',
|
|
|
|
'ext': 'mp4',
|
|
|
|
'ext': 'mp4',
|
|
|
|
'title': 'Terraria video 256785003',
|
|
|
|
'title': 'Terraria video 256785003',
|
|
|
|
'thumbnail': r're:^https://cdn\.[^\.]+\.steamstatic\.com',
|
|
|
|
'thumbnail': r're:^https?://[^/]*steamstatic\.com',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
'md5': '6a294ee0c4b1f47f5bb76a65e31e3592',
|
|
|
|
'md5': '9612ee058ebd645371c5ddd69adb310f',
|
|
|
|
'info_dict': {
|
|
|
|
'info_dict': {
|
|
|
|
'id': '2040428',
|
|
|
|
'id': '2040428',
|
|
|
|
'ext': 'mp4',
|
|
|
|
'ext': 'mp4',
|
|
|
|
'title': 'Terraria video 2040428',
|
|
|
|
'title': 'Terraria video 2040428',
|
|
|
|
'thumbnail': r're:^https://cdn\.[^\.]+\.steamstatic\.com',
|
|
|
|
'thumbnail': r're:^https?://[^/]*steamstatic\.com',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
],
|
|
|
@ -96,15 +96,19 @@ class SteamIE(InfoExtractor):
|
|
|
|
}
|
|
|
|
}
|
|
|
|
formats = []
|
|
|
|
formats = []
|
|
|
|
if movie:
|
|
|
|
if movie:
|
|
|
|
entry['thumbnail'] = movie.get('data-poster')
|
|
|
|
data = self._parse_json(movie['data-props'], video_id=movie_id)
|
|
|
|
for quality in ('', '-hd'):
|
|
|
|
|
|
|
|
for ext in ('webm', 'mp4'):
|
|
|
|
entry['thumbnail'] = data.get('screenshot')
|
|
|
|
video_url = movie.get(f'data-{ext}{quality}-source')
|
|
|
|
|
|
|
|
if video_url:
|
|
|
|
for dash_url in data.get('dashManifests', []):
|
|
|
|
formats.append({
|
|
|
|
formats.extend(self._extract_mpd_formats(
|
|
|
|
'format_id': ext + quality,
|
|
|
|
dash_url, movie_id, mpd_id='dash', fatal=False))
|
|
|
|
'url': video_url,
|
|
|
|
|
|
|
|
})
|
|
|
|
hls_url = data.get('hlsManifest')
|
|
|
|
|
|
|
|
if hls_url:
|
|
|
|
|
|
|
|
formats.extend(self._extract_m3u8_formats(
|
|
|
|
|
|
|
|
hls_url, movie_id, entry_protocol='m3u8', m3u8_id='hls', fatal=False))
|
|
|
|
|
|
|
|
|
|
|
|
entry['formats'] = formats
|
|
|
|
entry['formats'] = formats
|
|
|
|
entries.append(entry)
|
|
|
|
entries.append(entry)
|
|
|
|
embedded_videos = re.findall(r'(<iframe[^>]+>)', webpage)
|
|
|
|
embedded_videos = re.findall(r'(<iframe[^>]+>)', webpage)
|
|
|
|