NVEnc Feedback thread (2014)

Status
Not open for further replies.

Boildown

Active Member
Re: 0.60 test build 9

Er... what? It does matter. These aren't x264 presets, they're NVEnc presets. It looks at them and acts accordingly, there's something like 5 pages of discussion on the matter in this thread.
 

Lazze

New Member
Re: 0.60 test build 9

Boildown said:
Er... what? It does matter. These aren't x264 presets, they're NVEnc presets. It looks at them and acts accordingly, there's something like 5 pages of discussion on the matter in this thread.

I think you are misunderstanding me. Since the encoding is done entirely on the hardware chip, changing the preset of NVENC should not affect my fps at all. None of the encoding is done on my CPU, and since the hardware encoder is separate from the GPU, the fps loss I get from using it should be the same across the board.
 

Boildown

Active Member
Re: 0.60 test build 9

You're right, I was misunderstanding you. :)

From the anecdotes in this thread however, it doesn't seem to work that way. The silicon just isn't capable of going full FPS at every resolution in all the presets. The encoder isn't CPU-bound, its GPU-bound. Except even that's somewhat mistaken. Its NVEnc-chip-bound, for lack of a better term. I don't even think its a seperate chip, just some silicon they included but until now never used. And it has its limitations. So even though you have CPU and GPU to spare, that little bit of silicon can be tapped out and limit the recorded/streamed framerates.
 

Lazze

New Member
Re: 0.60 test build 9

Boildown said:
You're right, I was misunderstanding you. :)

From the anecdotes in this thread however, it doesn't seem to work that way. The silicon just isn't capable of going full FPS at every resolution in all the presets. The encoder isn't CPU-bound, its GPU-bound. Except even that's somewhat mistaken. Its NVEnc-chip-bound, for lack of a better term. I don't even think its a seperate chip, just some silicon they included but until now never used. And it has its limitations. So even though you have CPU and GPU to spare, that little bit of silicon can be tapped out and limit the recorded/streamed framerates.

Alright, I see. I still doubt that the fps loss I am getting compared to ShadowPlay is because of the encoder. ShadowPlay captures frames directly from the graphics card framebuffer, so I think that has something to do with the great performance.
 

Boildown

Active Member
Re: 0.60 test build 9

Can you capture an .mp4 to disk with Shadowplay and then look at the media info? I might just say which preset they used, and other settings. Then you could try to duplicate it in OBS.
 

Lazze

New Member
Re: 0.60 test build 9

Boildown said:
Can you capture an .mp4 to disk with Shadowplay and then look at the media info? I might just say which preset they used, and other settings. Then you could try to duplicate it in OBS.

I am fairly certain that it uses the High Quality preset, because you can choose that one in the settings of ShadowPlay. I tried with the same preset in OBS, and I had the same results.
It would be interesting to try it with a capture card to find out whether or not the game capture in OBS is the cause.
 

ZergSquad

New Member
Re: 0.60 test build 9

i tryed to use all presets in OBS (its 7) all the same fps loss on stream

PS but the best fps was with "low latency"
 

leetminiwheat

New Member
Re: 0.60 test build 9

So OBS keeps crashing on me at random using NVENC, anything I can do to narrow down the cause? Or is it just still unstable?
 

leetminiwheat

New Member
Re: 0.60 test build 9

I have about 7 crash logs/dumps, here's one of them.

I thought maybe it was related to the encoding quality so i turned it down from High Quality to Default but it still crashed. Tried turning bitrate down from 25000 to 20000 too, so I guess I'll try even lower next time (high bitrate because I'm saving to file to upload to YouTube). I'm encoding at 2560x1440 30fps. (nvidia's specs say they support up to 4096x4096). My video card is a GTX 690 with SLi active, recording a full screen game (Final Fantasy XIV). No overclock. Using the .dll from 2nd page in this thread.

