簡體   English   中英

從php頁面執行時,ffmpeg不會保存文件

[英]ffmpeg won't save the file when executed from a php page

我今天寫了幾行代碼,用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,但不會進行任何更改。

幫助解決問題,將不勝感激。 謝謝

權限錯誤可能會引起很多麻煩。 您可以執行以下幾項操作來確保腳本具有正確的權限:

  • 通過執行chmod -R 755 /home/mysite/www/forwork/ ,確保父文件夾及其內容均可讀。
  • 通過執行ls -l檢查文件/目錄的所有權
  • 將Apache的用戶添加到擁有該文件夾/文件的組中(或者在父文件夾上運行chown -R apacheuser:group /home/mysite/www/forwork

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM