NVENC Performance Improvements (Release Candidate)

Status
Not open for further replies.

LiaNdrY

Member
So if I understand it correctly if I wanna have a cap for 9000kbit/s on Mixer I need to set VBR to 7168kb?
In the new version, the value of the maximum bitrate was entered, and if it works correctly, then you need to set 9216 there. And specify the target bitrate as 7168 kbps.
 

Khaduran

New Member
In the new version, the value of the maximum bitrate was entered, and if it works correctly, then you need to set 9216 there. And specify the target bitrate as 7168 kbps.
Cool. Will give it a try when I get home from work and send you a result :)
 

Khaduran

New Member
In the new version, the value of the maximum bitrate was entered, and if it works correctly, then you need to set 9216 there. And specify the target bitrate as 7168 kbps.
Tested VBR yesterday. It gave random desync with Video/Sound. As soon as there was any movement on screen it starting desyncing.
 

LiaNdrY

Member
Tested VBR yesterday. It gave random desync with Video/Sound. As soon as there was any movement on screen it starting desyncing.
This is influenced by many features and factors, especially the peak bitrate. You need to test on each streaming service separately, there are those that allow you to pass through a large unit values, and there are those that block the flow if the value exceeds the allowable. I understand if you set the maximum bitrate in 9K, then most likely this function does not work correctly and the bitrate exceeded this value, and possibly a lot. You need to test for recording video to a file using mp4 or mkv container, setting different bitrate parameters. And then analyze the bitrate of the recorded file by the program Bitrate Viewer and adjust the value so that the peak bitrate values do not exceed a certain threshold. Maximum efficiency requires more detailed study.
 

Yudoken

New Member
I would love to use OBS as my main recording (and streaming) software one my i7 4790k, GTX 1070 rig but sadly the nvenc encoder heavily dropps grames and is unusable if the GPU is in high usage (limiting fps might work and is easy in very consistent games like Rocket League und CS GO with rivatuner where you have very high fps overall but not in games For Honor, CoD BO4 Blackout, PUBG and many more where your fps can be very different depending on the scene). Sadly the test build suffers from the same issue and the OBS captures only a diashow when the gpu is running on 100%. Shadowplay works perfectly fine and records like it should but when I use multiseat software I can't use Shadowplay and I would like to use OBS for everything for multiple reasons (e.g. Shadowplay's way to capture mic is too direct, changing volume changes the windows mic volume and other ways to lower the recorded mic volume for Shadowplay only like VB audio cable does not work or software like Voicemeter Banana causes shadoplay to record the mic in extremly low bitrate for no good reason).

Any Idea how I can prioritse OBS and give it a little headroom so it won't drop frames? Using Vsync is terrible (for obvious reasons) and limiting fps with rivatuner for every game (and it still will loose frames if I don't go to the lowest point which is hard to estimate in most games I've mentioned) is also not really great.

Also btw. I have two different GPUS for multiseat in my rig (1070 and 770) and the 2nd GPU does not capture anything if I change the settings in OBS. But I don't plan to use it for this and recording with running gpu should work fine.

I would appreciate any help on this matter, this and a different matter with multiseat (GTA V runs great twice on my pc but but both can't join in a lobby with one of the players in, they can join in any other one without issues) are quite frustrating to fix and tedious to test and test without any solution.
 

Overflow

Member
I would love to use OBS as my main recording (and streaming) software one my i7 4790k, GTX 1070 rig but sadly the nvenc encoder heavily dropps grames and is unusable if the GPU is in high usage (limiting fps might work and is easy in very consistent games like Rocket League und CS GO with rivatuner where you have very high fps overall but not in games For Honor, CoD BO4 Blackout, PUBG and many more where your fps can be very different depending on the scene). Sadly the test build suffers from the same issue and the OBS captures only a diashow when the gpu is running on 100%. Shadowplay works perfectly fine and records like it should but when I use multiseat software I can't use Shadowplay and I would like to use OBS for everything for multiple reasons (e.g. Shadowplay's way to capture mic is too direct, changing volume changes the windows mic volume and other ways to lower the recorded mic volume for Shadowplay only like VB audio cable does not work or software like Voicemeter Banana causes shadoplay to record the mic in extremly low bitrate for no good reason).

