Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js ';ffmpeg';在nodejs node ffmpeg中不被识别为内部或外部命令_Node.js_Video_Ffmpeg_Thumbnails - Fatal编程技术网

Node.js ';ffmpeg';在nodejs node ffmpeg中不被识别为内部或外部命令

Node.js ';ffmpeg';在nodejs node ffmpeg中不被识别为内部或外部命令,node.js,video,ffmpeg,thumbnails,Node.js,Video,Ffmpeg,Thumbnails,我正在开发一个NodeJS应用程序。首先,对于NodeJS,我只是一个初学者。我现在在我的应用程序中所做的是尝试为我的mp4文件创建缩略图jpg文件。我已经尝试了许多可能的解决办法。现在我用的是这个-。我认为这是一个潜在的解决方案。我在生成视频文件的jpg缩略图时出错。请看我到目前为止所做的 我安装了运行此命令的包 npm install ffmpeg --save 然后我试着像这样生成缩略图文件 var ffmpeg = require('ffmpeg'); module.exports.c

我正在开发一个NodeJS应用程序。首先,对于NodeJS,我只是一个初学者。我现在在我的应用程序中所做的是尝试为我的mp4文件创建缩略图jpg文件。我已经尝试了许多可能的解决办法。现在我用的是这个-。我认为这是一个潜在的解决方案。我在生成视频文件的jpg缩略图时出错。请看我到目前为止所做的

我安装了运行此命令的包

npm install ffmpeg --save
然后我试着像这样生成缩略图文件

var ffmpeg = require('ffmpeg');
module.exports.createVideoThumbnail = function(req, res)
{
    try {
        var process = new ffmpeg('public/lalaland.mp4');
        process.then(function (video) {

            video.fnExtractFrameToJPG('public', {
                frame_rate : 1,
                number : 5,
                file_name : 'my_frame_%t_%s'
            }, function (error, files) {
                if (!error)
                    console.log('Frames: ' + files);
                else
                    //This error message is displayed
                    console.log(error)
            });

        }, function (err) {
            console.log('Error: ' + err);
        });
    } catch (e) {
        console.log(e.code);
        console.log(e.msg);
    }
    res.json({ status : true , message: "Video thumbnail created. Hopefully" });
}
当我运行代码时,它抛出了一个错误。我在抛出错误的代码中进行了注释。 这是错误消息

{ Error: Command failed: ffmpeg -i public/lalaland.mp4 -r 1 -s 0x0 -aspect NaN:NaN -vframes 5 -filter_complex "scale=iw*sar:ih, pad=max(iw\,ih*(NaN/NaN)):ow/(NaN/NaN):(ow-iw)/2:(oh-ih)/2:black" public/my_frame_1518211962631_0x0_%d.jpg
'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.

    at ChildProcess.exithandler (child_process.js:275:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
  killed: false,
  code: 1,
  signal: null,
  cmd: 'ffmpeg -i public/lalaland.mp4 -r 1 -s 0x0 -aspect NaN:NaN -vframes 5 -filter_complex "scale=iw*sar:ih, pad=max(iw\\,ih*(NaN/NaN)):ow/(NaN/NaN):(ow-iw)/2:(oh-ih)/2:black" public/my_frame_1518211962631_0x0_%d.jpg' }
我也安装了ffmg。你可以在下面看到,这是我笔记本电脑上安装的命令


我的代码中缺少什么?

是否尝试将ffmpeg可执行文件的路径添加到环境变量中

也许这可以帮助其他人,因为唯一的答案并不那么清楚

它告诉您ffmpeg命令无法识别,这意味着您需要安装ffmpeg二进制文件。您已经安装了nodejs库,但是除此之外,您还应该安装ffmpeg二进制文件,它实际上将执行JS调用的命令“ffmpeg”
图书馆。找到下载ffmpeg的url,将其解压缩并将/bin文件夹的路径添加到您的环境变量(path)中。

我在Python(Jupyter笔记本)中也遇到过同样的问题!麻烦就在路上。我的Python3解决方案:

  • 通过pip安装ffmpeg:
    pip安装ffmpeg
  • 检查Jupyter笔记本中的路径:
    echo%path%
  • 在路径中,我查找了名为:
    C:\ffmpeg\bin
    的目录,但该目录不存在
  • 在my Windows 10中从以下目录下载版本并解压缩存档:
    C:\ffmpeg\
  • 然后我的
    echo%path%
    找到了
    ffmpeg.exe
    文件和代码
    !ffmpeg…
    效果很好