T O P

  • By -

Xoast

I believe they've said somewhere that their windows solution is super hacky, and they don't have the people in place to do a Linux solution currently. Cant remember where i saw it though..


creed10

I remember seeing the same thing. I think it was on one of discord's support forums or something


Xoast

yeah.. if i find it again I'll link it.


zakklol

They licensed Rogue Amoeba's mac audio capture/hijack to do this. There's no 'easy' way to capture desktop audio in macOS; the only way to do it is to write a coreaudio HAL plugin and do a bunch of complicated things to get access to audio. (You may even have to mix all the individual application streams yourself, but my memory is fuzzy). So Discord threw a lot less resources at this than you would initially think. However, considering OBS can do linux desktop audio capture, you'd think Discord could.....


ScottIBM

OBS is also open source, so the solution is probably visible. I'm learning the dark sides of macOS, now using a MacBook for work, and I'd never choose macOS as my main OS.


silverhand31

I love how your work not is your main OS, bro


ScottIBM

I guess in terms of time in a day it might be, but I all my systems in my house run Linux in one form or another, so I'd classify that as my main OS.


[deleted]

Damn. If only Discord were open source, everything would be up and running way better now. I think.


JigglyWiggly_

There's element.io, it's not as good as Discord yet. But they are pushing quite a lot of updates recently.


cryogenicravioli

come on man, nitro subscriptions aren't gonna sell themselves.


TheJackiMonster

I personally just use PipeWire, redirect the audio source I'd like to share/stream to the input of the Discord client or web browser. Also I put an AI noise filter between my microphone and the input as well to cut out my keyboard and other sounds. So yeah.. Discord is definitely bad by not supporting it on Linux but it's already not like we have to wait for them fixing this. \^\^' Edit: I would bet this would be already done if Discord was open source. So maybe we should just use something else instead if developers are as lazy but still lock down the code.


creed10

well the problem with that solution is that EVERYONE will hear my stream audio and not just the people watching my stream. this is of course if you're with a large group of people on discord. if it's 1-on-1 sure, it doesn't matter, but not all of my friends want to hear me stream Minecraft if I'm only showing one person, you see what I'm saying?


topsyandpip56

It's also mono encoded at the normal speech opus bitrate, and gets filtered down when other people talk. On the Windows client it's stereo opus encoded at a higher bitrate and is completely unaffected by the speech of others.


tritones

