简体   繁体   English

ffmpeg-php权限在本地主机上被拒绝

[英]ffmpeg-php permission denied on localhost

I am very new to php. 我对php很陌生。 I recently setup php on my mac and I am trying to setup ffmpeg-php to convert various videos to flv or other formats as desired. 我最近在Mac上安装了php,并且尝试设置ffmpeg-php以将各种视频转换为所需的flv或其他格式。 I used this tutorial FFmpeg Mac Installation and I got ffmpeg to work using the terminal, however, when I try to encode a movie using php I get an error. 我使用了本教程FFmpeg Mac安装,并且使ffmpeg在终端上工作,但是,当我尝试使用php对电影进行编码时,出现错误。 In my apache error_log file it says permission denied next to the flv file (shown below). 在我的Apache error_log文件中,flv文件旁边显示权限被拒绝(如下所示)。

FFmpeg version 0.6, Copyright (c) 2000-2010 the FFmpeg developers FFmpeg版本0.6,版权所有(c)2000-2010 FFmpeg开发人员
built on Dec 30 2010 08:36:24 with gcc 4.2.1 (Apple Inc. build 5646) (dot 1) configuration: --prefix=/usr/local --enable-shared --disable-mmx --enable-libmp3lame --enable-gpl --enable-libfaad --enable-zlib --enable-libvorbis --enable-libfaac --enable-nonfree 建于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. libavutil 50.15。 1 / 50.15. 1 / 50.15。 1 1个
libavcodec 52.72. libavcodec 52.72。 2 / 52.72. 2 / 52.72。 2 2
libavformat 52.64. libavformat 52.64。 2 / 52.64. 2 / 52.64。 2 2
libavdevice 52. 2. 0 / 52. 2. 0 libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.11. libswscale 0.11。 0 / 0.11. 0 / 0.11。 0 0
Seems stream 1 codec frame rate differs from container frame rate: 1200.00 (1200/1) -> 30.00 (30/1) 似乎流1编解码器的帧速率与容器的帧速率不同:1200.00(1200/1)-> 30.00(30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/myApple/Sites/AdHere/test.mov': 从'/Users/myApple/Sites/AdHere/test.mov'输入#0,mov,mp4,m4a,3gp,3g2,mj2:
Metadata: 元数据:
major_brand : qt major_brand:qt
minor_version : 537199360 minor_version:537199360
compatible_brands: qt compatible_brands:qt
Duration: 00:00:02.04, start: 0.000000, bitrate: 1109 kb/s 持续时间:00:00:02.04,开始:0.000000,比特率:1109 kb / s
Stream #0.0(eng): Audio: aac, 44100 Hz, stereo, s16, 97 kb/s 流#0.0(eng):音频:aac,44100 Hz,立体声,s16、97 kb / s
Stream #0.1(eng): Video: h264, yuv420p, 640x480, 1027 kb/s, 30.15 fps, 30 tbr, 600 tbn, 1200 tbc 流#0.1(eng):视频:h264,yuv420p,640x480、1027 kb / s,30.15 fps,30 tbr,600 tbn,1200 tbc
/Users/myApple/Sites/AdHere/movteststuff.flv: Permission denied /Users/myApple/Sites/AdHere/movteststuff.flv:权限被拒绝

I have no idea what the problem is. 我不知道是什么问题。 I am using the following php code: 我正在使用以下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');



?>

I am able to see various parameters like filename, frameheight, framewidth, which leads me to believe that ffmpeg-php is kind of working, but maybe I am just doing something wrong in the exec() command. 我能够看到各种参数,例如文件名,frameheight,framewidth,这使我相信ffmpeg-php可以正常工作,但是也许我只是在exec()命令中做错了什么。 Anyone have any ideas. 有人有想法么。 I have been struggling with setting up ffmpeg for quite some time now. 我已经为设置ffmpeg而苦苦挣扎了一段时间。

Thanks! 谢谢!

-Jon -乔恩

It's just permissions issue... 只是权限问题...

Make ffmpeg as 777 permission. 将ffmpeg设为777权限。

Most likely, the user that PHP is running as does not have write access to the directory in question. 最有可能的是,运行PHP的用户没有访问该目录的权限。 Check the permission of the destination directory and make sure it matches whatever user is executing the PHP script. 检查目标目录的权限,并确保它与执行PHP脚本的任何用户相匹配。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM