繁体   English   中英

NODE.JS 使用 audioconcat ,配置了 ffmpeg 但仍有问题

[英]NODE.JS using audioconcat , configured ffmpeg but still have prob

想要连接两个音频文件。 我使用了一个名为 audioconcat 的 npm 包,但是当我安装和配置以下代码时,我遇到了以下错误

Error: Error: Cannot find ffmpeg
    at E:\VoiceMan\registercheck\node_modules\fluent-ffmpeg\lib\processor.js:136:22
    at E:\VoiceMan\registercheck\node_modules\fluent-ffmpeg\lib\capabilities.js:123:9
    at E:\VoiceMan\registercheck\node_modules\async\dist\async.js:356:16
    at nextTask (E:\VoiceMan\registercheck\node_modules\async\dist\async.js:5057:29)
    at E:\VoiceMan\registercheck\node_modules\async\dist\async.js:5064:13
    at apply (E:\VoiceMan\registercheck\node_modules\async\dist\async.js:21:25)
    at E:\VoiceMan\registercheck\node_modules\async\dist\async.js:56:12
    at E:\VoiceMan\registercheck\node_modules\async\dist\async.js:840:16
    at E:\VoiceMan\registercheck\node_modules\fluent-ffmpeg\lib\capabilities.js:116:11
    at E:\VoiceMan\registercheck\node_modules\fluent-ffmpeg\lib\utils.js:223:16
ffmpeg stderr: undefined

然后我把我的问题放在 stackoverflow 上。 一位好心的开发人员建议我也安装 ffmpeg。 我成功安装并设置了路径变量,但现在我遇到了另一个问题,它告诉我没有找到这样的文件。我将我的音频文件放在这个模块的同一个文件夹中。 这是错误

working11
working1123423423423
ffmpeg process started: ffmpeg -i concat:audio/a(1).m4a|audio/a(2).m4a|audio/a(3).m4a -y -acodec copy all.m4a
Error: Error: ffmpeg exited with code 1: concat:audio/a(1).m4a|audio/a(2).m4a|audio/a(3).m4a: No such file or directory

    at ChildProcess.<anonymous> (C:\Projects\audio\node_modules\fluent-ffmpeg\lib\processor.js:182:22)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
ffmpeg stderr: ffmpeg version N-90173-gfa0c9d69d3 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libas
s --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --ena
ble-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack -
-enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidst
ab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-cuda
 --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
  libavutil      56.  7.101 / 56.  7.101
  libavcodec     58. 13.100 / 58. 13.100
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 12.100 /  7. 12.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
concat:audio/a(1).m4a|audio/a(2).m4a|audio/a(3).m4a: No such file or directory

这是我的代码:

var audioconcat = require('audioconcat')


var songs = [
  'a(1).mp3',
  'a(2).mp3',
  'a(3).mp3'
]
 console.log("working11")
audioconcat(songs)

  .concat('all.mp3') 
  .on('start', function (command) {
    console.log('ffmpeg process started:', command)
  })
  .on('error', function (err, stdout, stderr) {
    console.error('Error:', err)
    console.error('ffmpeg stderr:', stderr)
  })
  .on('end', function (output) {
    console.error('Audio created in:', output)
  })
   console.log("working1123423423423")

您提供的代码没有任何问题,因此它应该可以工作(它对我有用)。 但是,您提供的日志显示您正在尝试合并audio文件夹下的 .m4a 文件,而 FFmpeg 找不到指定的文件。

Error: ffmpeg exited with code 1: concat:audio/a(1).m4a|audio/a(2).m4a|audio/a(3).m4a: No such file or directory

要么将您的 ffmpeg 可执行文件放在您的项目文件夹中(假设您的audio文件夹也在您的项目文件夹中)或提供.m4a文件的完整路径。

像这样:

var songs = [
  'C:\\Projects\\audio\\a(1).m4a',
  'C:\\Projects\\audio\\a(2).m4a',
  'C:\\Projects\\audio\\a(3).m4a'
];

问题出在文件名中。文件名中有空格。文件名就像目录中的“a (1).mp3”,我在我的程序中将它写成“a(1).mp3”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM