簡體   English   中英

FFmpeg 給出一個奇怪的“權限被拒絕”錯誤(Digitalocean VPS Ubuntu 18.04)

[英]FFmpeg giving a wierd "Permission denied" error (Digitalocean VPS Ubuntu 18.04)

我已經在 Digitalocean 上設置了一個 VPS 服務器。 安裝了Ubuntu 18.04、LAMP等,最后我安裝了ffmpeg。 它在終端上運行良好,但是當我嘗試通過 php 執行它時,它給出了一個奇怪的“權限被拒絕”錯誤:

以下是一些信息:

root@vl:/# whereis ffmpeg
ffmpeg:/usr/local/bin/ffmpeg
root@vl:/# ffprobe 在哪里
ffprobe:/usr/local/bin/ffprobe

root@vl:/# ffmpeg -version
ffmpeg version N-102461-g8649f5dca6 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/usr/local/ffmpeg_build --pkg-config-flags =--static --extra-cflags=-I/usr/local/ffmpeg_build/include --extra-ldflags=-L/usr/local/ffmpeg_build/lib --extra-libs='-lpthread -lm' -- ld=g++ --bindir=/usr/local/bin --enable-gpl --enable-gnutls --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libsvtav1 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 57. 0.100 / 57. 0.100 libavcodec 59. 1.100 / 59. 1.100 libavformat 59. 0.101 / 59. 0.101 libavdevice 59. 0.100 / 59. 0.100 libavfilter 8. 0.101 / 8. 0.101 libswscale 6. 0.100 / 6. 0.100 libswresample 4. 0.100 / 4. 0.100 / libpostproc 5.100. 5.100

我的 php 文件:

echo shell_exec("ffmpeg -i mj.gif -profile:v 基線 -pix_fmt yuv420p -vf scale=600:-2 output.mp4 2>&1")
?>

錯誤::
ffmpeg version N-102461-g8649f5dca6 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/usr/local/ffmpeg_build --pkg-config-flags =--static --extra-cflags=-I/usr/local/ffmpeg_build/include --extra-ldflags=-L/usr/local/ffmpeg_build/lib --extra-libs='-lpthread -lm' -- ld=g++ --bindir=/usr/local/bin --enable-gpl --enable-gnutls --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libsvtav1 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 57. 0.100 / 57. 0.100 libavcodec 59. 1.100 / 59. 1.100 libavformat 59. 0.101 / 59. 0.101 libavdevice 59. 0.100 / 59. 0.100 libavfilter 8. 0.101 / 8. 0.101 libswscale 6. 0.100 / 6. 0.100 libswresample 4. 0.100 / 4. 0.100 / libpostproc 5.6.5 #0,gif,來自“mj.gif”:持續時間:00: 00:01.60,開始:0.000000,比特率:22863 kb/s ZEAE835E83C0494A376229F254F254F7D3392Z#0:0:0:0:視頻:VIDEO:GIF,BGRA,1400x1050,1400x1050,10 fps,10 TBR,100 TBR,100 TBN Z78EMED1362221FFEMEN

從過去的 24 小時開始,我嘗試以不同的方式安裝 ffmpeg(編譯和安裝),我也嘗試更改權限,但仍然遇到此錯誤。
任何幫助將不勝感激!
謝謝

php shell 東西以 root 身份從不同的用戶運行,您使用 root 在終端中執行它。 您需要授予 www-data 用戶運行該文件的權限。 可能是因為文件 ffmpeg 試圖訪問 (mj.gif) 沒有為每個人設置讀取文件的權限。 嘗試在 gif 所在的目錄中運行chmod 755 mj.gif

反而

echo shell_exec("ffmpeg -i mj.gif -profile:v baseline -pix_fmt yuv420p -vf scale=600:-2 output.mp4 2>&1")

嘗試類似的東西

echo shell_exec("ffmpeg -i mj.gif -profile:v baseline -pix_fmt yuv420p -vf scale=600:-2 /var/www/your_app/output.mp4 2>&1")

如果失敗,請嘗試 chmod 777 /var/www/your_app

暫無
暫無

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

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