Around the end of last week, my Alphacool waterblock decided that it was time to kill the NVIDIA RTX 2080 Ti Founders Edition it was placed on. That was the day I learned that burning PCB and plastic smells the same as coal – and that I should probably replace my smoke detectors since they didn’t go off at all.
That meant I needed a new GPU, and after a bit of search for actually available GPUs, I ended up going for the 3090 cards – nobody apparently has 3080s, only 3070s and 3090s. The card I ended up with is the Gainward RTX 3090 Phantom, which has some limitations but otherwise works well. Let’s get into the hard stuff.
NVIDIA certainly wasn’t idle in the last two years, that much is clear. Their jump from 12nm to 8nm should set the average standard for what we should expect from moving nodes while also improving on the generation. This generational leap is what we should have seen from the 20xx series, which now seems like overpriced junk – so sorry for anyone who bought them in the last 6 months and can’t return them. Let’s go into a bit of history and detail.
The AMD side: Shrinking 14nm to 7nm
Three years ago in 2017, AMD RTG tried to even the playing field by moving from 14nm to 7nm, and succeeded. Their new RX Vega generation, while extremely power hungry, did improve performance across the board by roughly 30-75%, depending on what you looked at. And in 2019 they improved on that, with the RX 5000 series – except this time we saw practically no (<5%) performance increase, but they did cut down on heat generation and power draw quite a lot.
Due to the new GPU generations being released by the two major vendors (and soon three major vendors), I’ve currently put the project on indefinite hold. The current discoveries still hold for all existing encoders, which makes newer tests unnecessary for the time being. Even the early runs have not resulted in different settings compared to before.
For the time being, I’ve left the old data online, while I quietly work on making a new, more user friendly version possible. Perhaps I will even allow user submissions in order to increase the number of tested GPUs, but that requires a lot of hosting storage.
A lot of time has passed since the 0.8 release of StreamFX, and since then a lot of code has been submitted and tested. A ton of issues have been fixed internally, making everything work better, and a lot of new features are being worked on. Let’s take a quick look at the already confirmed additions!
The FFmpeg Encoders are now available on Linux!
You can now use the fancy NVENC UI/UX from StreamFX on your Linux machine! While zero-copy is not supported due to a limitation in OBS Studio itself, all the encoders should be available to you as long as you have the necessary system drivers. This limitation is not something I can work around, so if you need zero-copy you will have to stick with Windows, or find an alternative solution – or just learn coding and write the necessary code in OBS Studio.
In the two months since the release of Version 0.8.0, a lot of bugs have been discovered – which now have been fixed with Version 0.8.1! Let’s take a closer look at the things that have been fixed.
Update: Update 0.8.2 has been released fixing the newly discovered issues in 0.8.1. The links in the post have been updated. Update: 0.8.3 is out, and the links have been updated.
Improving the Installer experience on Windows
This had been on the table for a while, and finally made it in. Due to the excessive flood of people not reading the installation instructions and asking the same question – usually within seconds of the same question being answered – the installation process had to become a bit more automatic.With that in mind, I went to town on the installer.
Due to an excessive amount of channels required for StreamFX, I’ve decided to split it off into its own Discord server. You can join it using this link, and enjoy all the new features in it. Make sure to read the rules and select your roles according to what you want to do!
The Server features dedicated roles for each category of tasks, in order to better help users do things. Each role also has a dedicated releases channel for their own content in order to spread the content to other creators that are less skilled at the task.
You can also now advertise your content in the dedicated channels for it, such as your stream or your YouTube channel.
StreamFX has grown into one of the most used plugins for OBS Studio, often being called essential for big and small creators alike. And yet, there is a massive problem facing StreamFX: A lack of funding. Like any project, StreamFX can’t survive without it, so where do we go from here?
Currently the funding come from Github Sponsors, Twitch Subscriptions, Patreon, and my own job. The first three make up around $110 in total (+- some amount), which I’m really thankful for. While $110 is not a lot, it does help a bit, and reduces my time spent at work ever so slightly.
Dual-PC streaming with x264 has been the leader in H264 encoding for streaming for years – up until NVIDIA released their new Turing generation. This new generation of GPUs with a brand new encoder brough comparable quality to x264 medium (or better), has next to no impact on gaming (unlike an NDI-based dual-PC setup) and is much more affordable.
Let’s take a look at the necessary changes to get your NVENC encoding to look comparable to x264 medium (or better).
These settings are for an older FFmpeg version!
The settings provided here are for FFmpeg 4.3.x and earlier, and OBS Studio currently ships with FFmpeg 4.2.x. FFmpeg 4.4 has different Presets and Tuning values, which by default already reach the quality described here, requiring no additional custom configuration.
Setting up NVENC (for Streaming)
With modern OBS Studio, you have two options: NVENC NVENC H.264 (new) or StreamFXs NVIDIA NVENC H264/AVC (via FFmpeg). The latter has more options to configure, but both will give you comparable quality to x264 medium – as long as you have a Turing GPU encoder. You can check here to see if your GPU has a Turing encoder – note that the GTX 1650 Super also has a Turing encoder.
Ever since the day that we’ve been able to push sample rate higher than 44.1kHz, this question has appeared: What is the best sample rate for Audio, and can you actually hear the difference between 48kHz and 96kHz (or higher) sample rates?
Before we get into this, note that I am not an audio engineer, or a scientist. I am a software developer, who is often too curious for his own good, resulting in weird new projects – like StreamFX. So take this with a grain of salt, and if you know better, do feel free to contact me!
Performance is important, and even more so in live streaming. Every streamer and content creator absolutely hates it to see the FPS number dip below the configured number – especially if it is a far drop below. But what can you actually do against that as a streamer or content creator?