FFmpeg 命令仅适用于 root(centos 6.10)
FFmpeg commands work for root only(centos 6.10)
我有专用服务器。我已经在我的根目录下安装了 FFmpeg。如果我以 root 身份登录,则与 FFmpeg 相关的所有命令都有效,但如果我以用户身份登录,则没有命令有效。我也尝试将一个用户添加到 sudoers。我还想在 PHP shell_exec() 或 exec() 中使用 FFmpeg 命令。有人可以告诉我解决方案。提前致谢。
用户命令:
$ ffmpeg
输出:
-bash: ffmpeg: command not found
根命令:
$ 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'
确保用户的 PATH 包括 ffmpeg 二进制文件所在的目录(通常是 /usr/local/bin
或 /opt/local/bin
)。
如果找不到,可以在root登录后使用命令询问系统使用的是哪一个:
which ffmpeg
在你的情况下,根据你添加到问题中的信息,看起来二进制文件在 /root/bin
这本身可能是个问题,如果 /root/bin 不是世界可读的并且内容世界可执行。
我有专用服务器。我已经在我的根目录下安装了 FFmpeg。如果我以 root 身份登录,则与 FFmpeg 相关的所有命令都有效,但如果我以用户身份登录,则没有命令有效。我也尝试将一个用户添加到 sudoers。我还想在 PHP shell_exec() 或 exec() 中使用 FFmpeg 命令。有人可以告诉我解决方案。提前致谢。
用户命令:
$ ffmpeg
输出:
-bash: ffmpeg: command not found
根命令:
$ 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'
确保用户的 PATH 包括 ffmpeg 二进制文件所在的目录(通常是 /usr/local/bin
或 /opt/local/bin
)。
如果找不到,可以在root登录后使用命令询问系统使用的是哪一个:
which ffmpeg
在你的情况下,根据你添加到问题中的信息,看起来二进制文件在 /root/bin
这本身可能是个问题,如果 /root/bin 不是世界可读的并且内容世界可执行。