You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS服务器Discord Bot使用ffmpeg-static仍提示找不到ffmpeg求助

解决CentOS服务器上Discord Bot找不到ffmpeg的问题

我之前也碰到过类似的情况,在没有sudo权限的CentOS服务器上折腾Discord Bot的ffmpeg问题,给你几个可行的方案试试:

1. 确认ffmpeg-static的安装路径并手动指定到Bot代码里

有时候npm安装ffmpeg-static后,Bot没法自动识别到二进制文件的位置,我们可以直接在代码里指定它的路径。

首先,在你的项目目录里执行命令找到ffmpeg-static的安装位置:

npm list ffmpeg-static

输出里会显示类似node_modules/ffmpeg-static的路径,进去后找到里面的ffmpeg二进制文件(CentOS下没有.exe后缀)。

如果用的是discord.js,在播放音频时直接指定ffmpegPath参数:

const ffmpegStatic = require('ffmpeg-static');
const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({ 
  intents: [
    GatewayIntentBits.Guilds, 
    GatewayIntentBits.GuildVoiceStates
  ] 
});

client.on('messageCreate', async (message) => {
  if (message.content === '!play') {
    const connection = await message.member.voice.channel.join();
    // 直接用ffmpeg-static提供的路径
    const dispatcher = connection.play('./audio.mp3', {
      ffmpegPath: ffmpegStatic.path
    });
  }
});

2. 把ffmpeg-static的路径加入系统环境变量

如果不想每次都在代码里指定路径,可以手动把ffmpeg的目录加到PATH里,让系统能找到它。在Bot代码的最顶部加上这段:

const path = require('path');
// 获取ffmpeg二进制文件的所在目录
const ffmpegDir = path.dirname(require('ffmpeg-static').path);
// 把这个目录加到PATH最前面
process.env.PATH = `${ffmpegDir}:${process.env.PATH}`;

3. 手动下载独立的ffmpeg静态包(如果ffmpeg-static不好用)

如果ffmpeg-static的版本和你的CentOS不兼容,你可以自己下载适合CentOS的静态ffmpeg包,放到自己的用户目录里:

  • 下载对应架构(比如x86_64)的静态ffmpeg包(选择无需安装、解压即可用的static版本)
  • 解压后把ffmpeg二进制文件复制到你用户目录下的~/bin文件夹(如果没有就自己创建:mkdir ~/bin)
  • 编辑~/.bashrc文件,加上:export PATH="$HOME/bin:$PATH",然后执行source ~/.bashrc让配置生效
  • 之后Bot就能直接找到系统里的ffmpeg了,不需要额外配置

4. 检查系统依赖是否缺失

CentOS的版本如果比较旧,可能缺少ffmpeg需要的系统库(比如glibc、openssl)。你可以用ldd命令检查ffmpeg二进制的依赖:

ldd $(npm explore ffmpeg-static -- pwd)/ffmpeg

如果输出里有not found的项,你可以尝试用非sudo的包管理器(比如conda,如果服务器允许的话)安装对应的依赖,或者换一个兼容性更好的ffmpeg静态版本。

另外,重新安装ffmpeg-static时可以加--verbose参数看看有没有安装报错:

npm i ffmpeg-static --verbose

内容的提问来源于stack exchange,提问作者Ellis Thompson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:24:55