aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorischmidt20 <ischmidt20@berkeley.edu>2022-06-19 23:06:37 -0400
committerGitHub <noreply@github.com>2022-06-19 20:06:37 -0700
commit0a4fb0d3fe8ff5f55e9bfd9aec47ed251fd41615 (patch)
treedbd68c6cc894d707684bd5050cd4a5cbbab3ca41
parent8072ef2bbd1721e4c79156b422e4fccc1e062853 (diff)
downloadhypervideo-pre-0a4fb0d3fe8ff5f55e9bfd9aec47ed251fd41615.tar.lz
hypervideo-pre-0a4fb0d3fe8ff5f55e9bfd9aec47ed251fd41615.tar.xz
hypervideo-pre-0a4fb0d3fe8ff5f55e9bfd9aec47ed251fd41615.zip
[WatchESPN] Support free videos and BAM_DTC (#4118)
Authored by: ischmidt20
-rw-r--r--yt_dlp/extractor/espn.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/yt_dlp/extractor/espn.py b/yt_dlp/extractor/espn.py
index e45025b2b..7aa454063 100644
--- a/yt_dlp/extractor/espn.py
+++ b/yt_dlp/extractor/espn.py
@@ -322,7 +322,7 @@ class WatchESPNIE(AdobePassIE):
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 @@ class WatchESPNIE(AdobePassIE):
})
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)