在localhost上拒绝ffmpeg-php权限

时间:2011-01-12 06:40:17

标签: php ffmpeg localhost permission-denied

我是php的新手。我最近在我的mac上安装了php,我正在尝试设置ffmpeg-php以根据需要将各种视频转换为flv或其他格式。我使用了这个教程FFmpeg Mac Installation并且我使用终端进行ffmpeg工作,但是,当我尝试使用php编码电影时,我收到错误。在我的apache error_log文件中,它表示flv文件旁边的权限被拒绝(如下所示)。

  

FFmpeg版本0.6,版权所有(c)   2000-2010 FFmpeg开发商
  建立于2010年12月30日08:36:24与gcc   4.2.1(Apple Inc. build 5646)(第1点)配置: - prefix = / usr / local   --enable-shared --disable -mmx --enable-libmp3lame --enable-gpl --enable-libfaad --enable-zlib --enable-libvorbis --enable-libfaac --enable-nonfree

     

libavutil 50.15。 1 / 50.15。   1
libavcodec 52.72。 2 /   52.72。 2
libavformat 52.64。 2 / 52.64。 2
libavdevice 52. 2。   0 / 52. 2. 0
libswscale 0.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');



?>

我能够看到各种参数,如文件名,帧高,帧宽,这让我相信ffmpeg-php有点工作,但也许我只是在exec()命令中做错了。有人有主意吗。我一直在努力设置ffmpeg很长一段时间。

谢谢!

-Jon

2 个答案:

答案 0 :(得分:0)

最有可能的是,运行PHP的用户没有对相关目录的写访问权。检查目标目录的权限,并确保它与执行PHP脚本的用户匹配。

答案 1 :(得分:0)

这只是权限问题......

将ffmpeg设为777权限。