From 047ce0379a36011c3901d698caab8d67d4a8327d Mon Sep 17 00:00:00 2001 From: "Alex M. M" Date: Sat, 14 Nov 2020 21:23:49 +0100 Subject: [PATCH] Docs: Add a dependencies section in the README (#2) --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index 92d36b3fb..69f5e3eca 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,29 @@ The library offers: ## Intents Songbird's gateway functionality requires you to specify the `GUILD_VOICE_STATES` intent. +## Dependencies + +Songbird needs a few system dependencies before you can use it. + +- Opus - Audio codec that Discord uses. +If you are on Windows and you are using the MSVC toolchain, a prebuilt DLL is provided for you, you do not have to do anything. +On other platforms, you will have to install it. You can install the library with `apt install libopus-dev` on Ubuntu or `pacman -S opus` on Arch Linux. +If you do not have it installed it will be built for you. However, you will need a C compiler and the GNU autotools installed. +Again, these can be installed with `apt install build-essential autoconf automake libtool m4` on Ubuntu or `pacman -S base-devel` on Arch Linux. + +This is a required dependency. Songbird cannot work without it. + +- FFmpeg - Audio/Video conversion tool. +You can install the tool with `apt install ffmpeg` on Ubuntu or `pacman -S ffmpeg` on Arch Linux. + +This is an optional, but recommended dependency. It allows Songbird to convert from, for instance, .mp4 files to the audio format Discord uses. + +- youtube-dl - Audio/Video download tool. +You can install the tool with Python's package manager, pip, which we recommend for youtube-dl. You can do it with the command `pip install youtube_dl`. +Alternatively, you can install it with your system's package manager, `apt install youtube-dl` on Ubuntu or `pacman -S youtube-dl` on Arch Linux. + +This is an optional dependency. It allows Songbird to download an audio source from the Internet, which will be converted to the audio format Discord uses. + ## Examples Full examples showing various types of functionality and integrations can be found in [this crate's examples directory].