Edit: Well I've fiddled with almost every setting I can think of. I think the encoding chip may be getting overrun at higher quality @ 1440p since it seems to crash faster with HQ compared to Default or High Performance. Odd though considering nvidia's pdf demonstrates it at 30mbps in the graphs, and they mention 4096x4096 being max supported resolution.

Edit2: 1440p @ High Performance, 30mbps bitrate seems relatively stable so far but still occasional crash. It seems to be a combination of bitrate and quality settings that causes it to choke.

Edit3: If anyone's still following me here... 1152p downscale at High Performance 30mbps seems stable, no crashes yet. Definitely seems related to resolution/bitrate/quality level... or threads not syncing properly and OBS unable to handle the encoder at high bandwidth or something. I dunno.

Edit4: Well I just tried Shadowplay and it always downscales to 1080, so it could very well be a limitation of the encoder. If only OBS could downscale to 1080... (nothing in-between 960p and 1152p)

Code:
This crash appears to have occured in the 'c:\users\star\desktop\obs v0.60b test build 9 64bit nvenc\obsnvenc.dll' module.

**** UNHANDLED EXCEPTION: c0000005
Fault address: 00007FFD6F9F80B9 (c:\users\star\desktop\obs v0.60b test build 9 64bit nvenc\obsnvenc.dll)
OBS version: Open Broadcaster Software v0.60b test build 9
Windows version: 6.2 (Build 9200) 
CPU: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz

Crashing thread stack trace:
Stack            EIP              Arg0             Arg1             Arg2             Arg3             Address
000000002417DE18 00007FFD6F9F80B9 00000000026F5450 0000000000DDEA80 0000000000000001 0000000000000000 obsnvenc.dll!0x7ffd6f9f80b9
000000002417DE20 00007FFD6F9F340E 00000000026F5428 00000000026D4800 0000000000000000 00000000026F5400 obsnvenc.dll!0x7ffd6f9f340e
000000002417E5A0 00007FFD6F9F32AE 000000000000000E 00007FFD6CE8D0A3 00007FFD6D0728F0 000000002417F990 obsnvenc.dll!0x7ffd6f9f32ae
000000002417F980 00007FF7BFCF65F9 0000000000000FE3 000000000000000E 000000002417FAE9 0000000000000FE3 obs.exe!OBS::ProcessFrame+0xd9
000000002417FA10 00007FF7BFCF6C4E 0000000000000001 0000000000000001 0000000000000000 0000000000000000 obs.exe!OBS::EncodeLoop+0x53e
000000002417FB50 00007FF7BFCF5B19 0000000000000000 0000000000000000 0000000000000000 0000000000000000 obs.exe!OBS::EncodeThread+0x9
000000002417FB80 00007FFD95E615CD 0000000000000000 0000000000000000 0000000000000000 0000000000000000 kernel32.dll!0x7ffd95e615cd
000000002417FBB0 00007FFD977143D1 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ntdll.dll!0x7ffd977143d1

A minidump was saved to C:\Users\Star\AppData\Roaming\OBS\crashDumps\OBSCrashDump2014-02-01_6.dmp.
Please include this file when posting a crash report.

List of loaded modules:
Base Address                      Module

dump also attached. If this dump is bad, I have about 10 others. I know a couple crashes happened from alt-tab'ing so I hope this wasn't one of those.
 

Attachments

  • OBSCrashDump2014-02-01_6.zip
    76.1 KB · Views: 52

PUNCHRULLE

New Member
Re: 0.60 test build 9

I have the fps problem aswell,when streaming at 30 it looks like 15-25.
When im streaming cs go it will only record the window sounds not ingame, maybe a setting ingame?
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Re: 0.60 test build 9

Is this a test build issue? Because if not, I'd rather it be posted on the other forums, just because I don't want to get confused about what was or was not caused by test build code.
 

ZergSquad

New Member
Re: 0.60 test build 9

