[WatchESPN] Support free videos and BAM_DTC (#4118)

Authored by: ischmidt20
This commit is contained in:
ischmidt20 2022-06-19 23:06:37 -04:00 committed by GitHub
parent 8072ef2bbd
commit 0a4fb0d3fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -322,7 +322,7 @@ def _real_extract(self, url):
video_id)['playbackState']
# ESPN+ subscription required, through cookies
if video_data.get('sourceId') == 'ESPN_DTC':
if 'DTC' in video_data.get('sourceId'):
cookie = self._get_cookies(url).get('ESPN-ONESITE.WEB-PROD.token')
if not cookie:
self.raise_login_required(method='cookies')
@ -366,6 +366,13 @@ def _real_extract(self, url):
})
m3u8_url, headers = playback['stream']['complete'][0]['url'], {'authorization': token}
# No login required
elif video_data.get('sourceId') == 'ESPN_FREE':
asset = self._download_json(
f'https://watch.auth.api.espn.com/video/auth/media/{video_id}/asset?apikey=uiqlbgzdwuru14v627vdusswb',
video_id)
m3u8_url, headers = asset['stream'], {}
# TV Provider required
else:
resource = self._get_mvpd_resource('ESPN', video_data['name'], video_id, None)