UNPKG

@omnimedia/omnitool

Version:

open source video processing tools

69 lines (54 loc) 1.81 kB
import {context} from "../context.js" import {waveformTest} from "./routines/waveform-test.js" import {filmstripTest} from "./routines/filmstrip-test.js" import {transcriberTest} from "./routines/transcriber-test.js" import {setupTranscodeTest} from "./routines/transcode-test.js" const driver = await context.driver const results = document.querySelector(".results")! const fetchButton = document.querySelector(".fetch") const importButton = document.querySelector(".import") as HTMLButtonElement fetchButton?.addEventListener("click", startDemoFetch) importButton?.addEventListener("click", startDemoImport) waveformTest() const transcriber = await transcriberTest(driver) // hello world test { await driver.thread.work.hello() if (driver.machina.count === 1) console.log("✅ driver works") else console.error("❌ FAIL driver call didn't work") } // transcoding tests async function startDemoImport() { const [fileHandle] = await window.showOpenFilePicker() const file = await fileHandle.getFile() const transcode = setupTranscodeTest(driver, file) await filmstripTest(file) run(transcode, fileHandle.name) await transcriber.transcribe(file) } async function startDemoFetch() { // which videos to run tests on const videos = [ "/assets/temp/gl.mp4", ] // running each test in sequence for (const url of videos) { const transcode = setupTranscodeTest(driver, "/assets/temp/gl.mp4") run(transcode, url) } } async function run(transcode: ReturnType<typeof setupTranscodeTest>, label: string) { // create result div const div = document.createElement("div") results.append(div) // add video label const p = document.createElement("p") p.textContent = label div.append(p) // add the canvas to dom div.append(transcode.canvas) // run the test await transcode.run() }