FFmpeg命令仅适用于root用户(centos 6.10)

时间:2019-03-20 10:55:39

标签: ffmpeg root centos6 shell-exec ffmpeg-php

我有专用服务器。我已经在根目录上安装了FFmpeg。如果以root用户身份登录,则与FFmpeg有关的所有命令均有效,但如果以用户身份登录,则所有命令均无效。我也尝试过向sudoers添加一个用户。我也想在PHP shell_exec()或exec()中使用FFmpeg命令。有人可以告诉我解决方案。预先感谢。

用户命令:

$ ffmpeg

输出:

-bash: ffmpeg: command not found

root命令:

$ ffmpeg

输出

ffmpeg version N-93394-g14eea7c Copyright (c) 2000-2019 the FFmpeg 
developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-23)
configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static -- 
extra-cflags=-I/root/ffmpeg_build/include -
-extra-ldflags=-L/root/ffmpeg_build/lib --extra-libs=-lpthread --extra- 
libs=-lm --bindir=/root/bin --enable-gpl --enab
le-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus -- 
enable-libvpx --enable-libx264 --enable-libx
265 --enable-nonfree
libavutil      56. 26.100 / 56. 26.100
libavcodec     58. 47.103 / 58. 47.103
libavformat    58. 26.101 / 58. 26.101
libavdevice    58.  6.101 / 58.  6.101
libavfilter     7. 48.100 /  7. 48.100
libswscale      5.  4.100 /  5.  4.100
libswresample   3.  4.100 /  3.  4.100
libpostproc    55.  4.100 / 55.  4.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] 
outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

1 个答案:

答案 0 :(得分:1)

确保用户的PATH包含ffmpeg二进制文件所在的目录(通常为/usr/local/bin/opt/local/bin)。

如果找不到它,可以用以下命令询问系统以root身份登录时使用的系统:

which ffmpeg

对于您而言,根据您添加到问题中的信息,二进制文件似乎位于/ root / bin

如果/ root / bin无法在世界范围内读取并且内容在世界范围内可执行,那么这本身就是一个问题。