From c4538c77fc44200c78b7d5344f39252cd7b02639 Mon Sep 17 00:00:00 2001 From: EpicKiwi Date: Tue, 7 Apr 2026 09:20:29 +0200 Subject: [PATCH] =?UTF-8?q?wip=20arri=C3=A8re=20plan=20vid=C3=A9o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- background-video/.gitignore | 1 + background-video/package-lock.json | 56 ++++++++++++++++++++++++++++++ background-video/package.json | 6 ++++ background-video/record-video.js | 26 ++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 background-video/.gitignore create mode 100644 background-video/package-lock.json create mode 100644 background-video/package.json create mode 100755 background-video/record-video.js diff --git a/background-video/.gitignore b/background-video/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/background-video/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/background-video/package-lock.json b/background-video/package-lock.json new file mode 100644 index 0000000..3a264fe --- /dev/null +++ b/background-video/package-lock.json @@ -0,0 +1,56 @@ +{ + "name": "background-video", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "playwright": "^1.59.1" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/playwright": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", + "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.59.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", + "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + } + } +} diff --git a/background-video/package.json b/background-video/package.json new file mode 100644 index 0000000..d048e59 --- /dev/null +++ b/background-video/package.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "playwright": "^1.59.1" + }, + "type": "module" +} diff --git a/background-video/record-video.js b/background-video/record-video.js new file mode 100755 index 0000000..2e1ee5f --- /dev/null +++ b/background-video/record-video.js @@ -0,0 +1,26 @@ +#!/bin/env node +import {firefox} from "playwright" + +const SCREENCAST_DURATION = 10000 +const SCREEN_SIZE = {width: 1920, height: 1080} + +const browser = await firefox.launch() +const page = await browser.newPage() + +await page.setViewportSize(SCREEN_SIZE) +await page.goto("http://localhost:8080/") +await page.evaluate(() => document.getElementById("app").style.display = "none") + +await page.screenshot({path: "screenshot.png"}) + +await page.screencast.start({ + onFrame: (data) => { + console.log('received frame', data); + }, + quality: 100, + size: SCREEN_SIZE +}) +await new Promise((res) => setTimeout(res, SCREENCAST_DURATION)) +await page.screencast.stop() + +await browser.close() \ No newline at end of file