From c815f6e277df44186ffa74b4a2db8d39a1be9036 Mon Sep 17 00:00:00 2001 From: Sipherdrakon <64430430+Sipherdrakon@users.noreply.github.com> Date: Sat, 24 Jul 2021 20:26:26 -0400 Subject: [PATCH 1/3] Update dplay.py --- youtube_dl/extractor/dplay.py | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/youtube_dl/extractor/dplay.py b/youtube_dl/extractor/dplay.py index bbb199094..8145b6309 100644 --- a/youtube_dl/extractor/dplay.py +++ b/youtube_dl/extractor/dplay.py @@ -367,3 +367,41 @@ class HGTVDeIE(DPlayIE): display_id = self._match_id(url) return self._get_disco_api_info( url, display_id, 'eu1-prod.disco-api.com', 'hgtv', 'de') + +class ScienceChannelIE(DPlayIE): + _VALID_URL = r'https?://(?:www\.)?sciencechannel\.com/video' + DPlayIE._PATH_REGEX + _TESTS = [{ + 'url': 'https://www.sciencechannel.com/video/strangest-things-science-atve-us/nazi-mystery-machine', + 'info_dict': { + 'id': '2842849', + 'display_id': 'strangest-things-science-atve-us/nazi-mystery-machine', + 'ext': 'mp4', + 'title': 'Nazi Mystery Machine', + 'description': 'Experts investigate the secrets of a revolutionary encryption machine.', + 'season_number': 1, + 'episode_number': 1, + }, + 'skip': 'Available for Premium users', + }] + + def _update_disco_api_headers(self, headers, disco_base, display_id, realm): + headers['x-disco-client'] = 'WEB:UNKNOWN:sci:15.0.0' + + def _download_video_playback_info(self, disco_base, video_id, headers): + return self._download_json( + disco_base + 'playback/v3/videoPlaybackInfo', + video_id, headers=headers, data=json.dumps({ + 'deviceInfo': { + 'adBlocker': False, + }, + 'videoId': video_id, + 'wisteriaProperties': { + 'platform': 'desktop', + 'product': 'sci', + }, + }).encode('utf-8'))['data']['attributes']['streaming'] + + def _real_extract(self, url): + display_id = self._match_id(url) + return self._get_disco_api_info( + url, display_id, 'us1-prod-direct.sciencechannel.com', 'go', 'us') From 48181c5dca4f48b23c1e80426f968441809e6e4b Mon Sep 17 00:00:00 2001 From: Sipherdrakon <64430430+Sipherdrakon@users.noreply.github.com> Date: Sat, 24 Jul 2021 20:28:55 -0400 Subject: [PATCH 2/3] Update extractors.py --- youtube_dl/extractor/extractors.py | 1 + 1 file changed, 1 insertion(+) diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 6e8fc3961..0a0a7f6e1 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -298,6 +298,7 @@ from .dplay import ( DPlayIE, DiscoveryPlusIE, HGTVDeIE, + ScienceChannelIE ) from .dreisat import DreiSatIE from .drbonanza import DRBonanzaIE From db0c502236cbb8eb5faa9f28a804ab4e2e15ea67 Mon Sep 17 00:00:00 2001 From: Sipherdrakon <64430430+Sipherdrakon@users.noreply.github.com> Date: Sun, 25 Jul 2021 01:13:47 -0400 Subject: [PATCH 3/3] Update dplay.py --- youtube_dl/extractor/dplay.py | 1 + 1 file changed, 1 insertion(+) diff --git a/youtube_dl/extractor/dplay.py b/youtube_dl/extractor/dplay.py index 8145b6309..4eeda4a2e 100644 --- a/youtube_dl/extractor/dplay.py +++ b/youtube_dl/extractor/dplay.py @@ -368,6 +368,7 @@ class HGTVDeIE(DPlayIE): return self._get_disco_api_info( url, display_id, 'eu1-prod.disco-api.com', 'hgtv', 'de') + class ScienceChannelIE(DPlayIE): _VALID_URL = r'https?://(?:www\.)?sciencechannel\.com/video' + DPlayIE._PATH_REGEX _TESTS = [{