screenshots percentage parameter didn't work

Author: CupccCreated Mar 30, 2025Updated Mar 30, 2025

2025-03-31 00:06:48 [error]: Error extracting frame: Cannot find ffprobe {"stack":"Error: Cannot find ffprobe\n at E:\Projects\web\zjq-admin\node_modules\fluent-ffmpeg\lib\ffprobe.js:145:31\n at E:\Projects\web\zjq-admin\node_modules\fluent-ffmpeg\lib\capabilities.js:194:9\n at E:\Projects\web\zjq-admin\node_modules\fluent-ffmpeg\lib\capabilities.js:183:15\n at suppressedCallback (node:fs:257:5)\n at FSReqCallback.oncomplete (node:fs:188:23)"} 2025-03-31 00:06:48 [error]: Unhandled error: Cannot find ffprobe {"stack":"Error: Cannot find ffprobe\n at E:\Projects\web\zjq-admin\node_modules\fluent-ffmpeg\lib\ffprobe.js:145:31\n at E:\Projects\web\zjq-admin\node_modules\fluent-ffmpeg\lib\capabilities.js:194:9\n at E:\Projects\web\zjq-admin\node_modules\fluent-ffmpeg\lib\capabilities.js:183:15\n at suppressedCallback (node:fs:257:5)\n at FSReqCallback.oncomplete (node:fs:188:23)"} PUT /api/admin/grades/update 500 32.907 ms - 84

my code:

javascript
return new Promise((resolve, reject) => {
    ffmpeg(videoPath)
      .screenshots({
        timestamps: ["50%"],
        filename: `${gradeId}.jpg`,
        folder: "D:/zjq/videos",
      })
      .on("end", () => {
        logger.info(
          `Successfully extracted frame at ${timestamp}s from ${gradeId}.mp4`
        );
        resolve(outputPath);
      })
      .on("error", err => {
        logger.error("Error extracting frame:", err);
        reject(err);
      });
  });

official example

javascript
ffmpeg('/path/to/video.avi')
  .on('filenames', function(filenames) {
    console.log('Will generate ' + filenames.join(', '))
  })
  .on('end', function() {
    console.log('Screenshots taken');
  })
  .screenshots({
    // Will take screens at 20%, 40%, 60% and 80% of the video
    count: 4,
    folder: '/path/to/output'
  });

ffmpeg('/path/to/video.avi')
  .screenshots({
    timestamps: [30.5, '50%', '01:10.123'],
    filename: 'thumbnail-at-%s-seconds.png',
    folder: '/path/to/output',
    size: '320x240'
  });

Source: fluent-ffmpeg/node-fluent-ffmpeg