我今天写了几行代码,用ffmpeg从图像创建视频。
该命令可以直接在我的服务器上运行,并且文件保存在正确的位置,但是当从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 )
我将forwork目录chmod到755但它不会改变任何东西。
帮助排除故障将非常感激。感谢
答案 0 :(得分:4)
权限错误可能会引起很大的麻烦。您可以采取以下措施来确保脚本具有正确的权限:
gg
chmod -R 755 /home/mysite/www/forwork/
ls -l
。