A custom discord client that supports streaming with audio on Linux.
Go to file
Malte Jürgens 1199381803
fix git submodule update command
2022-07-26 16:53:13 +02:00
assets decrease update interval to 500ms 2022-07-26 15:48:01 +02:00
scripts add install script 2022-07-16 22:32:01 +02:00
src use rohrkabel as submodule and update it to v1.2 2022-07-26 16:33:34 +02:00
submodules fix submodule version 2022-07-26 16:50:36 +02:00
.gitignore Initial commit 2022-07-07 21:21:25 +02:00
.gitmodules use rohrkabel as submodule and update it to v1.2 2022-07-26 16:33:34 +02:00
CMakeLists.txt fix git submodule update command 2022-07-26 16:53:13 +02:00
LICENSE fix license 2022-07-18 21:07:10 +02:00
README.md readme: add issue #1 to 3rd known issue 2022-07-26 03:02:41 +07:00
resources.qrc Initial commit 2022-07-07 21:21:25 +02:00

README.md

discord-screenaudio

A very WIP custom discord client that supports streaming with audio on Linux, made possible by the great work of @edisionnano and the Rohrkabel library by @Curve.

Screenshot_20220718_194357

Known Issues

  • Only works with PipeWire
  • Only works on X11
  • Can only share primary screen (no other screens or specific applications) (see #1)

Installation

If you are using Arch, you can build and install from the AUR. If you aren't, you will have to build it yourself.

Building from Source

Requirements

  • Basic building tools
  • CMake
  • Qt5 and QtWebEngine
  • PipeWire (it currently doesn't work with PulseAudio)
  • Git

On Debian: apt install -y build-essential cmake qtbase5-dev qtwebengine5-dev pkg-config libpipewire-0.3-dev git

Building

To build the program, run this in the source directory:

cmake -B build
cmake --build build --config Release

And then to optionally install it, run:

sudo cmake --install build

How it works

This whole project is based on this repository, which very nicely explains how to stream audio in the web version of Discord. Basically: a virtual microphone is created which captures the application audio, and this microphone is then fed to the Discord stream by intercepting a API call of Discord.

License

Copyright (C) 2022 Malte Jürgens

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.