2017-12-15 14 views
1

WindowsにFFMPEGをインストールしました。私はそれを私のパス変数に加えました。どのフォルダに関係なくコマンドプロンプトでffmpegにアクセスできます(ffmpeg + path変数が期待どおりに動作していることがわかります)。PHP execはFFMPEGにアクセスできません。コマンドプロンプトでできるのですが

PHP

exec('ffmpeg -y -i C:/wamp64/test.mp4 -strict -2 -b:v 500k -vf scale=-2:123 C:/wamp64/test.mp4 2>&1', $output); 
$output = implode(' -|- ', $output); 
var_dump($output); 

のvar_dump

'ffmpeg' is not recognized as an internal or external command, -|- operable program or batch file. 

私は、コマンドプロンプトで、まったく同じコマンドー(ffmpeg -y -i C:/wamp64/test.mp4 -strict -2 -b:v 500k -vf scale=-2:123 C:/wamp64/test.mp4 2>&1)をコピーするとき、それは完璧に動作します。フォルダの場所にかかわらず。

ffmpegを見つけるために追加/異なるステップを実行する必要がありますか?

+1

は、端末にアクセスするために別のアプリをブロックする窓のように見える、あなたがexecししようとしましたこの 'C:\ ffmpeg \ bin \ ffmpeg.exe'のように? –

+0

@PutraPurbaはい、これは動作しますが、フルパスを使用しないライブラリも使用したいと思います。 – degebine

+0

は既にC:\ ffmpeg \ binにPATH varに追加されていますか? –

答えて

0

あなたはPHPの代わりに/の定数

DIRECTORY_SEPARATOR 

を定義し使用してみてもらえますか?

また、あなたはそれはあなたの%のPATH%などではない場合、あなたのffmpeg.exeプログラムへの完全なパスを使用する必要があります。

'C:' . DIRECTORY_SEPARATOR . 'Program Files' . DIRECTORY_SEPARATOR . 'ffmpeg' . DIRECTORY_SEPARATOR . 'bin'. DIRECTORY_SEPARATOR . 'ffmpeg.exe' 
関連する問題