2015-09-06 66 views
0

我今天写了几行代码,用ffmpeg从图像创建视频。ffmpeg不会保存从php页面执行时的文件

该命令直接在我的服务器上运行良好,文件保存在好的地方,但是从PHP运行时,进程会进行,但文件由于某种原因不会保存。

这里是我使用的代码:

$ffmpegcmd= "/usr/bin/ffmpeg -loop 1 -y -i /home/mysite/www/forwork/simpletext.jpg -c:v libx264 -t 30 -pix_fmt yuv420p /home/mysite/www/forwork/movie.avi 2>&1"; 
exec($ffmpegcmd, $output); 
print_r($output); 

这里是答案,我得到:

Array ([0] => ffmpeg version git-2015-09-06-db18b3d Copyright (c) 2000-2015 the FFmpeg developers 
[1] => built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16) 
[2] => configuration: --prefix=/usr/ffmpeg_build --extra-cflags=-I/usr/ffmpeg_build/include --extra-ldflags=-L/usr/ffmpeg_build/lib --bindir=/usr/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 
[3] => libavutil 55. 0.100/55. 0.100 
[4] => libavcodec 57. 0.100/57. 0.100 
[5] => libavformat 57. 0.100/57. 0.100 
[6] => libavdevice 57. 0.100/57. 0.100 
[7] => libavfilter 6. 0.100/6. 0.100 
[8] => libswscale 4. 0.100/4. 0.100 
[9] => libswresample 2. 0.100/2. 0.100 
[10] => libpostproc 54. 0.100/54. 0.100 
[11] => Input #0, image2, from '/home/mysite/www/forwork/simpletext.jpg': 
[12] => Duration: 00:00:00.04, start: 0.000000, bitrate: 10414 kb/s 
[13] => Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc 
[14] => /home/mysite/www/forwork/movie.avi: Permission denied) 

我搭配chmod的forwork目录为755,但它不会改变任何东西。

帮助解决这个问题将不胜感激。谢谢

+0

你做'搭配chmod -R 755 /家庭/ mysite的/ WWW/forwork /'?如果该文件具有不同的权限 一个问题。还记得php运行一个不同的用户给你... – ScottMcGready

+0

@ScottMcGready是的,没有chmod -R和问题仍然不幸 – Tayax

+0

哪个用户是Apache/PHP运行?确保他们拥有拥有'movie.avi'的组的权限(可能无法解决你的问题,但是值得检查 – ScottMcGready

回答

3

权限错误可能会导致相当头痛。这里有几件事情可以做,以确保您的脚本具有正确的权限:

  • 确保两台父文件夹,并且它的内容是可读做一个chmod -R 755 /home/mysite/www/forwork/
  • 做检查文件/目录的所有权ls -l
  • 加入Apache的用户到拥有文件夹/文件(也可以运行在父文件夹chown -R apacheuser:group /home/mysite/www/forwork组。