在 Node JS 中使用 Fluent FFMPEG 从屏幕截图创建视频缩略图

Creating Thumbnail of Video from screenshot using Fluent FFMPEG in Node JS

我正在使用 Node JS 创建 API 并在视频上传后使用 Fluent- FFMPEG 截取屏幕截图。我收到以下错误。我找到了这个错误的许多答案,但 none 有效。Fluent-ffmpeg 已安装。我也附上了 package.json 示例代码。还有 ffmpeg 代码片段。

我是否必须在 windows 上安装 ffmpeg 才能使 api 正常工作?我必须设置任何环境变量吗?

错误

events.js:173
  throw er; // Unhandled 'error' event
  ^

Error: Cannot find ffprobe
at D:\project\node_modules\fluent-ffmpeg\lib\ffprobe.js:145:31
at D:\project\node_modules\fluent-ffmpeg\lib\capabilities.js:194:9

Package.json

"express": "^4.17.1",
"express-validator": "^6.6.1",
"fluent-ffmpeg": "^2.1.2", // it has been installed
"i18n": "^0.8.4",

代码

const ffmpeg = require('fluent-ffmpeg');
await ffmpeg(getFileFromLocal)
                .screenshots({
                    count: 1,
                    filename: fileName,
                    folder: folderName
                }).on('end', async function () {
                    //further code
                })
            return;

我明白了为什么它不起作用。我缺少两件事。

  1. FFmpeg 未安装。我从这个 Link 安装。 (注意:Fluent-ffmpeg 需要在您的 OS 中安装 FFmpeg。没有 FFmpegFluent-ffmpeg 将不起作用。)
  2. 设置环境变量。按照this教程设置环境变量。

完成以上两个任务后,我就可以成功制作视频截图了。