2017-03-02 10 views
0

私のnodejsアプリケーションでffmpegコマンドを使いたいです。私は流暢なffmpegのようなnpmパッケージを使いたくない。 は、今まで私はこれを行っている:出力でnodejsのFfmpegコマンド

var ffmpeg = spawn('ffmpeg', ['-i',fileName+'.wav' ,fileName+'.amr','-acodec libopencore_amrnb', '-ab 12200k', '-ac 1', '-ar 8000']); 
      // input_file.pipe(ffmpeg.stdin); 
      // ffmpeg.stdout.pipe(output_stream); 

      ffmpeg.stderr.on('data', function (data) { 
       console.log(data.toString()); 
      }); 

      ffmpeg.stderr.on('end', function() { 
       console.log('file has been converted succesfully'); 
      }); 

      ffmpeg.stderr.on('exit', function() { 
       console.log('child process exited'); 
      }); 

      ffmpeg.stderr.on('close', function() { 
       console.log('...closing time! bye'); 
      }); 

が、それはこのようなエラーを与える:

Unrecognized option 'acodec libopencore_amrnb' 

私は必要なすべてのバイナリがインストールされています。私は、端末上でコマンドを試してみましたが、完璧に動作している

var ffmpeg = spawn('ffmpeg', ['-i',fileName+'.wav' ,fileName+'.amr','-acodec libopencore_amrnb', '-ab 12200k', '-ac 1', '-ar 8000']); 

:だけのように何のコマンド私はspawn()に合格する必要があります知っている必要があります。私が望むのは、コマンド(オプション)をspawn()に渡す正しい方法です。どんな助けもありがとう。

答えて

1

spawnを呼び出すと、コマンド、そしてすべてのフラグとすべての関連する引数が別々の要素である配列が渡されます。

したがって、'-acodec libopencore_amrnb'の代わりに、あなたは'-acodec', 'libopencore_amrnb'が必要です。彼らは2つの別々の要素である必要があります。

+0

これを取得しました認識できないオプション 'acodec' –

+0

' - 'プレフィックスは残していましたか?これを試してみてください: 'spawn( 'ffmpeg'、['-i'、fileName + '.wav'、 '-acodec'、 'libopencore_amrnb'、 '-ac'、 '1'、 '-ar'、 ' 8k '、' output.amr ']) ' –

+0

それは働いた。ありがとう。 –

関連する問題