Files
2026-07-26 18:25:37 +09:00

24 lines
707 B
JavaScript

import { createTempDir } from "../../misc/create-temp.js";
import { convertToWebp } from "./image-processor.js";
import FFmpeg from "fluent-ffmpeg";
export async function GenerateVideoThumbnail(source) {
const [dir, cleanup] = await createTempDir();
try {
await new Promise((res, rej)=>{
FFmpeg({
source
}).on("end", res).on("error", rej).screenshot({
folder: dir,
filename: "out.png",
count: 1,
timestamps: [
"5%"
]
});
});
return await convertToWebp(`${dir}/out.png`, 996, 560);
} finally{
cleanup();
}
}