ffmpeg 说该文件不存在,但它实际上存在

ffmpeg says that file doesn't exist, but it actually exists

试图从视频中提取音频所以在我的 NestJS 控制器中我使用 ffmpeg 来解决它,但它告诉我该文件不存在 这是我在控制器中的处理程序:

try {
    let process = new ffmpeg("/uploads/0.777341078548575.mp4")
    process.then(function (video) {
        video.fnExtractSoundToMP3(
            '/uploads/audio/test/007',
            function (error, file) {if (!error) console.log('Audio file: ' + file)}
        )
    }, function (err) {
           console.log('Error: ' + err)
    })
} catch (e) {
    console.log("CATCHED ERROR", e)
}

这就是 ffmpeg 对我说的 CATCHED ERROR { code: 103, msg: 'The input file does not exist' } 但是我使用了正确的路径,所以无法找到问题所在,在图片上你可以看到我的视频文件存储在哪里

我尝试了不同的路径:../../uploads/0.777341078548575.MP4/uploads/0.777341078548575.MP4../../uploads/0.777341078548575.mp4/uploads/0.777341078548575.mp4 以及所有这些没有 .mp4.MP4 的路径

答案是 重新安装ffmpeg 或者使用 Sudo 命令

您的 .ts 文件在 transcribation/transcribation.controller.ts 中,但您正在访问的文件不在同一文件夹中。它实际上上升了 1 级。

确保您要升级 1 级才能访问视频

let process = new ffmpeg("../uploads/0.1831579264771055.mp4")