2012-01-22 6 views
1

私はMax OS 10.7、MAMP(PHP 5.3.6)を実行していて、FFMPEGがインストールされています。私はあるフォーマットから別のフォーマットにビデオを変換したい。ターミナルに入力された以下は、正常に動作します。PHPのexec()コマンドでffmpegを使用するにはどうしたらいいですか?

ffmpeg -i /path/video.wmv /path/video.flv 

ファイルvideo.wmvはvideo.flvに変換されます。すばらしいです!今、このPHPの行は動作しません:

exec('ffmpeg -i /path/video.wmv /path/video.flv'); 

なぜですか?私はこれを読んで何時間も費やしてきましたが、何が間違っているのかまだ分かりません。私はこのトピックに関する他の議論を読んだが、明確な答えはない。どんな助けでも大歓迎です! (PHP safe_modeはオフです)。

+2

をバイナリがパスにあることを確認し、または受信するために '2>&1 'を追加し、あなたの' error.log'をチェックあなたの不正行為の詳細。 – mario

+0

これは、権限に問題がある可能性があります。 PHPまたはApacheが使用しているユーザーには、宛先へのアクセス/書き込みの権限がありません。 – Repox

+0

ファイルのアクセス許可は広く公開されています。同じ問題を抱えている人がたくさんいるようです。私はターミナルに入ることができるどんなコマンドもexec()の引数として使うことができると期待しています。明らかに、これはそうではありません。 –

答えて

5

ffmpegへのパスが正しいことを再確認します。このような便利なもの、持っている場合にも、確認するために出力を見てみましょう:

exec("/usr/bin/ffmpeg -i $srcFile $destFile 2>&1", $output); 
var_dump($output); 
関連する問題