Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
This repository was archived by the owner on May 22, 2025. It is now read-only.

screenshots percentage parameter didn't work #1322

@Cupcc

Description

@Cupcc

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:

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

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'
  });

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions