Discord Player
Remedia runtime

The Remedia runtime

What Discord Player delegates to Remedia, and how embedded and remote nodes differ.

You are reading the v8 docsDev

Remedia is the audio engine behind Discord Player. It decodes audio, applies filters and volume, encodes Opus, and sends audio over Discord voice. Discord Player decides which track plays and where its audio comes from.

Who owns what

RemediaDiscord Player
FFmpeg demuxing, decoding, resampling, filtersTracks, queues, history, repeat, shuffle
Playback state, volume, pause, seekSource plugins and search
Opus encoding and encrypted Discord voiceEvents for your application
Many independent sessions, in-process or on a serverChoosing the track and source for each session

Embedded or remote

Both modes run the same playback engine. A remote node is a separate process, so it adds network latency, authentication, and reconnects. It also cannot read your bot's local files or streams.

Access the client

After player.initialize(), the Remedia client is player.remedia. Use player.nodeSnapshots for node status.

player.nodes is the guild queue manager from v7. It is not the list of audio nodes.

What stays on the bot

Source plugins run in your bot process. A remote Remedia server never runs your plugin's setup() or track.stream handler. It receives a resolved URL or file, or fetches audio from a source host.

For protocol, security, and server settings, see the Remedia documentation.

Continue reading

Embedded playback

On this page