aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2020-05-18 22:25:33 -0700
committerSam Wilkins <samwilkins333@gmail.com>2020-05-18 22:25:33 -0700
commit5490b3d0be16549e5a01ec30bd3be290cd7c34ee (patch)
tree8b19e61e847ead9947e8671c8ecfbe8ce574f2b0 /src
parent039892dd122f7958662e1cfe27b0e3296c2780b9 (diff)
parent4c86d66b5642726325636ecfe7677f0139ce06c1 (diff)
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src')
-rw-r--r--src/server/ApiManagers/UploadManager.ts17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/server/ApiManagers/UploadManager.ts b/src/server/ApiManagers/UploadManager.ts
index 10d7e3a34..756bde738 100644
--- a/src/server/ApiManagers/UploadManager.ts
+++ b/src/server/ApiManagers/UploadManager.ts
@@ -277,7 +277,9 @@ export default class UploadManager extends ApiManager {
}
}
-
+function delay(ms: number) {
+ return new Promise(resolve => setTimeout(resolve, ms));
+}
/**
* On success, returns a buffer containing the bytes of a screenshot
* of the video (optionally, at a timecode) specified by @param targetUrl.
@@ -289,12 +291,19 @@ async function captureYoutubeScreenshot(targetUrl: string): Promise<Opt<Buffer>>
const page = await browser.newPage();
await page.setViewport({ width: 1920, height: 1080 });
- await page.goto(targetUrl, { waitUntil: 'networkidle0' });
+ await page.goto(targetUrl, { waitUntil: 'domcontentloaded' as any });
+ const videoPlayer = await page.$('.html5-video-player');
+ videoPlayer && await page.focus("video");
+ await delay(7000);
+ const ad = await page.$('.ytp-ad-skip-button-text');
+ await ad?.click();
+ await videoPlayer?.click();
+ await delay(1000);
// hide youtube player controls.
- await page.evaluate(() => (document.querySelector('.ytp-chrome-bottom') as any).style.display = 'none');
+ await page.evaluate(() =>
+ (document.querySelector('.ytp-chrome-bottom') as any).style.display = 'none');
- const videoPlayer = await page.$('.html5-video-player');
const buffer = await videoPlayer?.screenshot({ encoding: "binary" });
await browser.close();