| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | # discord-screenaudio
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-18 12:04:04 +02:00
										 |  |  | A custom discord client that supports streaming with audio on Linux, made | 
					
						
							|  |  |  | possible by the | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | [great work](https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux) | 
					
						
							| 
									
										
										
										
											2022-07-18 19:48:42 +02:00
										 |  |  | of [@edisionnano](https://github.com/edisionnano) and the | 
					
						
							|  |  |  | [Rohrkabel library](https://github.com/Soundux/rohrkabel) by | 
					
						
							|  |  |  | [@Curve](https://github.com/Curve). | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-18 12:04:04 +02:00
										 |  |  | Unlike a lot of other solutions, the audio here is directly fed into the | 
					
						
							|  |  |  | screenshare and not passed to the user microphone | 
					
						
							|  |  |  | ([see explanation](#how-it-works)). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-11 17:55:04 +00:00
										 |  |  |  | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-27 13:09:15 +02:00
										 |  |  | The purpose of this project is **not** to provide an alternative to the original | 
					
						
							|  |  |  | Discord client. Rather, it should be used in addition to the original client in | 
					
						
							|  |  |  | case you want to stream something, maybe used with a second account. For | 
					
						
							|  |  |  | anything else, this client has way too many things that work less well than in | 
					
						
							|  |  |  | the original client. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-29 21:01:11 +00:00
										 |  |  | Technically this could be against | 
					
						
							|  |  |  | [Discord's TOS](https://discord.com/terms#software-in-discord%E2%80%99s-services), | 
					
						
							|  |  |  | so be warned. Discord probably won't ban you for using this, but if they do I | 
					
						
							|  |  |  | told you and it's not my fault. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-25 18:37:00 +00:00
										 |  |  | ## Known Issues
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Only works with **PipeWire** | 
					
						
							| 
									
										
										
										
											2022-09-18 12:04:04 +02:00
										 |  |  | - Can only share primary screen on X11 (no other screens or specific | 
					
						
							|  |  |  |   applications) (see | 
					
						
							|  |  |  |   [#1](https://github.com/maltejur/discord-screenaudio/issues/1)) | 
					
						
							| 
									
										
										
										
											2022-07-25 18:37:00 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | ## Installation
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-29 14:41:00 +02:00
										 |  |  | You have multiple options: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Install the Flatpak (recommended): | 
					
						
							|  |  |  |   `flatpak install de.shorsh.discord-screenaudio` | 
					
						
							|  |  |  | - If you are on Arch, you can build and install | 
					
						
							|  |  |  |   [`discord-screenaudio`](https://aur.archlinux.org/packages/discord-screenaudio) | 
					
						
							|  |  |  |   from the AUR | 
					
						
							|  |  |  | - If you are on openSUSE, you can use the | 
					
						
							| 
									
										
										
										
											2022-08-21 07:21:18 +02:00
										 |  |  |   [Open Build Service package](https://software.opensuse.org//download.html?project=games%3Atools&package=discord-screenaudio) | 
					
						
							| 
									
										
										
										
											2022-07-29 14:41:00 +02:00
										 |  |  |   by [@VortexAcherontic](https://github.com/VortexAcherontic) | 
					
						
							|  |  |  | - You can [build it yourself](#building-from-source) | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## Building from Source
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ### Requirements
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Basic building tools | 
					
						
							|  |  |  | - CMake | 
					
						
							| 
									
										
										
										
											2022-10-10 19:50:26 +00:00
										 |  |  | - Qt5 and QtWebEngine | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | - **PipeWire** (it currently doesn't work with PulseAudio) | 
					
						
							|  |  |  | - Git | 
					
						
							| 
									
										
										
										
											2022-10-10 19:50:26 +00:00
										 |  |  | - _Kf5Notifications (optional, for better notifications)_ | 
					
						
							|  |  |  | - _KXMLGui and KGlobalAccel (optional, for keybinds)_ | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | On Debian: | 
					
						
							| 
									
										
										
										
											2022-10-10 19:50:26 +00:00
										 |  |  | `apt install -y build-essential cmake qtbase5-dev qtwebengine5-dev libkf5notifications-dev libkf5xmlgui-dev libkf5globalaccel-dev pkg-config libpipewire-0.3-dev git` | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | ### Building
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-27 19:49:49 +02:00
										 |  |  | First, clone the repository: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | git clone https://github.com/maltejur/discord-screenaudio.git | 
					
						
							|  |  |  | cd discord-screenaudio | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Then, to build the program, run this in the source directory: | 
					
						
							| 
									
										
										
										
											2022-07-18 19:47:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | cmake -B build | 
					
						
							|  |  |  | cmake --build build --config Release | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | And then to optionally install it, run: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | sudo cmake --install build | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## How it works
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This whole project is based on | 
					
						
							|  |  |  | [this](https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux) | 
					
						
							|  |  |  | 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/>. |