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

Discord Bot无法播放YouTube视频 FFmpeg Invalid argument报错求解

Discord Bot 音频播放报错修复方案

核心问题根因

你代码中的FFMPEG_OPTIONS配置存在参数拼接错误:

# 原错误写法,两行字符串拼接时没有空格分隔
FFMPEG_OPTIONS = {'before_options': '-reconnect_streamed 1'
'-reconnect_delay_max 5', 'options': '-vn'}

上述写法实际拼接后的before_options值为-reconnect_streamed 1-reconnect_delay_max 5,FFmpeg解析参数时会把末尾的5识别为独立的输出格式参数,直接触发你遇到的Unable to find a suitable output format for '5'报错。

修复方法

补全两个FFmpeg参数之间的空格即可,修复后的配置如下:

FFMPEG_OPTIONS = {
    'before_options': '-reconnect_streamed 1 -reconnect_delay_max 5 -nostdin',
    'options': '-vn'
}

新增的-nostdin参数用于避免FFmpeg等待标准输入,适配Discord Bot的无交互调用场景。

其他可选排查点

如果修改配置后仍存在播放异常,可按以下顺序排查:

  • 验证本地FFmpeg环境支持opus格式,运行命令ffmpeg -formats | grep opus,返回结果存在opus标识即为正常
  • 临时打印提取的流地址url2,在本地用FFmpeg直接播放该地址,确认流地址本身有效
  • 若使用的是停止维护的youtube-dl,可替换为兼容的yt-dlp库,拉流稳定性更高
  • 升级discord.py到2.0及以上稳定版本,避免底层音频处理逻辑存在兼容问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:15:04