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

Node.js中调用ffmpeg.ffprobe获视频时长遇Cannot find ffprobe错误求助

解决Node.js中ffmpeg.ffprobe提示"Cannot find ffprobe"的问题

问题原因

你只通过setFfmpegPath配置了ffmpeg的执行路径,但没有为ffprobe指定路径,导致调用ffmpeg.ffprobe时找不到对应的可执行文件。

解决方案

1. 确保依赖安装

如果还没安装@ffmpeg-installer/ffmpeg,先执行安装命令:

npm install @ffmpeg-installer/ffmpeg

2. 修改代码配置ffprobe路径

在原有代码基础上,添加setFfprobePath来指定ffprobe的路径(@ffmpeg-installer/ffmpeg包中已经包含了ffprobe的可执行文件路径):

function video_control(video) {
    const path = video.path;
    const ffmpegInstaller = require("@ffmpeg-installer/ffmpeg");
    // 同时设置ffmpeg和ffprobe的路径
    ffmpeg.setFfmpegPath(ffmpegInstaller.path);
    ffmpeg.setFfprobePath(ffmpegInstaller.path.replace("ffmpeg", "ffprobe"));

    ffmpeg.ffprobe(path, (err, metadata) => {
        if (err) {
            console.error(err);
        } else {
            const duration = metadata.format.duration;
            console.log("视频时长(秒):", duration);
        }
    });
}

补充说明

  • @ffmpeg-installer/ffmpeg会根据你的系统自动下载对应版本的ffmpeg和ffprobe,通过替换文件名的方式可以直接拿到ffprobe的路径,无需额外安装其他包。
  • 改用ffmpeg/ffprobe方案后,对webm等格式的兼容性会比get-video-duration更好,能避免部分格式解析失败的问题。

内容的提问来源于stack exchange,提问作者İlker Yasin Pehlivan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 02:12:48