You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用fluent-ffmpeg调用ultrafast预设报错:无法找到对应模块

解决fluent-ffmpeg中preset('ultrafast')找不到模块的问题

问题原因

fluent-ffmpeg的.preset()方法并非用来直接调用ffmpeg内置的x264预设(比如ultrafast),它的作用是加载自定义的预设配置文件。直接传入'ultrafast'会让程序尝试寻找对应的模块文件,从而触发找不到模块的错误。

解决方法

方法一:使用outputOptions直接指定内置预设(推荐)

将代码中的.preset('ultrafast')替换为.outputOptions('-preset ultrafast'),直接通过ffmpeg的原生参数设置预设。修改后的完整代码:

import ffmpegPath = require('@ffmpeg-installer/ffmpeg');
import ffmpeg = require('fluent-ffmpeg');

// 配置ffmpeg的路径
ffmpeg.setFfmpegPath(ffmpegPath.path);

await new Promise((resolve, reject) => {
  ffmpeg(tempFilePath)
    .videoCodec('libx264')
    .audioCodec('copy')
    .outputOptions('-preset ultrafast')
    .output(outputFilePath)
    .on('end', resolve)
    .on('error', reject)
    .run();
});

方法二:自定义预设文件(不推荐,仅作补充)

如果一定要使用.preset()方法,需手动创建预设文件:

  1. 在项目根目录下创建presets文件夹,新建ultrafast.js文件,内容如下:
module.exports = {
  output: ['-preset ultrafast']
};
  1. 修改代码中的.preset('ultrafast')为.preset('./presets/ultrafast')(确保路径正确)。

内容的提问来源于stack exchange,提问作者coure2011

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 22:22:49