-
Notifications
You must be signed in to change notification settings - Fork 939
screenshots percentage parameter didn't work #1322
Description
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'
});