1

私はphpにとても慣れていません。最近、Macでphpをセットアップし、ffmpeg-phpをセットアップして、さまざまなビデオを必要に応じてflvまたはその他の形式に変換しようとしています。このチュートリアルFFmpegMacのインストールを使用し、ターミナルを使用してffmpegを動作させましたが、phpを使用してムービーをエンコードしようとすると、エラーが発生します。私のapacheerror_logファイルでは、flvファイル(以下に表示)の横にアクセスが拒否されたと表示されます。

FFmpegバージョン0.6、Copyright(c)2000-2010FFmpeg開発者は
2010年12月30日08:36:24にgcc4.2.1(Apple Inc.ビルド5646)(ドット1)構成でビルド:--prefix = / usr / local --enable-shared --disable-mmx --enable-libmp3lame --enable-gpl --enable-libfaad --enable-zlib --enable-libvorbis --enable-libfaac --enable-nonfree

libavutil50.15。1/50.15。1libavcodec52.72
。2/52.72。2libavformat52.64
。2/52.64。2
libavdevice 52. 2. 0 / 52. 2.
0libswscale0.11。0/0.11。0
ストリーム1コーデックのフレームレートがコンテナのフレームレートと異なるようです:1200.00(1200/1)-> 30.00(30/1)
入力#0、mov、mp4、m4a、3gp、3g2、mj2、'/ Users / myApple / Sites / AdHere / test.mov':
メタデータ:
major_brand:qt
minor_version:537199360
compatible_brands:qt
デュレーション:00:00:02.04、開始:0.000000、ビットレート:1109 kb / s
ストリーム#0.0(eng):オーディオ:aac、44100 Hz、ステレオ、s16、97 kb / s
ストリーム#0.1(eng):ビデオ:h264、yuv420p、640x480、1027 kb / s、30.15 fps、30 tbr、600 tbn、1200 tbc
/Users/myApple/Sites/AdHere/movteststuff.flv:許可が拒否されました

何が問題なのかわかりません。私は次のphpコードを使用しています:

<?php 
extension_loaded('ffmpeg') or die('Error in loading ffmpeg');

$ffmpegInstance = new ffmpeg_movie('test.AVI');
echo "getDuration: " . $ffmpegInstance->getDuration() .
"<br>getFrameCount: " . $ffmpegInstance->getFrameCount() .
"<br>getFrameRate: " . $ffmpegInstance->getFrameRate() .
"<br>getFilename: " . $ffmpegInstance->getFilename() .
"<br>getComment: " . $ffmpegInstance->getComment() .
"<br>getTitle: " . $ffmpegInstance->getTitle() .
"<br>getAuthor: " . $ffmpegInstance->getAuthor() .
"<br>getCopyright: " . $ffmpegInstance->getCopyright() .
"<br>getArtist: " . $ffmpegInstance->getArtist() .
"<br>getGenre: " . $ffmpegInstance->getGenre() .
"<br>getTrackNumber: " . $ffmpegInstance->getTrackNumber() .
"<br>getYear: " . $ffmpegInstance->getYear() .
"<br>getFrameHeight: " . $ffmpegInstance->getFrameHeight() .
"<br>getFrameWidth: " . $ffmpegInstance->getFrameWidth() .
"<br>getPixelFormat: " . $ffmpegInstance->getPixelFormat() .
"<br>getBitRate: " . $ffmpegInstance->getBitRate() .
"<br>getVideoBitRate: " . $ffmpegInstance->getVideoBitRate() .
"<br>getAudioBitRate: " . $ffmpegInstance->getAudioBitRate() .
"<br>getAudioSampleRate: " . $ffmpegInstance->getAudioSampleRate() .
"<br>getVideoCodec: " . $ffmpegInstance->getVideoCodec() .
"<br>getAudioCodec: " . $ffmpegInstance->getAudioCodec() .
"<br>getAudioChannels: " . $ffmpegInstance->getAudioChannels() .
"<br>hasAudio: " . $ffmpegInstance->hasAudio();

exec('ffmpeg -i /Users/myApple/Sites/AdHere/test.mov /Users/myApple/Sites/AdHere/movteststuff.flv');



?>

filename、frameheight、framewidthなどのさまざまなパラメーターを確認できます。これにより、ffmpeg-phpは機能していると思いますが、exec()コマンドで何か間違ったことをしているだけかもしれません。誰でもアイデアがあります。私はかなり前からffmpegのセットアップに苦労してきました。

ありがとう!

-ジョン

4

2 に答える 2

0

それは単なる権限の問題です...

ffmpeg を 777 パーミッションにします。

于 2014-02-06T04:34:30.473 に答える
0

ほとんどの場合、PHP を実行しているユーザーは、問題のディレクトリへの書き込みアクセス権を持っていません。宛先ディレクトリの権限を確認し、PHP スクリプトを実行しているユーザーと一致していることを確認してください。

于 2011-01-12T06:49:23.807 に答える