Beam

Beam v1.1.0

By the way, which AV software was it for you? You only said Windows, but I am also on Windows 10 with all the latest updates (that's where I am developing this and building the installer) and I didn't get any warnings. I would've thought that I'd learn about at least the standard Defender warnings myself while creating the installer. Or are you using additional software? If so, just get rid of it, it just doesn't make sense anymore nowadays, Defender is enough and beside that it's more important to develop good habits like double-checking locations where you are getting software from, not clicking random links from e-mails or chats, keeping your system updated, use strong (and varying passwords) and so on.

It's Microsoft's own AV software. I have a lot of opinions on this, but that's waaayyy outside the scope of this conversation. ;3

Basically, my point is that AV software is becoming more an annoyance than a help because of stuff like this.

As far as I know the OBS dev team plans to implement a plugin manager at some point, although there is no ETA. This is the only thing that will probably finally solve the issue with AV detections on OBS plugin installers.

The good news is, now that I have to fix that bug and create another installer this also means rolling the dice again, maybe we get lucky and AV likes the next installer better :-D

Thankfully, as I'd mentioned before, most of the time, it's a case of "seldomly-downloaded" software. Now, it actually pounced, much to my extreme annoyance.

This all begs the question: Is Microsoft actively trying to discourage us from learning how to write our own software and make it available to others? I'd also argue that Apple does the same thing.

--Katt. =^.^=
 

YorVeX

Member
It's Microsoft's own AV software. I have a lot of opinions on this, but that's waaayyy outside the scope of this conversation. ;3

Basically, my point is that AV software is becoming more an annoyance than a help because of stuff like this.



Thankfully, as I'd mentioned before, most of the time, it's a case of "seldomly-downloaded" software. Now, it actually pounced, much to my extreme annoyance.

This all begs the question: Is Microsoft actively trying to discourage us from learning how to write our own software and make it available to others? I'd also argue that Apple does the same thing.

--Katt. =^.^=
Is it better with the 0.9.3 installer now? I only get this, where you can just click the "More info" link and then the "Run anyway" button:
1695168226798.png

That's pretty normal for basically any .exe you downloaded from the Internet and want to run if it isn't signed and not well-known yet.
 
Last edited:
Is it better with the 0.9.3 installer now? I only get this, where you can just click the "More info" link and then the "Run anyway" button:
View attachment 97856
That's pretty normal for basically any .exe you downloaded from the Internet and want to run if it isn't signed and not well-known yet.

Truthfully, the ones I use an installer on, I get nothing, but probably because I installed it over an RDP connection, notably using \\tsclient\e\download\(...) pathnames to get to the installers. The stuff I do on the local machine is to a "portable" copy of OBS Studio, so I use the 7z file on that machine.

That said, I'll take that prompt above over something I have to go into quarantine to fish out along with other "effluent" Microsoft felt fit to deposit in there, even though I WANTED IT ON THE DRIVE IN THE FIRST.... (ahem) I -DID- say that was outside the scope of this thread, didn't I? ;3 My point still stands, however.

Meanwhile, the latest is that things work so much better. Audio is clean and stereophonic across a link. And thus far, this is the only audio/video transport plugin I've used that allows me to bind to specific interfaces. Not even NDI in its simplest form works that way. That said, I've broken my LACP links and am using single-interface connections. Now, using separate VLANs on my Cisco switch, I have point-to-point connections between my source computers and the studio machine, and a dedicated line to the encoder which doesn't use the computer's main interface (that's being occupied by RDP connections). Plus I have a dedicated VLAN solely for moving audio across my streaming cluster via multiple protocols, most notably via VBAN.

--Katt. =^.^=
 

YorVeX

Member
Meanwhile, the latest is that things work so much better. Audio is clean and stereophonic across a link.
Good to hear it's working. For every version that is released now I am hoping it's the one I will be able to re-tag "v1.0" and leave beta status, should be really stable now, the just released 0.9.4 update contains only a very minor fix and QoL stuff that I forgot I wanted to add already a while ago and now quickly caught up with.

And thus far, this is the only audio/video transport plugin I've used that allows me to bind to specific interfaces. Not even NDI in its simplest form works that way. That said, I've broken my LACP links and am using single-interface connections. Now, using separate VLANs on my Cisco switch, I have point-to-point connections between my source computers and the studio machine, and a dedicated line to the encoder which doesn't use the computer's main interface (that's being occupied by RDP connections). Plus I have a dedicated VLAN solely for moving audio across my streaming cluster via multiple protocols, most notably via VBAN.

--Katt. =^.^=

I guess after finding out that LACP isn't as compatible as you were hoping, the way you set it up now is the best way to get the most out of your separate 1 Gbps connections, at least the various services don't need to share their bandwidths. Especially with RDP my experience was that it's quite sensitive to having too much other traffic on the same interface.
 
I also did a long-stream test, nearly four hours' worth of gameplay on Twitch over those four computers, and it seemed to hold up just fine. I was using Beam to move stuff to where it needed to go, and it held up just fine. Went solidly, with the only hitches happening due to issues with me not setting up conditions within a plugin or a game just outright deciding to crash. Everything else held up like a champ.

Furthermore, I was using OBS Studio 30.0.0 Beta 3.

--Katt. =^.^=
 

YorVeX

Member
I also did a long-stream test, nearly four hours' worth of gameplay on Twitch over those four computers, and it seemed to hold up just fine. I was using Beam to move stuff to where it needed to go, and it held up just fine. Went solidly, with the only hitches happening due to issues with me not setting up conditions within a plugin or a game just outright deciding to crash. Everything else held up like a champ.

Furthermore, I was using OBS Studio 30.0.0 Beta 3.

--Katt. =^.^=
Great, thanks for the feedback!
I also did a few tests with OBS 30 beta 3. Apart from bugs it might still have being a beta, I think OBS 30 is even working a bit better with Beam, since it reverted that change from OBS 29 where settings changes are not deferred until the settings window is closed, making Beam restart its output like it was insane e.g. while moving a quality or compression level slider or changing any other option.
 

r3dd3vil

Member
Hello guys and thanks for the great work! I have a problem with the plugin. I have a double pc setup and until yesterday everything was working good and flawless, but from today the receiver cant see anymore the feed. I've tried everything, uninstall and reinstall obs, uninstall and reinstall the plugin.. nothing. The sad thing is that NDI and TELEPORT are still working and finding the stream so is not a network fail... What can i do? Beam is indeed FAR BETTER then ndi and teleport and i dont want to go back again! Is there maybe an "hidden" folder when some files can be damaged? :(
 

YorVeX

Member
Hello guys and thanks for the great work! I have a problem with the plugin. I have a double pc setup and until yesterday everything was working good and flawless, but from today the receiver cant see anymore the feed. I've tried everything, uninstall and reinstall obs, uninstall and reinstall the plugin.. nothing. The sad thing is that NDI and TELEPORT are still working and finding the stream so is not a network fail... What can i do? Beam is indeed FAR BETTER then ndi and teleport and i dont want to go back again! Is there maybe an "hidden" folder when some files can be damaged? :(
Please do the following (in exactly that order) so that I get some data that I can analyze:
  • start sender and receiver OBS with the --verbose launch parameter as explained here
  • in sender OBS choose "Tools" -> "Beam Sender Output" from the main menu, then close the window again with the Cancel button
  • in receiver OBS double click your Beam source to open its properties, then close the window again with the Cancel button
  • in sender OBS click "Help" -> "Log Files" -> "Upload Current Log File"
  • in receiver OBS click "Help" -> "Log Files" -> "Upload Current Log File"
  • post the links of the uploaded log files here
If you struggle with the verbose launch parameter setting you can also do the steps without for now, but it will give me a lot less information to work with in the logs, so it would be really good if you could manage to do this (but also: don't use the --verbose flag for production, as it can have a negative impact on performance, best is to create separate shortcuts from your normal ones for verbose mode).

What exactly do you mean by "can't see the feed"? Is it not listed in the selection list on the receiver source, so that you get only this:
1697331294005.png

Or can you select the feed there but it's just blank/empty/black/green/frozen?

Also what always helps is to try and remember what could have changed between the time where it was still working and where it stopped working. Especially any changes regarding firewall, router or network configuration would be interesting, but also any software changes in general. Might also be worth trying to restart all your network devices like routers and switches.
 
Last edited:

r3dd3vil

Member
Please do the following (in exactly that order) so that I get some data that I can analyze:
  • start sender and receiver OBS with the --verbose launch parameter as explained here
  • in sender OBS choose "Tools" -> "Beam Sender Output" from the main menu, then close the window again with the Cancel button
  • in receiver OBS double click your Beam source to open its properties, then close the window again with the Cancel button
  • in sender OBS click "Help" -> "Log Files" -> "Upload Current Log File"
  • in receiver OBS click "Help" -> "Log Files" -> "Upload Current Log File"
  • post the links of the uploaded log files here
If you struggle with the verbose launch parameter setting you can also do the steps without for now, but it will give me a lot less information to work with in the logs, so it would be really good if you could manage to do this (but also: don't use the --verbose flag for production, as it can have a negative impact on performance, best is to create separate shortcuts from your normal ones for verbose mode).

What exactly do you mean by "can't see the feed"? Is it not listed in the selection list on the receiver source, so that you get only this:
View attachment 98546
Or can you select the feed there but it's just blank/empty/black/green/frozen?

Also what always helps is to try and remember what could have changed between the time where it was still working and where it stopped working. Especially any changes regarding firewall, router or network configuration would be interesting, but also any software changes in general. Might also be worth trying to restart all your network devices like routers and switches.
Thanks a lot, i've solved it right now. The problem i think it was related to obs and the fact that i'm using 2 individual lans for the stream. One for the internet connection and one dedicated 2.5 gb to send images from pc1 to pc2. So after tried everything, i've disabled for a while the internet lan in pc2 and magically the stream appears again. Then reenabling it and now it all works well. Maybe a bug in the obs? Donno :) Thanks a lot again for the great work!
 

YorVeX

Member
Thanks a lot, i've solved it right now. The problem i think it was related to obs and the fact that i'm using 2 individual lans for the stream. One for the internet connection and one dedicated 2.5 gb to send images from pc1 to pc2. So after tried everything, i've disabled for a while the internet lan in pc2 and magically the stream appears again. Then reenabling it and now it all works well. Maybe a bug in the obs? Donno :) Thanks a lot again for the great work!
That's exactly the setup what Beam has the network interface selection for, on both the sender and receiver:
1697374520786.png

If you leave this set to Any, then Beam will leave the interface selection up to the operating system, and Windows will pick an interface by its own rules, meaning that occasionally it will try to transmit the Beam feed over your Internet LAN and I guess this is where it fails.
By disabling it you forced it to use the right one again, but in the future it will break again from time to time. Therefore, for a setup like yours make sure that at least on one side (better both to be sure) you explicitly pick the 2.5G interface that it's supposed to use.

If you do this and it still fails, then it would be a bug in Beam and I'd appreciate if you could create logs of a failing session as described in my previous post for me to investigate.
 

SkullCC

New Member
God tier Plugin , works on Linux beautifully (although with QOY compression only, JPEG gives me stuttering) , finally can make my two stream PC setup work flawlessly. Great work on the networking , easy to use, easy to understand and works better than NDI , at least on Linux. No stutterring at all!

Info on my setup:
Gaming PC:

CPU:AMD Ryzen 7 5800X 8-Core Processor
GPU:Nvidia RTX 3060ti
RAM: 32GB
OS: Windows 11

Streaming PC:
Hypervisor: Proxmox VE 8.0.3
CPU: Virtualized AMD Ryzen 7 3700X 8-Core Processor 5 cores 5 logical Cores (VM)
GPU: Intel ARC A750 Passthrough (set as primary GPU)
RAM: 10GB Ram (out of 32GB ECC Ram)
OS: Ubuntu 23.10 Kernel Linux 6.5.0-10-generic



Would be awesome to be able as an option to omit audio in the output!
 
God tier Plugin , works on Linux beautifully (although with QOY compression only, JPEG gives me stuttering) , finally can make my two stream PC setup work flawlessly. Great work on the networking , easy to use, easy to understand and works better than NDI , at least on Linux. No stutterring at all!

Info on my setup:
Gaming PC:

CPU:AMD Ryzen 7 5800X 8-Core Processor
GPU:Nvidia RTX 3060ti
RAM: 32GB
OS: Windows 11

Streaming PC:
Hypervisor: Proxmox VE 8.0.3
CPU: Virtualized AMD Ryzen 7 3700X 8-Core Processor 5 cores 5 logical Cores (VM)
GPU: Intel ARC A750 Passthrough (set as primary GPU)
RAM: 10GB Ram (out of 32GB ECC Ram)
OS: Ubuntu 23.10 Kernel Linux 6.5.0-10-generic



Would be awesome to be able as an option to omit audio in the output!

Couldn't you just mute the audio in the source? Audio only forms a miniscule portion of the stream. Though is there a specific reason you don't want audio part of the stream?

--Katt. =^.^=
 

YorVeX

Member
God tier Plugin , works on Linux beautifully (although with QOY compression only, JPEG gives me stuttering) , finally can make my two stream PC setup work flawlessly. Great work on the networking , easy to use, easy to understand and works better than NDI , at least on Linux. No stutterring at all!

Info on my setup:
Gaming PC:

CPU:AMD Ryzen 7 5800X 8-Core Processor
GPU:Nvidia RTX 3060ti
RAM: 32GB
OS: Windows 11

Streaming PC:
Hypervisor: Proxmox VE 8.0.3
CPU: Virtualized AMD Ryzen 7 3700X 8-Core Processor 5 cores 5 logical Cores (VM)
GPU: Intel ARC A750 Passthrough (set as primary GPU)
RAM: 10GB Ram (out of 32GB ECC Ram)
OS: Ubuntu 23.10 Kernel Linux 6.5.0-10-generic



Would be awesome to be able as an option to omit audio in the output!
Thanks for the kind words!

Interesting that QOY works better than JPEG, in my tests JPEG was pretty similar to QOY in terms of CPU, if anything, it was a bit lighter on it. But JPEG turbo depends heavily on SIMD optimizations, maybe they don't work that well with your virtualization solution? There is no reason to worry about this though, since in terms of quality QOY is the better option anyway (if you got the necessary bandwidth), as opposed to JPEG it's lossless.

Regarding the audio part, I thought about it, but as Katt already pointed out, audio usually really is negligible, from both bandwidth and CPU processing perspective it's a tiny fraction of video. There is one part about audio that matters specifically for OBS, and that's the fact that combined audio and video sources can cause audio buffering, which you want to avoid when you don't even need audio. But there is already a solution for this, which is installing the Mute Filter plugin and adding a Mute Audio filter to the Beam Receiver source, so this would be my recommendation to anyone worrying about this. Just muting the source in OBS doesn't solve audio buffering issues, but applying this filter does, I am using it a lot myself (e.g. on webcams, I don't need their audio but they often cause audio buffering).
 
Top