#π₯-vesktop-development
1 messages Β· Page 8 of 1
Most probably you are installed Vesktop from Vesktop-Setup-1.5.1.exe installer from Releases, which is not actual upstream version of Vesktop. There was a bug when framerate is 30 fps; resolution picking from display resolution by standard; and bitrate capped to 2500 kbit/s. All this was fixed in #489.
Can you re-produce issue using building from source?
i want to work on the bitrate thing but GOD i am tired
i think we must wait for Curve to look at sound issue
that's probably a good idea
bc i even can't reproduce bitrate thing because i can't start stream with sound
once the audio selection is working properly
i can reproduce the bitrate problem
and fix it
wrogn worr
d
i wam so tired holy hell
That electron node is not the screen share input
I'll look at it tomorrow otherwise I'll be fucking dead if I don't sleep soon xd
Oke then, I do not know how exactly it works, just asked π
We all are I believe
Bruh I know exactly where it breaks
Okay that should be an easy fix
Alr first thing I do after I get up tomorrow besides taking a shower will be Vesktop Hot Fix
god
you said it
i was so relaxed to get 489 done and then it fuckin broke

I'm just mainly concerned with conflicting switches.m, but I think it will probably be fine.
This might not be an issue at all. When a flag appears in both enable-features and disable-features, it will be disabled. If someone wants to override Vesktop's flags, they can just disable them from the CLI. Assuming Vesktop doesn't disable something crazy by default (right not it doesn't) this will work well.
P.S.: Is this something worth documenting?
fedora 40 gnome 46 latest update
I'm using the PR where the bitrate fix was added to the main branch, I can confirm it has the same issue. I haven't run a git pull until now. I'm using the same versions of the latest merge fix for the main branch so far. however, crashes and delays are fixed when launching from the terminal. any changes to the main branch do not come from any changes to the source code. Maybe it's something related to the discord side. When using the flags the problem is f...
this is the pr I'm using, https://github.com/Vencord/Vesktop/pull/489 the most recent ones suffer from the same problem. some also do not play sound in the case of the "main branch" currently.
something interesting to say is that when using the official web discord my friends got lags. "https://discord.com/channels/@me" something I've never seen when using discord web through Google Chrome.
Describe the bug
Clicking on the "A VENCORD UPDATE IS AVAILABLE!" toast at the bottom-right of the Vesktop window causes the Vesktop window to become blank and nonresponsive; this does not resolve after waiting several minutes. Closing and restarting Vesktop enables it to become responsive, yet the toast reappears shortly after opening (suggesting that the update was not successfully applied. The app responds identically if the update is triggered from a native Windows toast.
![Scre...
btw, I did some further testing, looks that anything before #489 works fine for me...
right now I'm on #499 and tested a bunch of commits, then did a git bisect (I'm no good at this, I don't know if I am doing this right)
> 8eaa5206b98ce7029b6879cc2ce361c2ae5f6239 is the first bad commit
commit 8eaa5206b98ce7029b6879cc2ce361c2ae5f6239
Author: kaitlynkitty <87152313+kaitlynkittyy@users.noreply.github.com>
Date: Wed Apr 17 19:40:03 2024 -0400
overhaul & improve Linux scre...
The settings page is also missing all the Vencord settings tabs
This PR fixes #504 by not patching navigator.mediaDevices.enumerateDevices completely but by only patching the function discord uses to retrieve input devices.
will it fix bitrate issue?
No idea it just fixes audio share not working
I think the bitrate issue is a different can of worms
If I get everything else I need to do done today, I can investigate whether or not my initial theory about the audio bit rate issue holds true
But I still have a lot to do :(
Describe the bug
Recently everytime I launch Vesktop it seems to segment fault a few seconds after. I am on Arch Linux using this aur package and all my packages are up to update. I think this started to occur after an update but I'm really not certain.
[goldy@jassim-desktop ~]$ vesktop
[arRPC > ipc] listening at /run/user/1000/discord-ipc-0
[arRPC > websocket] listening on 6463
[arRPC > process] started
[13435:0421/115440.16168...
In case you want to hear a funny story to tell your friends or family, here is one
So for some reason today I was not able to reproduce the issue anymore
Also, the latest commits broke audio sources at all (I swear it worked yesterday????) so I'm currently on #489 where it works
And... I couldn't reproduce it anymore... I was starting to think my account was limited yesterday somehow, BUT then the only thing that changed from yesterday was the discord client where I was testing the str...
do u mean in vesktop or like personal stuff thats stopping you from working on it
Personal stuff
if it's the latter then don't worry do what u gotta do first vesktop can wait
This fixes audio share not working, wasn't sure if I should match potential whitespaces in the regex (I chose to not match any whitespaces in the end, hope that's the right thing to do xd)
I had the same issues and figured out a temporary fix, wanted to report the issue rn.
Basically I fixed this by downgrading the electron package to version 29 (using the downgrade script). Now both Vesktop and Vesktop-git (from chaotic-aur) are working again.
Electron 30 seems to introduce some issue that has to be taken care of.
duplicate. not supported.
please stop opening invalid / duplicate issues π
do i really have to add brainrot issue template to vesktop as well
maybe add to readme first line capsed text that electron 30 not supported yet? xd
hmm
maybe for now we can add a warning that using audio will worsen video quality
and that if it's laggy they should try without audio
sucks but what can u do
give us some time, maaaybe we can figure it out
oh yeah no rush
I had the same issues and figured out a temporary fix, wanted to report the issue rn.
Basically I fixed this by downgrading the electron package to version 29 (using the downgrade script). Now both Vesktop and Vesktop-git (from chaotic-aur) are working again.
Electron 30 seems to introduce some issue that has to be taken care of.
Ah, thank you for that information. I'll downgrade to electron 29 and give it a try.
duplicate. not supported.
Totally fair, I get why. Sadly it wasn't immediately obvious to me while searching for this issue and I forgot to check closed issues (github doesn't display them by default and normally stuff like this is an open issue).
Just a suggestion, maybe keep an issue open for your own sanity with a short explanation and fix (install flatpak version) so that users don't open unnecessary issues.
No need to do this, just a humble suggestion ^^
I think we should be able to somehow fix that
Red stripe is when my android phone joined the stream. Dropped the bitrate to ~30Kbps
I'm re-testing with a couple of friends, totally client dependent, I had my friend join with a Windows discord client and he was watching the stream correctly, then another friend with an android phone joined, the stream was still fluent.
Re-made the stream with the same friend with the android client...
tutorial is for Linux. no idea how to those things in windows though
Most probably you are installed Vesktop from Vesktop-Setup-1.5.1.exe installer from Releases, which is not actual upstream version of Vesktop. There was a bug when framerate is 30 fps; resolution picking from display resolution by standard; and bitrate capped to 2500 kbit/s. All this was fixed in #489. Can you re-produce issue using [building from source](https://github.com/Vencord/Vesktop?tab=readme-ov-file#building-fr...
found out that we can use STREAM_UPDATE flux event for applying our stream settings and not use setTimeout
but in some reason it calls system portal picker....
And i do not know why bitrate is capping to 30 kbit, because everywhere bitrate values are ok
but in some reason it calls system portal picker....
Wdym
start stream -> pick screen
click start, wait
and in same time when STREAM_UPDATE called then you receive another screen picker
Yeah I always receive like 2-3 screen pickers
strange thing that you get it only first time
But that was before #489 was even merged as well
and STREAM_UPDATE calls when someone start watching
i received 2 when picked sound too
looks like
const devices = await navigator.mediaDevices.enumerateDevices();
calls another picker for no reason???
no way
const audio = await navigator.mediaDevices.getUserMedia({
or this
even more probably
probably that
hmm, can we patch the original call that causes the picker to also include the userMedia instead?
it may be even kde portal problem
So that we have one call and not two
that's most likely doable
big thing tho
we need to figure out why audio bitrate is getting applied to the video track
I'm not sure
I think so
but
we call getDisplayMedia for the stream
so I'm not sure how to combine them
we should prob check if that's even the culprit for double portal before thinking about that xd
lol true
it's so random
god we have to fix this audio/bitrate issue
it also only applies the 29.17kbps limit when someone starts watching
@sysrq-reisub Can confirm.
With my alt account the stream works with audio, no bitrate drops.
@sysrq-reisub Can confirm. With my alt account the stream works with audio, no bitrate drops.
EDIT: I tried streaming from my alt account (Vesktop) to my main account (Official Discord) and the bitrate drops again.
i believe the bitrate drop only occurs when someone starts watching
Retested with friend on Windows and when he started watching stream bitrate dropped to 30, so most probably it's not depending on client.
Still looks like somewhere bitrate takes from audio track content instead of video :c
@hybrid fjord what if we just
wait for STREAM_UPDATE
and when it happens
reapply constraints
including bitrate
Problem is that all constraints are same, including all bitrate fields
What if we take audio stream and add video track to it xD
Instead of adding audio to video stream
i think discord probably changed something when they fixed krisp
because we would have noticed this
so hmm
i wonder what we need to change
Yes I think about it too
Krisp in exchange to audio streaming..
Disabling krisp didn't helped me
If it works we can limit the bitrate from the audio on the client/pipewire side
i could but i dont have the time to actually write the code 
if i get through my homework ill gladly work on it
I absolutely hate this
This is so fucking aids to navigate
Why would they do this
True
Ventube
what ever happened to proton up qt
wha
im using the flatpak
so
idk
i just have a pacman hook that updates flatpaks on system upgrades
oh LMAO
Def. not my fault 
god i hope discord doesn't keep breaking streaming at this rate
I hope discord ceases to exist
all of my friends are here and i dont have any other way to contact them :(
as long as they give us notice
discord just looks at PRs and breaking everything xd
lmao
next step will be broken tray icons
malicious intent detected
day after we fix 30kbit
if something else breaks im gonna have an aneurysm
jumpscare
CNAME Cross-User Banned
You've requested a page on a website that is part of the Cloudflare network. The host is configured as a CNAME across accounts on Cloudflare, which is not allowed by Cloudflare's security policy.
o h
so we literally cant redirect that to vencord.dev?
i mean i can
point it to my server
and have my nginx do a redirect
π
also your username
ive been meaning to ask
is that
may bell (but like small ) or something i swear i feel like im missing context
lmao
it directly translates to that yeah
but in english they're called lily of the valley
they're very beautiful flowers
okay good my direct translation skills aren't that bad
OH
ITS
THE FLOWER???
OHHHHH
i love those flowers
aren't they poisonous tho
they kinda look like bells and i guess they bloom in may
awwwh so prettyyy
yeah.. but flowers are for looking not eating!!
what im hearing is just pointing it at my webserver is easier
gimme
also
the custom cursors games apply isnt getting picked up by the screen share
tested with genshin impact specifically
it used to be picked up but with a weird blue tint
now its my default system cursor
don't u have to run genshin as admin
how does it even record that
did u run vesktop as admin too
I'm linux gamignfg
the community has had a work around for a while now
but mhy finally white listed wine in their anticheat so no risk of ban now
bing bong
I'll test the cursor issue in other games later
I want Fortniteπ
they made it so that if the anticheat doesnt load
the game launches anyways
just without the anticheat
so it works on linux through proton by just
not having anticheat
LMAO
@sysrq-reisub Can confirm. With my alt account the stream works with audio, no bitrate drops.
EDIT: I tried streaming from my alt account (Vesktop) to my main account (Official Discord) and the bitrate drops again.i believe the bitrate drop only occurs when someone starts watching
It does but from what I have experienced happens only when a client has a specific decoder.
Retested with friend on Windows and when he started watching stream bitrate dropped to 30, so most...
hm, about decoders this actual useful info
How do i do that stuff on Windows? I cloned the repo but I don't really know how to build it. and yeah, i did in fact install 1.5.1
You need to install pnpm firstly: https://pnpm.io/installation
screensharing with audio is broken on latest commit
probably #504
Chromium input-1 isnt created which results in venmic not routing the audio anywhere
ah alr
i believe we must change screenshot in readme??
def yeah
yeah no rush
alr
nah drop everything this is ur job now
girl
from my PC
im in the WRONG COUNTRY
Attempt using --enable-features=WebRTCPipeWireCapturer, perhaps. Using 720p60 and sometimes 1080p60 according to my friends runs perfectly well. My full vesktop launch command is the following:
vesktop --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,WebRTCPipeWireCapturer
already enabled silly
https://aur.archlinux.org/packages/vesktop
It's the aur package that's broken (vesktop-bin works, others are totally broken).
NOTE 2: I'm using the latest vesktop version, built literally ~45 minutes ago with pnpm package --linux pacman
I built the latest vesktop version and now there is no audio channel, even if I choose it in the audio source list.
The bitrate is fine, but no audio :(
How do i do that stuff on Windows? I cloned the repo but I don't really know how to build it. and yeah, i did in fact install 1.5.1
You need to install pnpm firstly: https://pnpm.io/installation
yeah i tried that. It complains because the program asks for an older version, 8.11.0
try building #531 instead
Thank you!
The audio channel is back, but the main issue persists. Bitrate drops to 30kbps as soon as someone watches the stream.
I tried @tcharchar launch commands with no luck.
ill get on this soon
I tried all my ideas today without success ((
Even with that flux event I tried to get current stream parameters and they all set to our 8000 kbit
It looks like some problems or with discord backend (like capping for non nitro) or with RTPTransceivers, but I checked them and they seem good
Strongly in favor of a socket or CLI interface for controlling the push-to-talk up/down events. It could be invaluable as both a stopgap solution and as a fallback, even if it is more of a DIY approach.
This workaround runs as a privileged process (or with the desired device made user-readable) and listens for evdev events on a given device/button, and then forwards a given Xorg key event to XWayland, via libxdo (using the XTEST extension...
that's weird
it being 29.17 and not 30
is what makes it weirder
Also what I found out
When you have Stream object and on Firefox print stream.getTracks() then it will return array where video is first and audio is second
But in chromium we get audio first and video second
I tried to find where in .js discord (not vesktop) code function getTracks() calling with hope that somewhere for bitrate calculation it taked [0] but without success
But I don't think this is a problem
interesting
Also interesting what other people wrote about this issue on different clients
wait
did i miss that
wait is this a discord problem
im gonna whip out the old webrtc debugger again
Main problem that we can't reproduce it in plain browser π¦
We can't stream with sound to see how it works normally
yeah
hm
ill look
okay
i cant reproduce always
if someone is watching
and there's no audio
and then i change windows and select audio
it stays high
i think
yeah it does
i just started a stream with audio and its around 1200kbps but i dont think its locked there
it keeps steadily rising
Maybe discord fixed it already xD
And I just lost the day trying fixing it
Ahahahha
@humble mortar you had this issue too?
are you able to reproduce
im gonna keep trying
I think so
I wasnt specifically trying it
i cant reproduce this at all
i could earlier today
I GOT IT
what the fuck
it only happened once someone on an official discord client started watching
one of my friends was watching from web and i couldn't reproduce it
i can reproduce it, watching myself from web
oh odd
what the hell
in that case
no what the hell
i can reproduce it every time now
what the hell
is this
changing windows does not helps
yeah what the hell
and after changing windows instead of stream i just get black screen, but probably thats because of 30 bitrate
it was fine for me for a little bit and then i got pulled down
is it
some weird rate limit???
you can use venmic in the browser as well
I don't know how Ρ_Ρ
same way as in vesktop but you need to start venmic in server mode
venmic runs alongside vesktop?
i assumed it was just baked into it
yes
its a addon that is called
essentially .so file
its not a separate process
woa
venmic can run standalone
wacky
could be useful for browser mods
aha
wherever this is reading from
cuz this is the stats
that's the value i need to throw out the window
fucker
this API changed
this is not how it used to look
just use global shortcuts portal and x11 can cope
i wonder if this qualityoverwrite function could be useful at some point lol
well this is set wrong
no idea if it matters tho
29168 isnt anywhere in discord code

they are not 30000 tho(
yeah
nothing
what the hell
does discord incorrectly detect this as audio or something
WHAT THE FUCK
if more than one person is watching it jumps to 1300ish kbps
still lower than we want
but as soon as it drops to 1 person watching it drops to 29.17
this is with 2 people
the drop is when 1 person left
its so fucking strange
i don't know what we can even change
i cant find any significance in these numbers
29168
and 1400000ish
its not locked entirely like it is with one person
this is annoying too because now its locked at low fps if you use audio at all
what the hell could this even be
lol wait
check in debug top labels
ohh nvm
i scrolled at top and there is audio
i thought video isn't there
oh lol
i have been able to confirm that the bitrate is lowered to 29.17kbps on my machine when streaming with audio AND someone is watching, but as soon as someone else starts watching (total of 2 viewers) the bitrate gets raised to around 1400kbps. This issue is even more strange than before, and I am entirely at a loss as to how we should go about fixing this. Here's to hoping someone has an idea lol.
i have been able to confirm that the bitrate is lowered to 29.17kbps on my machine when streaming with audio AND someone is watching, but as soon as someone else starts watching (total of 2 viewers) the bitrate gets raised to around 1400kbps. This issue is even more strange than before, and I am entirely at a loss as to how we should go about fixing this. Here's to hoping someone has an idea lol.
Also, I cannot confirm that this is the case, as it was very sporadic as to whether or not i...
What if this is not bitrate issue but some sort of encoding issue
What if it tries to encode video using opus or something like that and provides catastrophically low performance
But that does not explains 1400 increasing when 2 people watching
does minimizing/hiding the stream as a viewer change the bitrate
while still playing the audio
no
that wouldn't be possible afaik
So I upgraded to the latest git build.
In any case what it came to my understanding is it totally depends
NOTE 2: I'm using the latest vesktop version, built literally ~45 minutes ago with pnpm package --linux pacman
I built the latest vesktop version and now there is no audio channel, even if I choose it in the audio source list. The bitrate is fine, but no audio :(
Oh yeah you're right. Audio indeed does not work. My apologies.
So I upgraded to the latest git build, audio now works fine
In any case what it came to my understanding is it totally depends from the client video decoder, somehow they influence the stream bitrate for everyone
"Bad" clients:
- Windows ones work sometimes as long they are using hardware decoders
- Some android clients, my Pixel 8 for example and a couple of other phones break the stream
- Some web clients in my case I was using Firefox
- Regular Discord clients on Linux distros ...
NOTE 2: I'm using the latest vesktop version, built literally ~45 minutes ago with pnpm package --linux pacman
I built the latest vesktop version and now there is no audio channel, even if I choose it in the audio source list. The bitrate is fine, but no audio :(
Oh yeah you're right. Audio indeed does not work. My apologies.
With the latest commit audio should work
Also, apparently you just need one of the "good" clients to fix the stream for everyone. I made my alt join my streams so everyone can look at them without it being a slideshow
What the fuck
This is some black fucking magic how can other clients !!!FIX!!! the stream
Curb your servers discord
So I upgraded to the latest git repo, audio now works fine In any case what it came to my understanding is it totally depends from the client video decoder, somehow they influence the stream bitrate for everyone
~snip~
I am lost for words lmao
I had the same issues and figured out a temporary fix, wanted to report the issue rn.
Basically I fixed this by downgrading the electron package to version 29 (using the downgrade script). Now both Vesktop and Vesktop-git (from chaotic-aur) are working again.
Electron 30 seems to introduce some issue that has to be taken care of.
Ah, thank you for that information. I'll downgrade to electron 29 and give it a try.
This worked btw, thanks.
So I upgraded to the latest git repo, audio now works fine In any case what it came to my understanding is it totally depends from the client video decoder, somehow they influence the stream bitrate for everyone
~snipI am lost for words lmao
This might be more of an issue on Discord's side than Vesktop or really anyone; besides the audio issues I suppose. There's literally an ongoing bug in Discord Canary which makes voice chats absolutely unusable as it plays back garbage...
omg i more and more start believe that this is just discord doing some shit
There's literally an ongoing bug in Discord Canary which makes voice chats absolutely unusable as it plays back garbage, unintelligible data.
It was caused by a broken build of discord_voice and was fixed in ~24 hours. Anyone who still has the issue has not updated since.
an irrelevant point nonetheless as it does not pretain to WebRTCMediaEngine
yeah its called "we wrote a native module for a reason, we just dont have the care to add features to linux"
and that wont change until pulseaudio, jack and alsa are all deprecated and pipewire is the standard for audio
there are still people hellbent on "my pulseaudio setup works fine, why should i switch to pipewire"
its not out of malice, its just negelect for web and linux because one "just works" based on what browsers provide and the other hasnt had a dedicated team since 2017
"just works"
provided we ignore the packet order bug
yeah i have this too i think but im not sure
we need more web clients to test
what are they going to cook https://toaster.sh/i/igoviors.png
augh its bothering me so much that i cant figure this out π
edating allegations confirmed
that was shrimple
what other entitlements does this exactly need
oh ig all the hardware related ones
ic
just use global shortcuts portal and x11 can cope
allowing external control seems smart tho as a separate option
The thing about the XDG global shortcut protocol, if I'm not mistaken, is that it will still take a while longer for the implementations to appear. Especially outside of rolling distros that follow upstream closely. Even though the protocol/spec itself is complete, and Plasma is said to support it, GNOME and wlroots are still in the design phases of their implementation...
Problem
With Vesktop v1.5.1 there was a problem with Vesktop not requesting for permission and rather denying access immediately, I assume it is due to it no longer having an ad-hoc signature, though I don't exactly know the specifics but.... adding/specifying the entitlements manually seems to work fine.
Was pretty simple to fix, just adding the entitlements file to build/ and electron-builder will sign with those entitle...
I have attempted to fix the issue here by adding the entitlements by file in my pull request here https://github.com/Vencord/Vesktop/pull/533
pog
add (auto)start minimised
But it works already with --start-minimized. Or i missing something?
I got extra bored and made a custom vesktop dmg
I now realize theres an inconsistency with the fonts lmao
seems cleaner
After launching Vesktop, the animated Loading Vesktop screen appears as it should, but after it closes, the set-up screen doesn't appear.
To Reproduce
1: Install Vesktop from command line (flatpak install flathub dev.vencord.Vesktop)
2: Launch Vesktop from command line (flatpak run dev.vencord.Vesktop)
Expected behavior
After launching, the loading screen plays, before the application launches and the loading screen closes out
**Desktop (please complete the following i...
I think it's a good idea to give a explanation what is needed to make this work:
- Electron currently checks the Desktop before using the API. I had removed this check, so this should be gone with the next Electron version, but for now you may have to set some environment variables, if your desktop is not in the l...
Describe the bug
I launch Vesktop. The loading screen thing opens. It disappears. According to my terminal it was terminated by a 'trace or breakpoint trap' (SIGTRAP).
To Reproduce
- Download Arch Linux. Sorry
- Download
vesktop-binfrom the AUR (notvesktopwhich apparently has segfaults). This will pull in electron 29 (not 30). - Run it in a terminal.
- Observe how it crashes.
Expected behavior
Vesktop doesn't crash.
Screenshots
I open...
wow
lots of stuff got done
im gonna look into the bitrate thing even more today
there's gotta be SOMETHING
What's interesting: in Windows discord client looks like for screensharing WebRTC not used, because in created stream connection there is no any familiar WebRTC streams, tracks and etc.
Applying screenshots what is interesting from conn too:
thats with sound sharing enabled
yeah on windows they use discord_voice for like everything
instead of webrtc
what if we try something really stupid and like
swap the order of the media engine connections array
see if it magically unbreaks it
put video before audio
i tried with no success
damn
but try maybe you can deal with it xD
i tried removing video and adding it again after audio added
You can install version 8.x here: https://pnpm.io/8.x/installation
Running the installation command should replace the 9.x you've installed
Then you'll just need to follow the build/package guide in the readme
the aur packages are not ofdicial and thus not supported. Try official builds
But which issue is this a duplicate of?
oh what's that :o
it looks cool but idk what im looking at
that's window when you install app
you need to move Vesktop to Application folder to install it
yeah macos is weird
to install apps you drag them to the app folder
like
there's an entire app format
just designed around
dragging an application
into a folder
actually this is pretty cool UX for users who not familiar with CLI and so on and want to install another app
it's not as good as just
an installer
I don't understand making them drag it to the folder
imo ofc
if you like it, go off queen
Its how macos users install vesktop
They double click the dmg and it opens with like some weird looking ui that somehow is standardized throughout macos, which just makes you drag vesktop.app to your Applications folder
Its extremely portable as the entire app is just straight in that dmg
why do you specifically have to drag it lmao
why don't they just add an install button to the modal

Hello, the 30kbps bug also affects cameras apparently...
Yesterday the camera was limited to 180p just like the stream...
No you like, actually mount the dmg
When you double click
So its just a custom looking
finder window

this is what it currently looks like
kinda funny when u realize what it actually is
though theres alternative ways of getting macos apps installed, this is just one of them that exists that is a standard
do I know why? nah
when streaming with sound?
idea
how hard are the installer backgrounds anyway
it's basically appimage
anything with more than dependency on what macOS includes has an installer
Yep, camera quality is also locked at 30kbps somehow
https://github.com/ssalggnikool/Vesktop/commit/4b1202ca2608fb130ce5fc7fc15122e953bff3b1 depending on what youre using to build theres all sorts of ways, my fork has a branch with the changes I made to have another dmg background
started camera and it was 30 kbps and randomly just jumped to 2500????
wtf
with or without audio
or do you mean like
no stream going at all
i was gonna try but this is the best i can get
nvm browser was broken
what the fuck
either its not or
what
what the actual fuck
i can only reproduce it with vesktop and audio streaming
i couldn't reproduce camera
but
my camera froze on the receiving end after like 45 seconds
I got some frozen cameras as well AHAHAH
wacky
i am genuinely
incredibly at a loss
do we wait and see if this is a discord issue
or do we keep digging in hopes of finding SOMETHING
Did we try the different branches?
Btw, do you want to test in call?
my vesktop install has no vencord 
what the hell
i cant even see the vesktop settings option
Mine has the same issue...
oh god what the hell
@vernal lintel waaah
lmao
let me try something
yeah
its an issue with a fresh source clone
odd
so i dont have access to the vesktop settings menu
but vencord is there?
i am SO confused
what the HELL broke
whatever it was may be part of why its locked at 30kbps
it could be that some MASSIVE parts of vesktop aren't being loaded properly
on vesktop
can you access the uh
vesktop settings menu
for me the entire category is gone
and so is the vencord stuff
like anything non-stock is gone
okaaaaaaaaaay i have some reealy useful info
same on canary
oh?
if we stream audio with sound -> 30 kbit
if we enable camera then we have camera stream 5000kbit!!!
look at left, this is not stream, this is default connection
and here is stream like screenshare
hm
"Bad" clients:
* Windows ones work _sometimes_ as long they are using hardware decoders * Some android clients, my Pixel 8 for example and a couple of other phones break the stream * Some web clients in my case I was using Firefox * Regular Discord clients on Linux distros (they probably have basic software decoding)"Good" clients:
* Vesktop which uses WebRTC is fine in both windows and linux * Some Windows d...
I always had full bitrate on camera in my tests
no success, but at least we are close to recognizing why we have this behavior
I have some new info about it.
If we create a stream with sound, then we will get 30kbit issue, but if we at same time start camera stream, then we will get for camera our needed bitrate and settings:
Looks like we need to more deeply investigate it and add some new workarounds.
@vernal lintel
Why don't we compile venmic
On macos-latest
In docker
That way we don't need fucking qemu
wait you cant cross compile across architecture???
and we run it through qemu to compile because of system dependencies and such
we have x86 and arm builds
we can but then we need arm builds of pipewire and so on
which is aids
fair
we currently compile in an arm docker container
which runs through qemu
which is fucked
we could run on macos instead
which is arm
and has docker
and then we would skip qemu
which should drastically speed up the build
wait
i assume you mean do that compilation on an arm machine
just on a macos docker container
We would simply use the github macos runner because that runs arm
and then compile in docker
since venmic is linux only
why didn't we fucking think of that
and run it through qemu instead lmao
yeah xd
just pr the change?
does github not have linux arm?
didn't we try self hosting runners at some point
cause i have an arm linux vps
oracle cloud free tier:
I mean what's so bad about macos-arm => docker
You can install version 8.x here: https://pnpm.io/8.x/installation Running the installation command should replace the 9.x you've installed Then you'll just need to follow the build/package guide in the readme
Okay, I managed to uninstall pnpm and get the right versionn and i follow the guide. I managed to install the newer version, I can tell because the stream menu is different.. but its stil laggy, i get like maybe 1 more fps.
You can install version 8.x here: https://pnpm.io/8.x/installation Running the installation command should replace the 9.x you've installed Then you'll just need to follow the build/package guide in the readme
Okay, I managed to uninstall pnpm and get the right version, and then follow the guide. I managed to install the newer version, I can tell because the stream menu is different.. but its stil laggy, i get like maybe 1 more fps.
I believe best way for you will be just to install...
You can install version 8.x here: https://pnpm.io/8.x/installation Running the installation command should replace the 9.x you've installed Then you'll just need to follow the build/package guide in the readme
Okay, I managed to uninstall pnpm and get the right version, and then follow the guide. I managed to install the newer version, I can tell because the stream menu is different.. but its stil laggy, i get like maybe 1 more fps.
I believe best way for you wil...
Also when testing permissions for the microphone, you can get it to prompt back up if you've already allowed it with this command:
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db`
delete from access where service='kTCCServiceMicrophone' and client='dev.vencord.vesktop';```
Though would not recommend you keep vencord opened when doing so because it will prompt you that it doesn't have access when it indeed does. So either kill the application before doing it or kill it...
markdown broke (in my commit message )
huh how
at the very least
im gonna see if this 30kbps thing is a regression from 1.5.1
if it doesnt happen in 1.5.1
im gonna test every commit until it breaks
i believe its not commit thing
Thanks :3
i dont know what discord did but MAN i just want streams to work why did it have to get 10x worse after we made it better π
my gf had an idea and idk it might be dumb but
is it possible there's a total bitrate limit and audio is taking too much?
therefore pushing video down to 30kbps
I believe for streaming and voice+camera we have two different connections
ye i alr suggested that
oh 
xd
i dont know if we can
this is the audio connection in stats.rtp
either it never records audio bitrate
or its not a setting
all i can say for sure is that the sample rate is 48000
We can set AS parameter
at least from what ive found
huh
inb4 this fucker is the problem
unless im wrong
why is this shit set on streams
gain control, noise cancellation, etc
It may be some default parameters for conn object
this is on the conn object after constraints
so i believe it applies to the stream
if so
that's not high
yeah
yeah
but thats voice audio
check the stream audio
thats what we need
maybe we need to limit it to the same bitrate as voice
yeah but this is the conn object pertaining to the stream (i believe)
the bottom console.log
therefore it should be the stream
not voice
We set bitrate using patches
ill give it a shot
oh wait thats sampleRate not bitrate
but i dont think it will do anything
yeah
hey
im gonna test this
i belive i tried Ρ_Ρ but try again
π
i will turn off the other audio shit tho
it doesnt need
autogain and all that
bit rate = sample rate x bit depth
so if we want 64k
const audio = await navigator.mediaDevices.getUserMedia({
audio: {
deviceId: {
exact: id
},
autoGainControl: false,
echoCancellation: false,
noiseSuppression: false,
sampleRate: 48000,
channelCount: 2,
sampleSize: 16
}
});
try this?
how are you so fucking fast with this omg
idk what bitrate this is
i look at vscode and you already have an idea finished and typed up
but its the standard

also added stereo property but i think it doesnt work
last time i tried discord downmixed it to 1 channel lol

im gonna make them both 1
discord native simulation
we can set them using functions, not constraints for track
conn.setEchoCancellation() conn.setNoiseCancellation() and conn.setNoiseSuppression()
there is even function setCodecs() and setBitRate() but it didn't helped
also just found out function setCameraBitRate(), can you try to call it?
write in console
[...Vencord.Webpack.findStore("MediaEngineStore").getMediaEngine().connections][1].setCameraBitRate(800000)
not a function on the conn object
:c
for Camera it's probably for Windows only but setBitRate i saw on linux too
anyway i think we must find something for camera stream and edit it, because if discord takes settings from screen stream to camera stream then it takes settings from camera stream to screen stream
64000 was for audio π¦
wrong func then
y ea h
try for connections[0]
i feel like i might have to fuck with the sdp
it most likely sets the voiceBitrate property
it does π
this is my voice
HAHAHA
uh
what
look at the available
let me try this again
okay
so that function updates transport
not outbound
this is what we can do directly to conn
handleNegotiationNeeded() starts negotiations, just for info
hmm using setStream() we can probably fix issue when we can't start stream while watching another stream
possibly
but i dont know if that's even worth caring about when the streams are this unusable
not for now indeed
actually, could bitrate be done via venmic?
it might be
i wonder why its LOCKED at 29.17
i mean its not a bad idea to have a rock solid audio limit
also wtf with bad and good clients
so it wouldn't be wasted effort
YEAH
i need to test that
rn
brb connecting 2 vesktop instances
i'm on vencord on Windows, is it good client?
oh this is really weird
im in a call with myself
on the same system
using the same mic
for both users
oh god
Yeah I think we can set the node bit rate
what the fuck
what
the
fuck
i can hear and see it from both clients
both are vesktop
WHAT THE FUCK
aahha
IS THIS ISSUE
But I doubt venmic bit rate is the issue currently because of the good and bad client fuckery
Maybe the other clients are sending some stuff to our client and tell it to adjust some stream settings which ultimately fucks it up on our client
If you know what I mean
discord_voice should die
Maybe the bad clients tell our client to update it's stream to some garbage stuff
Wait
lets overload handleNegotiationNeeded() to do nothing
Do we actually control who's able to watch the stream?
Imagine just blocking non web clients lmaoo
discord_voice
that would RUIN my experience LMAO
i feel like that would break everything
Try it
this is the idea i have rn
Fuck around and find out
that's is a idea xd
at least we can see whether bitrate changes to 30 kbit
I mean what else could it be
mhm
literally nothing i think
i wish we could
like
get a readout of the entire transaction between the clients
so we could see what it sends
It would be so fucked up if the bad clients tell the server to fuck up our stream - that wouldn't make any sense
inb4 venmic becomes FOSS discord_voice
Can't we get that somehow?
id assume its in the media-internals
I mean depending on how many functions they have
I could consider that
We could probably use libopus
But I'd like to avoid doing that if possible xd the maintenance burden would be dramatically higher
So that's bad right?
i got 2500 sometimes for camera
what makes us different from normal web
Alright, so the screen sharing issue is also a stock discord web issue
idfk where the 30kbit comes from
yea but it seems simple to fix
a simple x-google-max-bitrate header change
but
30kbit is w e i r d
Yeah, I mean I could also reverse the native module and write some simple (and probably also some complicated lmao) stubs for that
yeah but unless explicitly needed that's just
way too much overhead
every time discord updates it we'd have to reverse engineer the changes
to make it compatible
not that many but there's like end to end encryption shit and so on iirc
it's definitely not easy
plus new codecs
which
(would be nice)
but lmao
hmm
what the hell
no new webrtc negotiations are made when someone starts watching
so why does it
drop
what the fuck
it is 64k
this is the webrtc internals for the stream's audio
it seems like discord_voice is fucking something with how it translates webrtc
idk tho
i am so confused
wait
to test if this is a discord issue
let me try something
what
that's why i wanted to use venmic in plain web xD
but then it will be just same as vesktop actually
i believe no, but let me reboot and recheck
waiting 1 minute 30 secs because of some plasma bug
Which fuckin fixed long time ago
https://bugs.kde.org/show_bug.cgi?id=478313
no audio on web on windows
wtf
one of my friends is on web and i can hear shit
not entire system
specific application maybe
?
or maybe they streamed a chromium tab
from chromium
i tried on firefox T_T
let me try chromium
hehe this what we have in chrome
OMG FUCKING GOD I PICKED SHARE SCREEN AUDIO AND IT MADE RECURSION OF AUDIO AND NOW IM DEAF
okay audio or for tab, or for whole system
thats discord web
same bug
2500 before viewing and 29.17 after i start viewing at Vencord on Windows
I'm able to reproduce this bug on Windows Google Chrome browser at native discord web version. As long as this is a discord bug, I really have doubts that there is a way to fix it :c
time to sleep
so it IS discord's fault
YAYYY
WE DONT HAVE TO FIX IT
THEY'LL DO IT EVENTUALLY
Two days of investigation just lost xD
REAL

Tomorrow I will report these two bugs to discord, maybe they will do something with it
Sadly that discord created this bug right after we fixed all for beautiful streaming :c
Didn't let us stream even a week
And didn't let us even release this changes to tag
π
thank you
i would but i have no idea how