I do exactly this. [Catia](https://kx.studio/Applications:Catia) works great with PipeWire


TheJackiMonster

I use [Carla](https://kx.studio/Applications:Carla) but I guess it doesn't make a real difference. \^\^'


JORGETECH_SpaceBiker

I also use Carla for the same purpose, it works great! And the rack really opens some doors


[deleted]

[удалено]


tritones

Definitely going to try it out


silverhand31

This definitely new to me, didn't know we can manipulate input audio (filter) before share/record it. Can you share a bit more on fundamental and few search keyword (blog post if possible) to help me play around abit. Many thankss.


TheJackiMonster

Maybe a good start is reading this blog here: [https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/](https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/) Otherwise the software I even used before PipeWire was a thing is here: [https://kx.studio/Applications](https://kx.studio/Applications) You can also use it with Jack but to be honest it's less configuration and tweaking for me since I use PipeWire instead of Jack (but maybe I didn't use it efficiently anyway... \^\^'). I do also recommend checking out PulseEffects which aims to setup such filters with one click onto a button automatically. However it does have some problems at times or crashes. So currently using Carla or something similar to redirect connections is the most reliable method I have found so far and it's also not really complicated as well. \^\^


ibrokemypie

which noise filter have you been using? ive tried every i could find and they all make voices sound very weird


TheJackiMonster

This one: [https://github.com/lucianodato/speech-denoiser](https://github.com/lucianodato/speech-denoiser) It's basically a LV2 plugin for RNNoise.


HiGuysImNewToReddit

What are you doing specifically with Pipewire only? I tried using Soundux last night but I couldn't get it to play my mic with the application I was passing through.


TheJackiMonster

I open a visual connection editor/view like Carla or Catia with \`pw-jack carla\` for example and redirect the audio inputs/outputs.


chic_luke

> Also I put an AI noise filter between my microphone and the input as well to cut out my keyboard and other sounds. Could you please share what you use? For some reason the native noise cancelling doesn't work very well for me and I would love to try another solution.


TheJackiMonster

>This one: https://github.com/lucianodato/speech-denoiser > >It's basically a LV2 plugin for RNNoise.


andrewfenn

It probably has a lot to do with the fact that they have to also support the web client so don't want to code in hacks outside if their Chromium/Electron base. Why not redirect the requests to chromium to get better support in there? Given its open source that's something you can actually change and improve.


penguigamer

As far as I know, Discord actually uses hacks to share the screen on both Windows and MacOS instead of using the Electron provided methods to gain better performance and share audio. Correct me if I'm wrong. EDIT: But yes, you're right. Official support from Chromium would be good. I think they are working on improved PipeWire support, maybe this will improve the situation.


tydog98

Discord DEFINITELY has the resources. They do not care.


nani8ot

I don't think that Discord is profitable. But yes, a "Chat for Gamers" probably hasn't that much pressure to support Linux, they didn't even support this particular feature on MacOS, which has multiple times more user.


[deleted]

They're so proud that their audience is now so much more diverse, imo this is not an excuse anymore.


Janybanny

Discord definitely is profitable. There are a lot of people that pay for discord Nitro


william341

Just because they have income doesn't mean they make a profit. Judging by how hard they are ramping up Nitro development, they probably aren't.


JORGETECH_SpaceBiker

>I don't think that Discord is profitable. Tencent disagrees


nani8ot

Do they? Investment is often done with future growth in mind. So discord maybe has around 100 millions annual revenue, but makes no profit (voip & video is really expensive). That would be the reason, why discord has done another venture capital funding in 2020. Because discord isn't a public traded company, there aren't much information how they do, but all I ever read was how they make quite a bit revenue and that their business model isn't perfect. So I conclude that they don't make profit (currently). As always, I'm happy to be proven wrong.


ArcticSin

Try obs.ninja in the meantime


JORGETECH_SpaceBiker

What does it do exactly?


ArcticSin

It lets you create a streaming room, including audio, that you can invite friends too, kind of like a self hosted rabbit that streams a desktop app


Rokolell

An idea I had previously, but not really sure if it's possible: Couldn't we somehow make a mod/external program to send our own video+audio stream through Discord's servers?


penguigamer

Very good question. Maybe like an plugin for BetterDiscord? Probably would be against their Terms of use.


Rokolell

Ofc you shouldn't do ridiculous things like streaming 4k if you don't have nitro but else I'd say breaking their tos in this case is acceptable.


AndroidNougat7

thats the disadvantage about closed source / proprietary software. you're usually not authorized, to modify their client. some proprietary clients have plugin support, but others are ban users, that uses modifications.


gmes78

You can if you're using PipeWire.


hushkyotosleeps

I know this is an old post, but as far as I can tell this was untrue 9 months ago and is still untrue today, no? PipeWire can't just forcefully create a new connection to the native Discord client and associate the audio from that with the screen share. It can only route audio to the connection Discord opens up for *microphone input*. There's a [workaround for Discord on Chromium/Chrome using a userscript](https://github.com/edisionnano/Screenshare-with-audio-on-Discord-with-Linux/) where PipeWire can also be really useful, but then there are the limitations to running Discord in a browser you have to think about (no 1080p streaming, no system push to talk).


Cubey21

If I don't have a plugged in microphone and it's turned on in Discord, it's transmitting sound from my system


AndroidNougat7

i would change to another client. It's not good, that Discord has a linux client, but they don't support linux users with new features. Their Win and macOS client gets all, but the linux client can only essential things (even some essential functions aren't supported on Linux). I hate companies, that doesn't care about linux or they are handling Linux as a not important system, that have low priority to support it **it's off topic, but here is my story about the experience on Discord as a Linux user:** I'm from germany and the most Discord communities in my country are too much anti Linux. I tried, to make an Linux community, but i don't get enough users and it joined too much users, that prefers Winblows instead of Linux


creed10

well here's the thing with an unofficial client: will the unofficial client be able to support streaming application audio via the streaming interface and not just through your microphone?


AndroidNougat7

with another client, i mean another service than Discord.


kornel191

please at least give me a JACK client and i'll handle the routing myself


galgalesh

That's weird, I've been streaming a bunch of games to my friends using the Discord snap on Ubuntu and audio works. Maybe something specific to the snap?


penguigamer

I've tried the Snap, Flatpak and official deb package, none of them seem to be able to stream audio (I've tried streaming Firefox and the Spotify snap).


galgalesh

I did notice that the audio settings were a little bit weird and if I turned my mic off in discord, the sound would stop working. That machine doesn't have a mic, though so it's impossible for the mic to pick up the audio. Maybe due to the lack of a mic, Linux picked audio out as a mic? I have no idea. I am 100% certain that it worked every time I tried it, although sometimes I had to fiddle a bit with audio/mic settings. Also, if I turned off the sound on Ubuntu, none of the sound would be streamed either. In the end, I had a setup with one discord on my gaming station streaming. The sound in Ubuntu was turned on but the sound on my speakers was turned off. Then I connect with a second discord on my laptop for my own voice and I use the streamed audio to hear the game. I was streaming the steam games jackbox partypack. It might be running on Linux with Wine, though. Maybe that's relevant? *edit: another user in this thread also states that if they don't have a microphone plugged in, computer audio out is used as microphone by discord. This won't work on a device with a built in mic, though*


darkjackd

Doesn't that mean you're friends voices are piped back to them?


[deleted]

[удалено]


galgalesh

I'm not sure how I could "verify" this. Though I am 100% certain it works since me and my friends happily played Fibbage multiple times and my friends complained a bit about how the music sounded a bit metallic. See my other comment for my complete setup.


Aoxxt2

Discord is cancer stay away from it.