gpt4 book ai didi

node.js - FFMpeg 错误执行调用 NodeJS 中的两个不同路径

转载 作者:行者123 更新时间:2023-12-04 23:34:06 26 4
gpt4 key购买 nike

我正在尝试从电影文件中截取屏幕截图,但我的应用程序崩溃并出现以下错误:

 $ FFMPEG_PATH=C:\\Apps\\ffmpeg\\bin\\ node .
=====Convert Video Failed======
{ [Error: spawn c:\Apps\ffmpeg\bin\ffprobe.exe
c:\Program Files (x86)\ImageMagick-6.8.3-Q16\ffprobe.exe ENOENT]
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawn c:\\Apps\\ffmpeg\\bin\\ffprobe.exe\r\nc:\\Program Files (x86)\\ImageMagick-6.8.3-Q16\\ffprobe.exe',
path: 'c:\\Apps\\ffmpeg\\bin\\ffprobe.exe\r\nc:\\Program Files (x86)\\ImageMagick-6.8.3-Q16\\ffprobe.exe',
spawnargs:
[ '-show_streams',
'-show_format',
'j:\\some.avi' ] }
stdout: undefined
stderr: undefined

如您所见,我正在传递 FFMPEG_PATH env 变量,否则我会遇到类似的错误:
$ node .
=====Convert Video Failed======
{ [Error: spawn c:\Apps\ffmpeg\bin\ffprobe.exe
c:\Program Files (x86)\ImageMagick-6.8.3-Q16\ffprobe.exe ENOENT]
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawn c:\\Apps\\ffmpeg\\bin\\ffprobe.exe\r\nc:\\Program Files (x86)\\ImageMagick-6.8.3-Q16\\ffprobe.exe',
path: 'c:\\Apps\\ffmpeg\\bin\\ffprobe.exe\r\nc:\\Program Files (x86)\\ImageMagick-6.8.3-Q16\\ffprobe.exe',
spawnargs:
[ '-show_streams',
'-show_format',
'j:\\some.avi' ] }
stdout: undefined
stderr: undefined

在这两种情况下,您都可以看到 node/fluent-ffmpeg 正在使用的命令导致这样的双路径: c:\\Apps\\ffmpeg\\bin\\ffprobe.exe\r\nc:\\Program Files (x86)\\ImageMagick-6.8.3-Q16\\ffprobe.exe这显然失败了。

是什么原因造成的,我该如何解决?

Win 7, Node v4.1.2 , ffmpeg 版本 N-76041-g0418541
我正在使用的代码:

var ffmpeg = require('fluent-ffmpeg');
// ffmpeg.setFfprobePath("c:\\Apps\\ffmpeg\\bin\\ffprobe.exe");

var filename = 'j:\\some.avi';
var command = ffmpeg(filename);


// Code from an example
command
.on('filenames', function(filenames) {
console.log('Will generate ' + filenames.join(', '))
})
.on('end', function() {
console.log('Screenshots taken');
})
.on('error', function(err, stdout, stderr) {
console.log(" =====Convert Video Failed======");
console.log(err);
console.log("stdout: " + stdout);
console.log("stderr: " + stderr);
})
.screenshots({
// Will take screens at 20%, 40%, 60% and 80% of the video
count: 4,
folder: 'd:\\projects\\pics'
})

最佳答案

它只发生在 Git Bash 中——我习惯于在窗口中工作。在普通 cmd 中运行脚本可以正常工作。

关于node.js - FFMpeg 错误执行调用 NodeJS 中的两个不同路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33180752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com