我需要能够从我的Node.js应用程序中执行FFMPEG。 我相信这个问题很可能与正确指定命令行参数,而不是具体到FFMPEG做的,但我一直无法缩小问题的范围,我提出我的整个问题。
我可以从成功的命令提示符下执行以下命令:
C:\Brad\ffmpeg.exe -f dshow -i audio="Microphone (SoundMAX Integrated" testaaa.mp3
FFMPEG正常启动,记录从我的音频设备的音频,并写入MP3文件。 现在,我尽我的Node.js应用程序中同样的事情 :
childProcess = child_process.spawn('C:\\Brad\\ffmpeg.exe', ['-f', 'dshow', '-i', 'audio="Microphone (SoundMAX Integrated"', 'testaaa.mp3']);
childProcess.stderr.on('data', function (data) {
console.log('StdioSource received data from STDERR: ' + data);
});
从内部的Node.js,FFMPEG失败! 该错误很简单:
[dshow @ 0000000001eded80] Could not find audio device.
audio="Microphone (SoundMAX Integrated": Input/output error
想,也许出于某种原因,这是一个奇怪的权限错误,我决定与运行FFMPEG -list_devices true
从我节点应用程序中,果然,有问题的设备列出:
[dshow @ 000000000228ecc0] DirectShow video devices
[dshow @ 000000000228ecc0] Could not enumerate video devices.
[dshow @ 000000000228ecc0] DirectShow audio devices
[dshow @ 000000000228ecc0] "Microphone (SoundMAX Integrated"
任何想法,为什么我不能正确的参数指定的音频输入设备FFmpeg中,或作为一个子进程来运行Node.js加载时FFMPEG为什么不承认我的音频输入设备?
任何提示将是非常赞赏。