2016-04-23 18 views
0

ビデオの最初のフレームを取得するのに 'node-fluent-ffmpeg'を使用しようとしています。私は 'node-fluent-ffmpeg'の前提条件だったので、私のノードモジュールに 'ffmpeg'を追加しました。しかし、私のログには "canf find ffmpeg"と書いてあります。私は第2段落を理解していません。これについては、「node-fluent-ffmpeg」ドキュメントを参照してください。彼らはPATHで何を参照していますか、これら2つのライブラリを正しく接続するにはどうすればいいですか?ノードのPATHに新しいライブラリを追加

enter image description here

答えて

0

あなたがdirまたはlsのようなコマンドを入力すると、お使いのシステムは、そのバイナリのために構成されたディレクトリのセットになります。 PATHは、ディレクトリのリストを保持する変数を参照します。

ffmpegバイナリがシェルPATHのディレクトリにない場合は、nodeを実行するときに明示的にパスを設定する必要があります。これは、FFMPEG_PATHFFPROBE_PATHの環境変数で行われます。

バイナリがパス上にあるかどうかを確認するには、whichを使用します。

$ which ffmpeg 
/usr/local/bin/ffmpeg 
$ which ffprobe 
/usr/local/bin/ffprobe 

whichがパスを返さないか、nodeを実行しているときにアプリが別のシェル環境で実行されている、あなたは、特にこれらのモジュール変数を設定することができます(サービスのようなことでしょう)した場合。

FFMPEG_PATH=/usr/local/bin/ffmpeg \ 
FFPROBE_PATH=/usr/local/bin/ffprobe \ 
node whatever.js 

は、あなたのケースでは、それはあなたがでffmpegffprobeバイナリを置くnode_modulesディレクトリへのフルパスになります。だから私はちょうど=「/ node_modules/ffmpegの」FFMPEG_PATHを置く

+0

? – ian

+0

'/'で始まると 'node_modules'がルートディレクトリにあります。 '/ home/you/project/node_modules/ffmpeg'のような別のディレクトリでしょうか?プロジェクトディレクトリから常に 'node'を実行する場合、'。/ node_modules/ffmpeg'を相対パスとして使うことができます。 – Matt

関連する問題