From 6f9278fe81c55978feca8e073618898f4433a98c Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Mon, 7 Mar 2022 13:14:16 +0100 Subject: Initial commit --- init.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 init.js (limited to 'init.js') diff --git a/init.js b/init.js new file mode 100644 index 0000000..f168f56 --- /dev/null +++ b/init.js @@ -0,0 +1,31 @@ +const fs = require("fs").promises +const seurat = require("seurat") +const ffmpegExtractFrames = require("ffmpeg-extract-frames") +const imageSize = require("image-size") + +const fps = 1.0 +const limit = 2000 +const url = "https://www.youtube.com/watch?v=9lNZ_Rnr7Jc" + +fs.rm("frames", {recursive: true, force: true}) + .then(_ => fs.mkdir("frames")) + .then(_ => ffmpegExtractFrames({ + input: "bad_apple.mkv", + output: "frames/%5d.png", + fps + })) + .then(_ => fs.readdir("frames")) + .then(files => { + const dimensions = imageSize("frames/00001.png") + const ratio = dimensions.width / dimensions.height + const size = Math.sqrt(limit) + + return Promise.all(files.map(file => + seurat.convert("frames/" + file, { + width: Math.floor(size * ratio), + height: Math.floor(size / ratio), + threshold: 25, + }))) + }) + .then(frames => fs.writeFile("badapple.json", JSON.stringify({fps, frames}))) +/**/ -- cgit v1.2.3