【发布时间】:2020-11-02 02:09:52
【问题描述】:
我使用 discord.py 库制作了一个 Discord 机器人,该库旨在在多个语音频道中播放网络广播。基本上每个频道都是相同的音频流。
我现在正在做的是:
voice_channel.play(discord.FFmpegPCMAudio(stream_url))
但是,每个 FFmpegPCMAudio 使用大约 10% 的 CPU,并且每个 vc 都有一个,所以最终我的机器人在 10 个通道中播放时崩溃了很多(这不是很多)。
由于是同一个流,我尝试了以下方法:
player = FFmpegPCMAudio(stream_url)
for voice_channel in vcs:
voice_channel.play(player)
但是声音很卡顿(可能是像线程一样按顺序播放声音)
你能想出任何其他方法来减少 CPU 的负载,因为它是在播放相同的音频流吗?可能是 discord.py 技巧或 FFmpeg 技巧,例如手动运行一个 FFmpeg 并将其用于每个通道?
【问题讨论】:
标签: python ffmpeg discord.py