2017-08-25 13 views
-1

私はffmpegを使用しているビデオのサムネイル画像を取得する必要があります。私のサーバー上では、sshからffmpegコマンドを実行していますが、動作していますが、動作していないphp exec関数から、/ usr/bin/ffmpegエラーが発生します。このようなファイルやdirctoryはありませんが、ffmpegはこの場所にインストールされます。usr/bin/ffmpeg。 私のソースコードは:ffmpegは端末からは動作しますが、PHPスクリプトでは動作しません

$ffmpeg = '/usr/bin/ffmpeg'; 

$videoname = 'myvideo.mp4'; 

$video = $_SERVER['DOCUMENT_ROOT'].'/uploads/videos/'.$videoname; 

$image = $_SERVER['DOCUMENT_ROOT'].'/uploads/thumbs/thumb.jpg'; 

$second = 1; 

$cmd = "$ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&1"; 

exec($cmd); 

解決策を提示してください。

+0

'exec()'を実行するのではなく、誤っていないと仮定して、実行中のコマンドを表示して正しいことを確認してください。 – Sammitch

+0

私のルートパスは正しく表示されています。 /usr/bin/ffmpeg -i path_to_video -deinterlace -an -ss $ second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg Path_to_thumb 2>&1 –

答えて

0

あなたはこれで良いと思うコードを更新します。

`$ ffmpeg = '/ usr/bin/ffmpeg';

$ videoname = 'myvideo.mp4';

$ video = $ _SERVER ['DOCUMENT_ROOT']。 '/ uploads/videos /'。$ videoname;

$ image = $ _SERVER ['DOCUMENT_ROOT'] '/ uploads/thumbs/thumb.jpg';

$ second = 1;

$ cmd = "$ ffmpeg -i '"。$ビデオ。 "' -deinterlace -an -ss $ second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg '"。 $ image "" 2> & 1 "; echo $ cmd; のexec($ CMD); `

時々exec()機能ミスが原因変数の周りに欠落している引用符に動作します。

関連する問題