Any Idea how I can prioritse OBS and give it a little headroom so it won't drop frames? Using Vsync is terrible (for obvious reasons) and limiting fps with rivatuner for every game (and it still will loose frames if I don't go to the lowest point which is hard to estimate in most games I've mentioned) is also not really great.

Also btw. I have two different GPUS for multiseat in my rig (1070 and 770) and the 2nd GPU does not capture anything if I change the settings in OBS. But I don't plan to use it for this and recording with running gpu should work fine.

I would appreciate any help on this matter, this and a different matter with multiseat (GTA V runs great twice on my pc but but both can't join in a lobby with one of the players in, they can join in any other one without issues) are quite frustrating to fix and tedious to test and test without any solution.
V-sync or capped framerate is the only solution from what i have learned here. Or dual PC setup.
 

dodgepong

Administrator
Forum Admin
The dates on the Mantis roadmap can be ignored.

Here is the latest announcement from yesterday: https://twitter.com/OBSProject/status/1089956942510993409
The new version of OBS is nearing completion! We know a lot of you are looking forward to using the new Twitch/Mixer integrations and NVENC implementation. Our current plan is to get a release candidate out early Feb with a full release shortly thereafter.
 

SneakyAzShiite

New Member
Well the quality in my testing seems good but not being able to downscale is really disappointing. Streaming at 720p and recording at 1080p made life much easier especially with separate audio tracks. I presume it isn't possible to use a second graphics card to record at a different resolution than the stream? I have an RTX 2060 as primary and a spare 1080 just sitting here unused.
 

jellysandwich

New Member
Well the quality in my testing seems good but not being able to downscale is really disappointing. Streaming at 720p and recording at 1080p made life much easier especially with separate audio tracks. I presume it isn't possible to use a second graphics card to record at a different resolution than the stream? I have an RTX 2060 as primary and a spare 1080 just sitting here unused.

You would need to use the old nvenc for this, which uses ffmpeg.

The new nvenc uses the nvidia sdk, which is why you can't downscale and why you can't use the second graphics card.
 

dodgepong

Administrator
Forum Admin
For those of you who want to be able to rescale the output for streaming while recording with a higher resolution: Are you all using NVENC for both recording and streaming, or are you using different encoders for each?
 

hundlos

New Member
i am going to test this with a tesla p4. currently i can Run 5 times obs with Streaming in 5.5 Mbit and 4 times Record it at 15mbit. after this the tesla is at 95% encoder load. is there a way to Run obs 3 times with tesla nvenc and 2 times with quaddro etc. ? do u think a second tesla p4 could help ?

i know Not the usual end User Problem;)

thx
 

hundlos

New Member
so the build 9 i tested does not move nvenc to the tesla p4 anymore. ist runs in quaddro. this only helps me to load Balance a Bit with old and new Version running in parallel. is there an other way to Force tesla use? the nvidia setting in opelgl and cuda is at the p4
 

Broughy1322

New Member
For those of you who want to be able to rescale the output for streaming while recording with a higher resolution: Are you all using NVENC for both recording and streaming, or are you using different encoders for each?
I came here to check up on whether it was worth downloading this, but for reference I haven't actually tried the beta yet. However I saw this and wanted to chime in.

I currently stream at a different resolution to what I record, and I use NVENC for both recording and streaming. It was one of the main reasons I went to NVENC so I could have the higher quality video to use for editing for YouTube, while keeping things looking nicer at lower bitrates on Twitch streams. Not having that ability might be a bit of a pain.

Just wanted to give some more info on this specifically. I'm looking forward to seeing some performance improvements with the new version of this, but it's no longer a slam dunk for me to definitely try it straight away after seeing this. Cheers.
 

dodgepong

Administrator
Forum Admin
The FFmpeg implementation of NVENC that is available now will still be available in the new version, and the quality will not change between the two. The only thing that the new implementation changes is performance. I believe you could use the new NVENC implementation for your high quality recording and the old NVENC implementation for streaming if you need to rescale it.
 

Broughy1322

New Member
The FFmpeg implementation of NVENC that is available now will still be available in the new version, and the quality will not change between the two. The only thing that the new implementation changes is performance. I believe you could use the new NVENC implementation for your high quality recording and the old NVENC implementation for streaming if you need to rescale it.
That sounds like the perfect solution, good to know, thanks!
 
Status
Not open for further replies.
Top