i think its test build issue, because i have same problem with stream fps... stream looks like 10-15 fps, while im streaming with 30 fps
 

dodgepong

Administrator
Community Helper
Re: 0.60 test build 9

Does the problem happen on 0.592, though? We'd have to see a log.
 
Re: 0.60 test build 9

Hi everyone,

Just wanted to say thank you to the devs for adding NvENC support to OBS. I'm very new to streaming and OBS but the NvENC support made it possible for me to get high quality encodes without killing the CPU on my gaming rig. It's getting a little long in the tooth (Intel 9650 Core 2 Quad 3GHz/12MB cache) but with a GTX 680 doing the initial encoding it frees the CPU up quite a bit for the game.

Great work you guys, very appreciative. I am still twiddling with settings but am already getting some pretty good results. Basically have OBS using NvENC, veryfast, 20Mbps bitrate and 7000 buffer size, lanczos downsizing from 1920x1080 -> 1280x720. It passes that on to a Fedora linux server running a custom nginx with rtmp patched in to recompress with ffmpeg (static) to various bitrates (2Mbps, 2.5Mbps, 3Mbps depending which "app" I send OBS's output to) which then streams to Twitch.

One little problem I'm seeing is that things look a lot darker watching it on the bigscreen TV, especially in night scenes of the game, but I think that might be an issue with encoder presets. Will gather a little more info on that before posting in detail. Looks normal watching twitch archived streams on the PC but too dark on the TV (although everything else looks normal). I have a setting in XBMC that flips that to the opposite setting, and if I use it, these dark stream archives look like they should but just about everything else is washed out looking.

There is something I ran into a few years ago doing regular video transcoding about a setting when encoding digital video about matching black levels (luminance?), if its set one way, then 16 (out of a range of 0-255) is considered zero rather than 0 being 0 and if there's a mismatch things come out either too dark or "washed out" looking. Strange, but hopefully I can figure it out. I don't think the first few days' of streams I did with NvENC had this problem and the only real changes I've made with ffmpeg settings on the Linux machine has been presets (medium vs. slow, etc.) and profile (high/main). I probably need to look closer at what settings are clumped together with the different presets. Or something. :)

Thanks for OBS - it's really great.

BTW does anybody know if there is a solid 64-bit version of the CLR Browser plugin? Just curious. I've gotten things working pretty well up to this point with the 64-bit version of OBS 0.60 test 9 but from reading around it looks like I might have to switch to the 32-bit version to get a stable CLR Browser? Not sure though.

Thanks everyone!
TackMeister
 

leetminiwheat

New Member
Re: 0.60 test build 9

ZergSquad said:
i think its test build issue, because i have same problem with stream fps... stream looks like 10-15 fps, while im streaming with 30 fps

I'm also seeing this with my NVENC recording. Compared to Shadowplay the recording looks like 15-20ish. But strangely OBS has less of an in-game FPS hit in comparison.


Also, in case anyone was following my edits on page 17 - It appears NVENC is limited to around 1080ish. Shadowplay always downscales to 1080. Not sure why Nvidia would list 4096x4096 as max res though, if it was a hardware limitation you'd think 1440 would work okay if the encoder settings are turned down a bit.
 

MazingerZ

New Member
Not necessarily a question on the build itself, but the feature using the Nvidia hardware feature...

I have a 1st gen i5 on a capture machine and its just barely pushing the bounds of good taste when streaming... That is, I get up to about 80-90% utilization on the most used core when encoding to Twitch. I'm not really in the position to do a Haswell build, but a moderately priced 6xx card priced just under 200 (I've currently got a GT 460 in the box) could, in theory, do the trick.

Any numbers on how the performance of using a dedicated graphics card that's not running a game would hold up on encoding speed and utilization? Would this be a good stop-gap measure? Obviously, I'd spend more money in the long run, but if OBS can off-load the encoding to other hardware, it'd give me the space to meet my goals for now.
 
Status
Not open for further replies.
Top