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

Discord机器人播放音频时FFmpeg进程返回码1异常终止问题求助

Discord机器人播放音频时FFmpeg进程返回码1异常终止问题求助

大家好,我最近在开发Discord机器人的音频播放功能时碰到了棘手问题,折腾了半天还是没搞定,想请各位大佬帮忙排查下。

先贴出我的实现代码:

@client.tree.command()
async def play(interaction: Interaction, url: str):
    global voice
    channel = interaction.user.voice.channel
    voice = get(client.voice_clients, Guild=interaction.guild)
    
    if voice and voice.is_connected():
        await voice.move_to(channel)
        await interaction.response.send_message(f"error")
    else:
        voice = await channel.connect()
        await interaction.response.send_message(f"joined")
    
    voice.play(discord.FFmpegPCMAudio(executable="C:/ffmpeg/bin/ffmpeg.exe", source = url))

一开始我遇到了FFmpeg未找到的错误,单独下载FFmpeg并指定路径后这个问题解决了,但现在又出现了新的异常,日志信息如下:

2022-12-10 19:32:48 INFO     discord.voice_client Connecting to voice...
2022-12-10 19:32:48 INFO     discord.voice_client Starting voice handshake... (connection attempt 1)
2022-12-10 19:32:48 INFO     discord.voice_client Voice handshake complete. Endpoint found russia9326.discord.media
2022-12-10 19:32:50 INFO     discord.player ffmpeg process 12040 successfully terminated with return code of 1.

FFmpeg进程直接返回码1终止,音频完全无法播放,我实在找不到问题根源,有没有朋友能指点一下?


可能的排查与解决方向

  • 先验证音频源的有效性:你可以直接在命令行用FFmpeg测试目标URL/文件是否能正常解析,执行命令:
    ffmpeg -i 你的音频源地址 -f null -
    
    如果命令行报错,说明是音频源本身的问题(比如URL无效、格式不支持、需要权限访问等),优先解决源的问题。
  • 检查FFmpeg路径与环境配置:确认C:/ffmpeg/bin/ffmpeg.exe文件是否真实存在、路径拼写无误。也可以尝试把FFmpeg添加到系统环境变量PATH中,然后代码里去掉executable参数,直接用discord.FFmpegPCMAudio(source=url),避免路径配置带来的潜在问题。
  • 指定适配Discord的音频参数:Discord语音仅支持Opus编码的音频,你可以给FFmpeg强制加上转码参数,修改播放代码如下:
    voice.play(discord.FFmpegPCMAudio(
        executable="C:/ffmpeg/bin/ffmpeg.exe",
        source=url,
        options="-vn -acodec libopus -b:a 128k"
    ))
    
  • 排查权限与网络限制:如果是网络音频URL,确认机器人所在环境能正常访问该地址(比如有没有防火墙、代理限制);如果是本地文件,检查文件路径是否正确,机器人是否有读取该文件的权限。

备注:内容来源于stack exchange,提问作者morichh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:04:12