# NVEnc Feedback thread (2014)



## Jim (Jan 4, 2014)

New test build out, we have quite a number of changes and things might be unstable, so we want to run it by users first.

We now have NVEnc in, thanks to BtbN for all his hard work on it.

Also, very important, testing mic and avermedia live gamer portable sync fixes.  Took out the "Mic sync fix hack" in advanced because it fixes this exact issue with mics and devices.  This really needs testing, so please give me feedback of this test build if you can.

*NOTE: Test builds do not auto-update!  Please remember to check for full releases later after using test builds*

Download here

0.60b test build 9 Notes

 09 - Another fix to potential audio issues, that *should* be the last of it
 08 - More adjustments to NVenc/quicksync
 07 - Apparently some more NVEnc changes
 07 - Removed "Mic Sync Fix Hack" option because the problem should be fixed.  I really need testers for the new audio code, I need to know if the audio is working correctly, especially people with live gamer portable devices and mics that were having issues with sync
 06 - more NVEnc fixes/adjustments
 06 - more tweaks/fixes to device burst compensation
 05 - made some fixes to the burst sound..  fixes.  fixes to fixes.
 04 - testing some sound bursting sync fix issues

 Added NVEnc encoder, courtesy of BtbN.
 There is now a separate button for recording
 You can now turn off/restart recording while still streaming, or vise versa
 If you are disconnected, it will no longer cause recording to stop
 Because of the above, we've removed the dashboard button because it was sort of useless and we needed an extra button, I hope no one hates me for this but it was honestly just a convenience tool and we needed to make space for more important buttons without creating a brand new button row
 NOTE: If both recording and streaming, you must press stop both to fully turn off the stream
 Text indicators for recording/streaming has been added to the status bar
 Fixed a bug where microphones wouldn't reconnect if disconnected (dear god *finally*, I'm so sorry about that)
 Testing out fixes microphone and device-related sync issue that would happen with burst data


----------



## TOM_RUS (Jan 4, 2014)

*Re: 0.60 test build 1*

Would be nice to have "Auto start recording when starting stream" option, so we can start stream without starting recording. Recording hotkeys can be useful as well. Separate encoding settings for recording?


----------



## Gol D. Ace (Jan 4, 2014)

*Re: 0.60 test build 1*



			
				TOM_RUS said:
			
		

> Would be nice to have "Auto start recording when starting stream" option, so we can start stream without starting recording.



The recording is already starting auto.

But... The recording isn't stopping when you stop the stream.
So having the possibility to stop the recording auto when you stop the stream would be nice.


----------



## paibox (Jan 4, 2014)

*Re: 0.60 test build 1*

If you want to stop the recording when you stop streaming, I would suggest just disabling the functionality, if it proves to be stable then we can just add an UI option for it. Adding more buttons isn't really going to happen. Maybe change the "Start Preview" functionality while streaming and recording to stop both, but I'm not quite sure.

As for separate encoding settings for recording, this would require a lot of hacking around, and it's not very likely to get implemented during this phase of testing, if at all. Such things will be present in the rewrite.


----------



## klayveR (Jan 4, 2014)

*Re: 0.60 test build 1*



			
				Jim said:
			
		

> Fixed a bug where microphones wouldn't reconnect if disconnected (dear god *finally*, I'm so sorry about that)


Thank you so much for this!


----------



## dodgepong (Jan 4, 2014)

*Re: 0.60 test build 1*

For the people who will inevitably ask how to enable NVENC, you will either need an nVidia Quadro Kepler GPU, or a Kepler GeForce card with a license key DLL. The license key is something you normally have to pay nVidia for.


----------



## bilehazard (Jan 4, 2014)

*Re: 0.60 test build 1*

Not sure if this relates to a plugin i have or what but as soon as i open up OBS i get this error message, but im still able to use OBS "The procedure entry point ??8String@@QBEHABV0@@Z could not be located in the dynamic library OBSApi.dll"


----------



## Jim (Jan 4, 2014)

*Re: 0.60 test build 1*

Does it work fine with 0.592?  If so, someone messed up the plugin API again.


----------



## Jim (Jan 4, 2014)

*Re: 0.60 test build 1*

Aaaaaand that someone is me.  I will fix it, and reupload.


----------



## Jim (Jan 4, 2014)

*Re: 0.60 test build 2*

And it's fixed.


----------



## bilehazard (Jan 4, 2014)

*Re: 0.60 test build 2*

Yep seems to be fixed now. Thanks Jim!


----------



## TOM_RUS (Jan 4, 2014)

*Re: 0.60 test build 1*



			
				Gol D. Ace said:
			
		

> TOM_RUS said:
> 
> 
> 
> ...



I'm talking about option that allows you to disable auto start recording... Read what I wrote again.


----------



## Jim (Jan 5, 2014)

*Re: 0.60 test build 2*

I do agree that such an option should be provided.

(Though go easy on Gol D Ace, he's super awesome)


----------



## Gol D. Ace (Jan 5, 2014)

*Re: 0.60 test build 2*

I'm not that awesome Jim. ;)

Sometimes I have problems understanding english speaking people (guess what I'm not a native english speaker).


----------



## Jack0r (Jan 5, 2014)

*Re: 0.60 test build 3*

could the start recording button be active while streaming and file output is active? so you could start recording and then switch on streaming?

Also when switching from livestream to file output using the settings menu, the button to start recording stays gray, if I then close obs and restart it, the button is correct. Using 2 profiles to switch between livestream and file output works correctly and refreshes the button state.


----------



## Jim (Jan 6, 2014)

*Re: 0.60 test build 4*

Fixed an API break agianfdsgn.f sd


----------



## Grue (Jan 6, 2014)

*Re: 0.60 test build 1*



			
				dodgepong said:
			
		

> For the people who will inevitably ask how to enable NVENC, you will either need an nVidia Quadro Kepler GPU, or a Kepler GeForce card with a license key DLL. The license key is something you normally have to pay nVidia for.



But but how do you even buy a license key?


----------



## Gol D. Ace (Jan 6, 2014)

*Re: 0.60 test build 1*



			
				Grue said:
			
		

> dodgepong said:
> 
> 
> 
> ...



I have written an e-mail to Nvidia with exactly this question.

The first response was: 



> Your case is being escalated to our Level 2 Technical Support group for further attention.
> 
> The Level 2 agents will review the case notes to troubleshoot the issue and find a solution or workaround.
> 
> ...


----------



## dodgepong (Jan 6, 2014)

*Re: 0.60 test build 4*

It's also possible to get a pre-compiled binary with a license key already entered (but not readable) so you don't have to buy one yourself.


----------



## BtbN (Jan 6, 2014)

*Re: 0.60 test build 5*

The newest test build contains support for Nvidia NVENC.
In order to use it you either need to set the environment variable NVENC_KEY with a valid nvenc license key in standard GUID/CLSID format, or download a precompiled binary with a license key already built in.

You can download them here:
* Mod Edit: Links removed *
You do not need a special DLL anymore, or download anything extra. All you need to do is install the latest NVIDIA drivers.

Just place it in the same dir as OBS.exe, replacing the already existing one. It's not a plugin, so it doesn't go into the plugins dir.

Keep in mind that this feature is still quite new and experimental, but works fine in general. Any kind of feedback about this is highly encouraged!

You need a Kepler GPU(series 600 or better) to be able to use this.


----------



## Boildown (Jan 6, 2014)

*Re: 0.60 test build 5*

My encoder PC has a 560Ti in it unfortunately, but I sometimes stream a pre-recorded highlight video from my gaming PC that could use this.

So what exactly is the benefit of adding NVENC support?


----------



## BtbN (Jan 6, 2014)

*Re: 0.60 test build 5*

It encodes with allmost no performance impact.
Video encoding is the most CPU heavy task OBS is doing, and moving this onto a dedicated pice of hardware removes allmost all CPU load.


----------



## Xphome (Jan 6, 2014)

*Re: 0.60 test build 5*

Will the NVENC presets be selectable in OBS? VC, WIDI, HP, HQ etc mentioned in https://developer.nvidia.com/sites/defa ... ppNote.pdf

EDIT: It's on Page 13.


----------



## BtbN (Jan 6, 2014)

*Re: 0.60 test build 5*

Why would anyone want to use it at a lower quality than the best possible?
I can select diffrent presets, and exporting that to a setting wouldn't be too much of a problem, but i don't realy see the use of that.


----------



## Xphome (Jan 7, 2014)

*Re: 0.60 test build 5*



			
				BtbN said:
			
		

> Why would anyone want to use it at a lower quality than the best possible?
> I can select diffrent presets, and exporting that to a setting wouldn't be too much of a problem, but i don't realy see the use of that.


So it's set to CLOUD_GAMING_720p30? Since that is the highest quality according to that PDF.


----------



## BtbN (Jan 7, 2014)

*Re: 0.60 test build 5*

There is no preset named like that, i'm using a modified HQ preset.
Modified to use CBR and the keyframe intervall needed by OBS/Twitch/...

I'm still experimenting with settings, so the current quality is likely not the best that's possible.


----------



## renemauricio (Jan 7, 2014)

*Re: 0.60 test build 5*

How are you able to modify the NVREC preset? Changing options from within OBS does nothing to change the output quality.


----------



## BtbN (Jan 7, 2014)

*Re: 0.60 test build 5*

You can't change it, it's hardcoded to the best one.


----------



## Boildown (Jan 7, 2014)

*Re: 0.60 test build 5*

Which is the lowest spec 600 series card that will run it?  For example, I have a GT 630 in my media center PC... can I borrow that card to run this?

Can you more fully describe what encode settings its hard-coded to, or what x264 equivalents would be?


----------



## BtbN (Jan 7, 2014)

*Re: 0.60 test build 5*

Everything that has a Kepler GPU will work. The GT630 is special, as there are two diffrent GT630, one with a Kepler GK208, which will work, and one which is still Fermi, which won't work.


----------



## Boildown (Jan 7, 2014)

*Re: 0.60 test build 5*



			
				BtbN said:
			
		

> Everything that has a Kepler GPU will work. The GT630 is special, as there are two diffrent GT630, one with a Kepler GK208, which will work, and one which is still Fermi, which won't work.



Cool, it appears I lucked out and got the right one.  Ordinarily the GT630 is pretty dang weak for OBS use and is a bit of a bottleneck the little bit I tested it.  So it'll be interesting to see if it completely changes character using this NVENC thing.

Can you answer this though: 

Can you more fully describe what encode settings NVENC is hard-coded to, or what x264 equivalents would be?


----------



## BtbN (Jan 7, 2014)

*Re: 0.60 test build 5*

I have no idea what x264 settings it corrosponds to. I made the preset switchable in the meantime, but you don't realy want to use anything else than the HQ one for streaming, which is still the default.

You can also just plugin the GT630 as second card, if the first one also is a nvidia, CUDA is perfectly fine with that.


----------



## Senshin (Jan 7, 2014)

*Re: 0.60 test build 5*

Testing the Nvenc function.

I would say it is worse then Quick Sync on the 3500Bitrate mark (1080P), it blurs alot with quick movement, i mean really alot.

I hope Nvenc can increase in quality over time or else Intel did a great job lol.
For now I will change back to quick sync, hope the future bring us a nicer nvenc ^^.

When disabling my IGPU and i try monitorcapture it will be lines the watchers gona see, totally no schreen is getting displayed (with nvenc enabled offcourse).


Specs:
3840QM i7 cpu (HD4000, can disable and enable)
680M GTX


----------



## Grue (Jan 7, 2014)

*Re: 0.60 test build 5*



			
				Senshin said:
			
		

> Testing the Nvenc function.
> 
> I would say it is worse then Quick Sync on the 3500Bitrate mark (1080P), it blurs alot with quick movement, i mean really alot.



I can confirm that it blurs ALOT with quick movement even on 5000 bitrate... but the performance is great even on 60 fps.


----------



## ExitSign (Jan 7, 2014)

*Re: 0.60 test build 5*

Small bug in latest build (70026e8f3):

- When I enable 'quick sync'. the 'use custom ssettings' checkbox is enabled. But when I disable the quicksync checkbox, the 'use custom settings' checkbox is not disabled again.

- I have a GTX 680, but NVENC is always disabled in this build (70026e8f3). (I have the nvenc.dll and enabled shadow play in GForce experience)
I could enable nvenc in the latests official test build, but it gave an error about it not being supported.

Is there anything else I need?


----------



## Xphome (Jan 7, 2014)

*Re: 0.60 test build 5*



			
				ExitSign said:
			
		

> Small bug in latest build (70026e8f3):
> 
> - When I enable 'quick sync'. the 'use custom ssettings' checkbox is enabled. But when I disable the quicksync checkbox, the 'use custom settings' checkbox is not disabled again.
> 
> ...


You don't need GeForce Experience, all you need is a DLL with license or the DLL that ships with the test build + a license. (And a 600+ card of course)


----------



## ExitSign (Jan 7, 2014)

*Re: 0.60 test build 5*



			
				Xphome said:
			
		

> ExitSign said:
> 
> 
> 
> ...



I have a GTX 680Ti and tried with both the shipped NvEnc dll and the licensed one I downloaded from the url mentioned elsewhere.

The checkbox is always disabled.


----------



## Moony349 (Jan 8, 2014)

*Re: 0.60 test build 5*

I have a GTX 780 and Shadowplay is working.

When I go to preview the stream in OBS it says:

"Encoder initialization failed". Any ideas?


----------



## BtbN (Jan 8, 2014)

*Re: 0.60 test build 5*

Enter a license key or use my version of the DLL.


----------



## KingCobra (Jan 8, 2014)

*Re: 0.60 test build 6*


```
23:41:51: Successfully loaded ObsNvenc.dll
23:41:51: ObsNvenc initialized successfully
23:41:51: CUDA loaded successfully
23:41:51: 1 CUDA capable devices found
23:41:51: [ GPU #0 - < GeForce GTX 670 > has Compute SM 3.0, NVENC Available ]
23:41:51: NVENC internal init finished successfully
23:41:51: nvEncOpenEncodeSessionEx failed - invalid license key?
23:41:51: Couldn't initialize encoder
```


----------



## Xphome (Jan 8, 2014)

*Re: 0.60 test build 6*



			
				KingCobra said:
			
		

> ```
> 23:41:51: Successfully loaded ObsNvenc.dll
> 23:41:51: ObsNvenc initialized successfully
> 23:41:51: CUDA loaded successfully
> ...


Do you have a license or are you using the DLL BtbN provided? Otherwise it won't work.


----------



## Joe33345 (Jan 8, 2014)

*Re: 0.60 test build 6*

Everybody that needs the DLL go back to Page 2 on this Thread and scroll to the bottom. A user has provided the DLL needed :-)


----------



## KingCobra (Jan 8, 2014)

*Re: 0.60 test build 6*



			
				Xphome said:
			
		

> Do you have a license or are you using the DLL BtbN provided? Otherwise it won't work.


i try to use dlls from 2nd page and dll from archive with test build, both dont work on 32 and 64 bits


----------



## ExitSign (Jan 8, 2014)

*Re: 0.60 test build 5*



			
				BtbN said:
			
		

> The newest test build contains support for Nvidia NVENC.
> In order to use it you either need to set the environment variable NVENC_KEY with a valid nvenc license key in standard GUID/CLSID format, or download a precompiled binary with a license key already built in.
> 
> You can download them here:
> ...




It doesn't work!

I just pulled the latest code from github, compiled. Copied the dll over. but nothing. Always greyed out.

Are there any logs from the init/startup process available? I don't see anything in the normal log file directory.

edit: Same when I use your latest test build binaries (not compile it myself) + the linked dll

edit2: just checked with the guys on IRC. Probably the licensed 64 bit version of NvEnc (from BtBn) is broken.

Everything seems to work on 32 bit, but on 64 bit it complains about license.

Here is the log (I forced the checkbox ON in the code):

00:40:14: Successfully loaded ObsNvenc.dll
00:40:14: ObsNvenc initialized successfully
00:40:14: CUDA loaded successfully
00:40:14: >> cuInit(0) - failed with error code 0x3e7
00:40:14: Couldn't initialize encoder
00:40:14: Number of times waited to send: 0, Waited for a total of 0 bytes
00:40:14: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
00:40:14: Number of bytes sent: 0
00:40:14: =====Stream End: 2014-01-09, 00:40:14=================================================


----------



## Furyliciouz (Jan 8, 2014)

*Re: 0.60 test build 6*

Hi,

so I tried *NVENC* out and stream on twitch wont load at all. Is that on purpose, on twitch's end or did i do something wrong?


```
23:37:35: Open Broadcaster Software v0.60b test build 6 - 64bit (　^ω^)
23:37:35: -------------------------------
23:37:35: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
23:37:35: CPU Speed: 3392MHz
23:37:35: Physical Memory:  8025MB Total, 5446MB Free
23:37:35: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
23:37:35: monitor 1: pos={0, 0}, size={1920, 1080}
23:37:35: monitor 2: pos={-1920, 0}, size={1920, 1080}
23:37:35: Windows Version: 6.2 Build 9200 
23:37:35: Aero is Enabled
23:37:35: -------------------------------
23:37:35: OBS Modules:
23:37:35: Base Address     Module
23:37:35: 0000000068890000 OBS.exe
23:37:35: 0000000009950000 OBSApi.dll
23:37:35: 000000000E670000 DShowPlugin.dll
23:37:35: 000000000D380000 GraphicsCapture.dll
23:37:35: 000000000D580000 NoiseGate.dll
23:37:35: 000000000D360000 PSVPlugin.dll
23:37:35: ------------------------------------------
23:37:35: Adapter 1
23:37:35:   Video Adapter: NVIDIA GeForce GTX 660 Ti
23:37:35:   Video Adapter Dedicated Video Memory: 2086469632
23:37:35:   Video Adapter Shared System Memory: 2147807232
23:37:35:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
23:37:35:   Video Adapter Output 2: pos={-1920, 0}, size={1920, 1080}, attached=true
23:37:35: ------------------------------------------
23:37:35: Adapter 2
23:37:35:   Video Adapter: Intel(R) HD Graphics 4000
23:37:35:   Video Adapter Dedicated Video Memory: 100663296
23:37:35:   Video Adapter Shared System Memory: 1778384896
23:37:35: =====Stream Start: 2014-01-08, 23:37:35===============================================
23:37:35:   Multithreaded optimizations: On
23:37:35:   Base resolution: 852x480
23:37:35:   Output resolution: 852x480
23:37:35: ------------------------------------------
23:37:35: Loading up D3D10 on NVIDIA GeForce GTX 660 Ti (Adapter 1)...
23:37:35: ------------------------------------------
23:37:35: Audio Format: 44100hz
23:37:35: Playback device Default
23:37:35: ------------------------------------------
23:37:35: Using desktop audio input: Speakers (Realtek High Definition Audio)
23:37:35: ------------------------------------------
23:37:35: Using auxilary audio input: CABLE Output (VB-Audio Virtual Cable)
23:37:35: ------------------------------------------
23:37:35: Audio Encoding: AAC
23:37:35:     bitrate: 128
23:37:35: Using graphics capture
23:37:35: Using Window Capture
23:37:35: Using Window Capture
23:37:35: Using bitmap image
23:37:35: Scene buffering time set to 700
23:37:35: Successfully loaded ObsNvenc.dll
23:37:35: ObsNvenc initialized successfully
23:37:35: CUDA loaded successfully
23:37:35: 1 CUDA capable devices found
23:37:35: [ GPU #0 - < GeForce GTX 660 Ti > has Compute SM 3.0, NVENC Available ]
23:37:35: NVENC internal init finished successfully
23:37:35: NVENC supports 7 h264 presets
23:37:35: ------------------------------------------
23:37:35: Video Encoding: NVENC
23:37:35:     fps: 60
23:37:35:     width: 852, height: 480
23:37:35:     preset: llhq
23:37:35:     profile: high
23:37:35:     level: autoselect
23:37:35:     keyint: 120
23:37:35:     CBR: yes
23:37:35:     CFR: no
23:37:35:     max bitrate: 1000
23:37:35:     buffer size: 1000
23:37:35: ------------------------------------------
23:37:35: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 384000, samples per sec is 48000
23:37:35: MMDeviceAudioSource: Frequency for device 'CABLE Output (VB-Audio Virtual Cable)' is 352800, samples per sec is 44100
23:37:35: SharedTexCapture hooked
23:37:37: Using RTMP service: Twitch / Justin.tv
23:37:37:   Server selection: rtmp://live-ams.justin.tv/app
23:37:37:   Interface: Realtek PCI GBE Family Controller (ethernet, 100 mbps)
23:37:37: Completed handshake with rtmp://live-ams.justin.tv/app in 488 ms.
23:37:38: SO_SNDBUF was at 65536
23:37:38: SO_SNDBUF is now 65536
23:37:39: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 0 / 144384)
23:37:43: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 0 / 144384)
23:42:56: Total frames encoded: 19204, total frames duplicated: 4 (0.02%)
23:42:56: Total frames rendered: 19212, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
23:42:56: RTMPPublisher::SocketLoop: Graceful loop exit
23:42:56: Average send payload: 2254 bytes, average send interval: 22 ms
23:42:56: Number of times waited to send: 0, Waited for a total of 0 bytes
23:42:56: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
23:42:56: Number of bytes sent: 31854538
23:42:56: Encoder closed
23:42:56: NVENC deinitialized
23:42:56: 
23:42:56: Profiler time results:
23:42:56: 
23:42:56: ==============================================================
23:42:56: video thread frame - [100%] [avg time: 0.9 ms] [children: 54.6%] [unaccounted: 45.4%]
23:42:56: | scene->Preprocess - [47.2%] [avg time: 0.425 ms]
23:42:56: | GPU download and conversion - [7.33%] [avg time: 0.066 ms] [children: 5.33%] [unaccounted: 2%]
23:42:56: | | flush - [2.78%] [avg time: 0.025 ms]
23:42:56: | | CopyResource - [2.22%] [avg time: 0.02 ms]
23:42:56: | | conversion to 4:2:0 - [0.333%] [avg time: 0.003 ms]
23:42:56: Convert444Threads - [100%] [avg time: 0.2 ms] [children: 99%] [unaccounted: 1%]
23:42:56: | Convert444toNV12 - [99%] [avg time: 0.198 ms]
23:42:56: encoder thread frame - [100%] [avg time: 4.177 ms]
23:42:56: ==============================================================
23:42:56: 
23:42:56: 
23:42:56: Profiler CPU results:
23:42:56: 
23:42:56: ==============================================================
23:42:56: video thread frame - [cpu time: avg 0.394 ms, total 7578.13 ms] [avg calls per frame: 1]
23:42:56: | scene->Preprocess - [cpu time: avg 0.006 ms, total 125 ms] [avg calls per frame: 1]
23:42:56: | GPU download and conversion - [cpu time: avg 0.094 ms, total 1812.5 ms] [avg calls per frame: 1]
23:42:56: | | flush - [cpu time: avg 0.037 ms, total 718.75 ms] [avg calls per frame: 1]
23:42:56: | | CopyResource - [cpu time: avg 0.03 ms, total 593.75 ms] [avg calls per frame: 1]
23:42:56: | | conversion to 4:2:0 - [cpu time: avg 0.008 ms, total 171.875 ms] [avg calls per frame: 1]
23:42:56: Convert444Threads - [cpu time: avg 0.304 ms, total 11687.5 ms] [avg calls per frame: 2]
23:42:56: | Convert444toNV12 - [cpu time: avg 0.304 ms, total 11687.5 ms] [avg calls per frame: 2]
23:42:56: encoder thread frame - [cpu time: avg 0.002 ms, total 46.875 ms] [avg calls per frame: 1]
23:42:56: ==============================================================
23:42:56: 
23:42:56: =====Stream End: 2014-01-08, 23:42:56=================================================
```

Any help is appreciated :)

Edit: Bold part is new, should have written that from the start.. silly me
Edit2: Past Broadcast but it got recorded...


----------



## Floatingthru (Jan 9, 2014)

*Re: 0.60 test build 6*

Furyliciouz everything looks like its working just fine. If you can't load your own stream then its an issue with twitch I suppose. Especially if there is a vod of the stream afterwards.


----------



## BtbN (Jan 9, 2014)

*Re: 0.60 test build 6*

"CFR: no"

You realy do want a constant framerate.


----------



## xiuide (Jan 9, 2014)

*Re: 0.60 test build 6*

I've got NvEnc working fine, but like others have reported there is a sever lack of quality associated with it at this moment. I am really looking forward to seeing what it can do though.

As an aside, It didn't like trying to encode 1080p@60 on my GTX 660 (non ti) which makes me a sad camper :(


----------



## BtbN (Jan 9, 2014)

*Re: 0.60 test build 6*

All possible options are now exported and imported via two xconfig files in %appdata%\OBS , so everyone who likes can try to finetune the encoding quality.
The last_nvenc_config.xconfig file allways contains the options used on the last init. The nvenc_config.xconfig can be used to override some/all options. It uses the same format. Omitting an option in nvenc_config just leaves it unchanged from the preset default.


----------



## Floatingthru (Jan 9, 2014)

*Re: 0.60 test build 6*

xiuide - Can you post a log file of you trying those settings? https://obsproject.com/forum/viewtopic.php?f=5&t=97 read that if you don't know how.


----------



## xiuide (Jan 9, 2014)

*Re: 0.60 test build 6*

http://pastebin.com/1DgVxk4s

there ya go, all shiny and loggy like

The highest I can go resolution wise seems to be 720p anything past that and I get the can't keep up error. Tried several framerates on that as well.


----------



## rakunvar (Jan 9, 2014)

*Re: 0.60 test build 6*

I'm like pretty Newb to the Nvenc lol so I'm going through all the settings and reading about them in the NVENC_RefManual. I have however been playing with Shadowplay and learning about it a lot lately.

I came across enableEncodeAsync and enablePTD and the Manual is saying: 
The client should set NV_ENC_INITIALIZE_PARAMS::enablePTD to 1 for allowing the 
HW encoder to take Picture-type decision. Set it to 0 if client wants to decide picture 
type for encoded output. 

Note: NV_ENC_INITIALIZE_PARAMS::enableEncodeAsync == 0 and 
NV_ENC_INITIALIZE_PARAMS:: enablePTD == 1 are not a compatible combination. 

In the stock setting PTD is set @ 1, should I put it to 0 or am I just over-reading into things atm lol?


----------



## BtbN (Jan 9, 2014)

*Re: 0.60 test build 6*

enablePTD and enableEncodeAsync are the only two settings i ignore when reading back the configure file.

enablePTD controls wether nvenc automaticaly decides the picture type(I/P/B), and async mode is a diffrent mode of operation which i simply decided not to use.

PTD has to be on, and asyncMode has to be off, otherwise the whole code wouldn't work at all.
I haven't read anything about this beeing not a compatible combination. It works fine, so i assume that information is outdated.


----------



## rakunvar (Jan 9, 2014)

*Re: 0.60 test build 6*

Alright :) Will do, thanks for the assitance and the work put into this ^^ Just figured I should ask was all.


----------



## Floatingthru (Jan 9, 2014)

*Re: 0.60 test build 6*



			
				xiuide said:
			
		

> http://pastebin.com/1DgVxk4s
> 
> there ya go, all shiny and loggy like
> 
> The highest I can go resolution wise seems to be 720p anything past that and I get the can't keep up error. Tried several framerates on that as well.



Yeah, so the preset llhq (low latency high quality) is really only meant for 720p as it is really taxing on the chip for whatever reason. If you want to do 1080p@60fps go to advanced settings in obs, tick and enable custom x264 encoder settings, then enter "hq" without the quotes in the field. This will change the preset of nvenc to one that will be able to handle the encoding. Since most people won't look at the github commits ill post the other presets here.

"hp" = high performance
"hq" = high quality
"bd" = bluray disk
"ll" = low latency
"llhp" = low latency high performance
"llhq" = low latency high quality (current default preset if you enter no custom settings)
"default" = default

Feel free to mess around with them all if you would like. Preset "hq" is good for 1080p@60fps up to around 50000 bitrate.
Higher the bitrate the more the encoder will chug and start to duplicate frames, so keep that in mind while testing.


----------



## Grue (Jan 9, 2014)

*Re: 0.60 test build 6*

Ok so this option rateControlMode : 2 to which of these parameters corresponds?

NV_ENC_PARAMS_RC_CONSTQP   Constant QP mode
NV_ENC_PARAMS_RC_VBR   Variable bitrate mode
NV_ENC_PARAMS_RC_CBR   Constant bitrate mode
NV_ENC_PARAMS_RC_VBR_MINQP   Variable bitrate mode with MinQP
NV_ENC_PARAMS_RC_TWOPASS_CBR   Constant bitrate mode using two pass encoding

From what I read NV_ENC_PARAMS_RC_TWOPASS_CBR is best quality and CLOUD_GAMING_720p30 is the highest quality preset...


----------



## BtbN (Jan 9, 2014)

*Re: 0.60 test build 6*

No idea where you got these names from, but half of these don't exist.

RC modes are here: https://github.com/jp9000/OBS/blob/mast ... API.h#L290
And Presets here: https://github.com/jp9000/OBS/blob/mast ... API.h#L241


----------



## Grue (Jan 9, 2014)

*Re: 0.60 test build 6*



			
				BtbN said:
			
		

> No idea where you got these names from, but half of these don't exist.
> 
> RC modes are here: https://github.com/jp9000/OBS/blob/mast ... API.h#L290
> And Presets here: https://github.com/jp9000/OBS/blob/mast ... API.h#L241



From here:
https://developer.nvidia.com/sites/defa ... l_v2.0.pdf
https://developer.nvidia.com/sites/defa ... ppNote.pdf
https://developer.nvidia.com/sites/defa ... gGuide.pdf


----------



## BtbN (Jan 9, 2014)

*Re: 0.60 test build 6*

Those are outdated, the current API is version 3.0.


----------



## Boildown (Jan 9, 2014)

*Re: 0.60 test build 6*

The low latency presets are probably adaptations of the zero latency tune (or part of it) from x264: http://mewiki.project357.com/wiki/X264_ ... er_latency

But with Twitch adding a ton of latency on its own side, a extra second or two of encoder latency is pretty much immaterial.  Probably better off not using the low latency presets.


----------



## Furyliciouz (Jan 9, 2014)

*Re: 0.60 test build 6*



			
				BtbN said:
			
		

> "CFR: no"
> 
> You realy do want a constant framerate.



Switched it off because it didnt load, thought it might be that, i normally have it enabled. :)
Got a PM on Twitch from someone who said it loaded completely fine, so it was on Twitchs end.

Sorry for stealing some time from you.


*Edit: Stream is on right now, still wont show up for me :(*


----------



## Gol D. Ace (Jan 9, 2014)

*Re: 0.60 test build 6*

Your stream is also not loading for me.


----------



## Furyliciouz (Jan 9, 2014)

*Re: 0.60 test build 6*



			
				Gol D. Ace said:
			
		

> Your stream is also not loading for me.



That makes me sad :(


```
20:25:38: Open Broadcaster Software v0.60b test build 6 - 64bit (　^ω^)
20:25:38: -------------------------------
20:25:38: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
20:25:38: CPU Speed: 3392MHz
20:25:38: Physical Memory:  8025MB Total, 5879MB Free
20:25:38: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
20:25:38: monitor 1: pos={0, 0}, size={1920, 1080}
20:25:38: monitor 2: pos={-1920, 0}, size={1920, 1080}
20:25:38: Windows Version: 6.2 Build 9200 
20:25:38: Aero is Enabled
20:25:38: -------------------------------
20:25:38: OBS Modules:
20:25:38: Base Address     Module
20:25:38: 00000000D96A0000 OBS.exe
20:25:38: 00000000A3E20000 OBSApi.dll
20:25:38: 00000000A54E0000 DShowPlugin.dll
20:25:38: 00000000A3760000 GraphicsCapture.dll
20:25:38: 00000000A54C0000 NoiseGate.dll
20:25:38: 00000000A3E00000 PSVPlugin.dll
20:25:38: ------------------------------------------
20:25:38: Adapter 1
20:25:38:   Video Adapter: NVIDIA GeForce GTX 660 Ti
20:25:38:   Video Adapter Dedicated Video Memory: 2086469632
20:25:38:   Video Adapter Shared System Memory: 2147807232
20:25:38:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
20:25:38:   Video Adapter Output 2: pos={-1920, 0}, size={1920, 1080}, attached=true
20:25:38: ------------------------------------------
20:25:38: Adapter 2
20:25:38:   Video Adapter: Intel(R) HD Graphics 4000
20:25:38:   Video Adapter Dedicated Video Memory: 100663296
20:25:38:   Video Adapter Shared System Memory: 1778384896
20:25:38: =====Stream Start: 2014-01-09, 20:25:38===============================================
20:25:38:   Multithreaded optimizations: On
20:25:38:   Base resolution: 1920x1080
20:25:38:   Output resolution: 1280x720
20:25:38: ------------------------------------------
20:25:38: Loading up D3D10 on NVIDIA GeForce GTX 660 Ti (Adapter 1)...
20:25:38: ------------------------------------------
20:25:38: Audio Format: 44100hz
20:25:38: Playback device Default
20:25:38: ------------------------------------------
20:25:38: Using desktop audio input: Speakers (Realtek High Definition Audio)
20:25:38: ------------------------------------------
20:25:38: Using auxilary audio input: CABLE Output (VB-Audio Virtual Cable)
20:25:38: ------------------------------------------
20:25:38: Audio Encoding: AAC
20:25:38:     bitrate: 128
20:25:38: Using Window Capture
20:25:38: Using graphics capture
20:25:38: Using Window Capture
20:25:38: Using bitmap image
20:25:38: Scene buffering time set to 700
20:25:38: NVENC internal init finished successfully
20:25:38: NVENC supports 7 h264 presets
20:25:38: ------------------------------------------
20:25:38: Video Encoding: NVENC
20:25:38:     fps: 60
20:25:38:     width: 1280, height: 720
20:25:38:     preset: llhq
20:25:38:     profile: high
20:25:38:     level: autoselect
20:25:38:     keyint: 120
20:25:38:     CBR: yes
20:25:38:     CFR: yes
20:25:38:     max bitrate: 2000
20:25:38:     buffer size: 2000
20:25:38: ------------------------------------------
20:25:38: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 384000, samples per sec is 48000
20:25:38: MMDeviceAudioSource: Frequency for device 'CABLE Output (VB-Audio Virtual Cable)' is 352800, samples per sec is 44100
20:25:38: SharedTexCapture hooked
20:25:40: Using RTMP service: Twitch / Justin.tv
20:25:40:   Server selection: rtmp://live-fra.justin.tv/app
20:25:40:   Interface: Realtek PCI GBE Family Controller (ethernet, 100 mbps)
20:25:40: Completed handshake with rtmp://live-fra.justin.tv/app in 435 ms.
20:25:41: SO_SNDBUF was at 65536
20:25:41: SO_SNDBUF is now 65536
20:25:44: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 29126 / 272384)
20:25:46: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 0 / 272384)
20:38:50: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 524288 (buffer: 0 / 272384)
20:43:12: Total frames encoded: 63203, total frames duplicated: 153 (0.24%)
20:43:12: Total frames rendered: 63207, number of late frames: 3 (0.00%) (it's okay for some frames to be late)
20:43:12: RTMPPublisher::SocketLoop: Graceful loop exit
20:43:13: Average send payload: 3311 bytes, average send interval: 22 ms
20:43:13: Number of times waited to send: 0, Waited for a total of 0 bytes
20:43:13: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
20:43:13: Number of bytes sent: 157876549
20:43:13: 
20:43:13: Profiler time results:
20:43:13: 
20:43:13: ==============================================================
20:43:13: video thread frame - [100%] [avg time: 1.102 ms] [children: 55.5%] [unaccounted: 44.5%]
20:43:13: | scene->Preprocess - [47.7%] [avg time: 0.526 ms]
20:43:13: | GPU download and conversion - [7.8%] [avg time: 0.086 ms] [children: 6.26%] [unaccounted: 1.54%]
20:43:13: | | flush - [3.09%] [avg time: 0.034 ms]
20:43:13: | | CopyResource - [1.63%] [avg time: 0.018 ms]
20:43:13: | | conversion to 4:2:0 - [1.54%] [avg time: 0.017 ms]
20:43:13: Convert444Threads - [100%] [avg time: 0.378 ms] [children: 99.5%] [unaccounted: 0.529%]
20:43:13: | Convert444toNV12 - [99.5%] [avg time: 0.376 ms]
20:43:13: encoder thread frame - [100%] [avg time: 8.834 ms]
20:43:13: ==============================================================
20:43:13: 
20:43:13: 
20:43:13: Profiler CPU results:
20:43:13: 
20:43:13: ==============================================================
20:43:13: video thread frame - [cpu time: avg 0.913 ms, total 57718.8 ms] [avg calls per frame: 1]
20:43:13: | scene->Preprocess - [cpu time: avg 0.636 ms, total 40250 ms] [avg calls per frame: 1]
20:43:13: | GPU download and conversion - [cpu time: avg 0.082 ms, total 5203.13 ms] [avg calls per frame: 1]
20:43:13: | | flush - [cpu time: avg 0.043 ms, total 2765.63 ms] [avg calls per frame: 1]
20:43:13: | | CopyResource - [cpu time: avg 0.014 ms, total 906.25 ms] [avg calls per frame: 1]
20:43:13: | | conversion to 4:2:0 - [cpu time: avg 0.006 ms, total 437.5 ms] [avg calls per frame: 1]
20:43:13: Convert444Threads - [cpu time: avg 0.594 ms, total 75046.9 ms] [avg calls per frame: 2]
20:43:13: | Convert444toNV12 - [cpu time: avg 0.592 ms, total 74859.4 ms] [avg calls per frame: 2]
20:43:13: encoder thread frame - [cpu time: avg 0.035 ms, total 2250 ms] [avg calls per frame: 1]
20:43:13: ==============================================================
20:43:13: 
20:43:13: =====Stream End: 2014-01-09, 20:43:13=================================================
20:43:20: =====Stream End: 2014-01-09, 20:43:20=================================================
```

Log from now, should all be fine tho.


----------



## hedsht (Jan 9, 2014)

*Re: 0.60 test build 6*


```
20:56:02: Open Broadcaster Software v0.60b test build 6 - 64bit (　^ω^)
20:56:02: -------------------------------
20:56:02: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
20:56:02: CPU Speed: 3500MHz
20:56:02: Physical Memory:  16303MB Total, 12059MB Free
20:56:02: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
20:56:02: monitor 1: pos={0, 0}, size={1920, 1080}
20:56:02: monitor 2: pos={-1024, 0}, size={1024, 1280}
20:56:02: Windows Version: 6.2 Build 9200 
20:56:02: Aero is Enabled
20:56:02: -------------------------------
20:56:02: OBS Modules:
20:56:02: Base Address     Module
20:56:02: 00000000DE6F0000 OBS.exe
20:56:02: 00000000AF580000 OBSApi.dll
20:56:02: 00000000B0F00000 DShowPlugin.dll
20:56:02: 00000000B0E80000 GraphicsCapture.dll
20:56:02: 00000000B1050000 NoiseGate.dll
20:56:02: 00000000B0FD0000 PSVPlugin.dll
20:56:02: ------------------------------------------
20:56:02: Adapter 1
20:56:02:   Video Adapter: NVIDIA GeForce GTX 780
20:56:02:   Video Adapter Dedicated Video Memory: 3107815424
20:56:02:   Video Adapter Shared System Memory: 4252649472
20:56:02:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
20:56:02:   Video Adapter Output 2: pos={-1024, 0}, size={1024, 1280}, attached=true
20:56:02: ------------------------------------------
20:56:02: Adapter 2
20:56:02:   Video Adapter: Intel(R) HD Graphics 4600
20:56:02:   Video Adapter Dedicated Video Memory: 0
20:56:02:   Video Adapter Shared System Memory: 1879048192
20:56:02: =====Stream Start: 2014-01-09, 20:56:02===============================================
20:56:02:   Multithreaded optimizations: On
20:56:02:   Base resolution: 1920x1080
20:56:02:   Output resolution: 1920x1080
20:56:02: ------------------------------------------
20:56:02: Loading up D3D10 on NVIDIA GeForce GTX 780 (Adapter 1)...
20:56:02: ------------------------------------------
20:56:02: Audio Format: 44100hz
20:56:02: Playback device Default
20:56:02: ------------------------------------------
20:56:02: Using desktop audio input: Lautsprecher (ASUS Xonar Essence STX Audio Device)
20:56:02: ------------------------------------------
20:56:02: Using auxilary audio input: Mikrofon (Logitech G930 Headset)
20:56:02: ------------------------------------------
20:56:02: Audio Encoding: AAC
20:56:02:     bitrate: 128
20:56:02: Using graphics capture
20:56:02: Scene buffering time set to 700
20:56:02: NVENC internal init finished successfully
20:56:02: NVENC supports 7 h264 presets
20:56:02: ------------------------------------------
20:56:02: Video Encoding: NVENC
20:56:02:     fps: 60
20:56:02:     width: 1920, height: 1080
20:56:02:     preset: llhq
20:56:02:     profile: high
20:56:02:     level: autoselect
20:56:02:     keyint: 120
20:56:02:     CBR: yes
20:56:02:     CFR: yes
20:56:02:     max bitrate: 4000
20:56:02:     buffer size: 4000
20:56:02: ------------------------------------------
20:56:02: MMDeviceAudioSource: Frequency for device 'Lautsprecher (ASUS Xonar Essence STX Audio Device)' is 352800, samples per sec is 44100
20:56:02: MMDeviceAudioSource: Frequency for device 'Mikrofon (Logitech G930 Headset)' is 64000, samples per sec is 16000
20:56:18: Total frames encoded: 869, total frames duplicated: 480 (55.24%)
20:56:18: Number of frames skipped due to encoder lag: 399 (45.91%)
20:56:18: Total frames rendered: 450, number of late frames: 4 (0.89%) (it's okay for some frames to be late)
20:56:19: Encoder closed
20:56:19: NVENC deinitialized
20:56:19: 
20:56:19: Profiler time results:
20:56:19: 
20:56:19: ==============================================================
20:56:19: video thread frame - [100%] [avg time: 6.23 ms] [children: 75.1%] [unaccounted: 24.9%]
20:56:19: | scene->Preprocess - [0.0321%] [avg time: 0.002 ms]
20:56:19: | GPU download and conversion - [75.1%] [avg time: 4.677 ms] [children: 83.9%] [unaccounted: -8.78%]
20:56:19: | | flush - [1.38%] [avg time: 0.086 ms]
20:56:19: | | CopyResource - [7.11%] [avg time: 0.443 ms]
20:56:19: | | conversion to 4:2:0 - [75.4%] [avg time: 4.695 ms]
20:56:19: Convert444Threads - [100%] [avg time: 1.997 ms] [children: 99.7%] [unaccounted: 0.3%]
20:56:19: | Convert444toNV12 - [99.7%] [avg time: 1.991 ms]
20:56:19: encoder thread frame - [100%] [avg time: 16.748 ms]
20:56:19: ==============================================================
20:56:19: 
20:56:19: 
20:56:19: Profiler CPU results:
20:56:19: 
20:56:19: ==============================================================
20:56:19: video thread frame - [cpu time: avg 0.659 ms, total 296.875 ms] [avg calls per frame: 1]
20:56:19: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
20:56:19: | GPU download and conversion - [cpu time: avg 0.208 ms, total 93.75 ms] [avg calls per frame: 1]
20:56:19: | | flush - [cpu time: avg 0.173 ms, total 78.125 ms] [avg calls per frame: 1]
20:56:19: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
20:56:19: | | conversion to 4:2:0 - [cpu time: avg 0.038 ms, total 15.625 ms] [avg calls per frame: 1]
20:56:19: Convert444Threads - [cpu time: avg 2.259 ms, total 1812.5 ms] [avg calls per frame: 2]
20:56:19: | Convert444toNV12 - [cpu time: avg 2.259 ms, total 1812.5 ms] [avg calls per frame: 2]
20:56:19: encoder thread frame - [cpu time: avg 0.566 ms, total 468.75 ms] [avg calls per frame: 1]
20:56:19: ==============================================================
20:56:19: 
20:56:19: =====Stream End: 2014-01-09, 20:56:19=================================================
20:56:52: =====Stream End: 2014-01-09, 20:56:52=================================================
```

I'm trying to record BF4 in Fullscreen with NVENC, but whenever i go ingame, OBS (64bit) tells me that it takes too long to encode and is skipping frames.

Any idea? Is there something wrong with the settings?

Edit: i figured it out: had to disable shadowplay in geforce experience, afterwards it worked, BUT i only get around 10-12 fps during recording while i get 130 fps ingame (fps cap in bf4 config)!?


----------



## Floatingthru (Jan 9, 2014)

*Re: 0.60 test build 6*

^


> Yeah, so the preset llhq (low latency high quality) is really only meant for 720p as it is really taxing on the chip for whatever reason. If you want to do 1080p@60fps go to advanced settings in obs, tick and enable custom x264 encoder settings, then enter "hq" without the quotes in the field. This will change the preset of nvenc to one that will be able to handle the encoding. Since most people won't look at the github commits ill post the other presets here.
> 
> "hp" = high performance
> "hq" = high quality
> ...


----------



## Xphome (Jan 9, 2014)

*Re: 0.60 test build 6*



			
				hedsht said:
			
		

> ```
> 20:56:02: Open Broadcaster Software v0.60b test build 6 - 64bit (　^ω^)
> 20:56:02: -------------------------------
> 20:56:02: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
> ...



Try using the custom x264 encoder setting "hq" without quotes.

EDIT: Floatingthru was faster.


----------



## xiuide (Jan 9, 2014)

*Re: 0.60 test build 6*

played around with hq, hp, and bd presets for 1080p@60

bd yielded the best results quality wise and was on-par with performance with hq
hp is a straight up no-go for Id say just about anything.

so if your looking for 1080p try both bd and hq. I saw maybe 2-3 less FPS using bd over hq but the quality bar is higher with the bd (as is to be expected) so if you dont mind a marginal FPS hit for a better looking stream, bd is the way to go, id say.


----------



## BtbN (Jan 10, 2014)

*Re: 0.60 test build 6*

I switched to the llhq preset because it looked better than the normal hq preset.

Here are two test recordings:
https://btbn.de/files/nvenc0_hq.flv
https://btbn.de/files/nvenc0_llhq.flv

Maybe i should change it back to hq, because so many people hit the performance limit with llhq.


----------



## Xphome (Jan 10, 2014)

*Re: 0.60 test build 6*



			
				BtbN said:
			
		

> I switched to the llhq preset because it looked better than the normal hq preset.
> 
> Here are two test recordings:
> https://btbn.de/files/nvenc0_hq.flv
> ...


HQ might be a better default, the people who want to use LLHQ can always select it.


----------



## Furyliciouz (Jan 10, 2014)

*Re: 0.60 test build 6*

Got it working, switched the Downscale Filter to Bilinear and it worked. :)


----------



## xiuide (Jan 10, 2014)

*Re: 0.60 test build 6*

llhq for sure looks better, but anyone "serious" (i use it loosely, to not offend) about streaming probably wants/strives to stream at 1080p when they can, so Id vote for making the default hq if nothing else due to it being more "out of the box" friendly, I.E. some one like me not realizing that the default setting cant hit that high.


----------



## Blackhive (Jan 10, 2014)

*Re: 0.60 test build 6*

was looking into the code and my logs a bit and noticed the level="autoselect", which is defined as NV_ENC_LEVEL_AUTOSELECT         = 0,

What would be the preferred level for streaming or recording? id like to mess around with different level presets and cant without changing the code in NVEncoder.cpp

maybe autoselect isn't the best option? i was looking around also and found this thread:
viewtopic.php?f=5&t=4448
which uses level=3.1 on all of the settings. 

if this is the case, we would need to relay level=31 to nvenc somehow due to the following code which converts 31 to 3.1:


> String level = "unknown";
> if (encodeConfig.encodeCodecConfig.h264Config.level == 0)
> level = "autoselect";
> else if (encodeConfig.encodeCodecConfig.h264Config.level <= 51)
> ...



but alas, there is no way to define level to nvenc 

I have my own code changed and compiled fine, but I can't test it due to no license key, and cant use the dll because NVEncoder.cpp is part of the dll ;/

Also something noteworthy from here:
https://developer.nvidia.com/sites/defa ... ppNote.pdf


> 2.3 Quality
> NVENC hardware has been designed to provide quality comparable to x264 [5] (an open
> source H.264 encode library) with much higher performance. The comparable x264
> preset used for quality comparison between NVENC, x264 and other competitive
> ...


----------



## dodgepong (Jan 10, 2014)

*Re: 0.60 test build 6*

If you're "serious" about streaming, you'll strive for the best ratio of resolution to bit rate at a quality that is watchable by a wide audience. That may or may not be 1080p, and it may or may not be 60fps. Certainly it's not going to be 1080p60. But 1080p is not a "Holy Grail" of streaming. I'd rather something look good in lower resolution than bad in higher resolution, and that's up to the streamer to find where that optimal place is.


----------



## Senshin (Jan 10, 2014)

*Re: 0.60 test build 6*

Hello, after some more testing I have some small results:

For the best quality bd, hq and llhq do all a great job, it's hard to say what one is best but i am leaning to BD for now.

llhq uses almost 50% of his video engine when using 1080P @ 30 FPS.
I hoped it would compress the video more for better quality but no

This build 6 the Nvenc has a better quality ratio then the quick sync alternative, still cpu encoding kicks ass.

For people that wanna know how i see my video engine, how much % is uses of it capacity.
Download the tool openhardwaremonitor to see for yourselfs.


----------



## xiuide (Jan 10, 2014)

*Re: 0.60 test build 6*



			
				dodgepong said:
			
		

> If you're "serious" about streaming, you'll strive for the best ratio of resolution to bit rate at a quality that is watchable by a wide audience. That may or may not be 1080p, and it may or may not be 60fps. Certainly it's not going to be 1080p60. But 1080p is not a "Holy Grail" of streaming. I'd rather something look good in lower resolution than bad in higher resolution, and that's up to the streamer to find where that optimal place is.



Oh, dont get me wrong, I agree. I was just commenting more on all the talk I see around the web. people claiming to be "serious" streamers and only streaming at 1080p etc etc. I personally never stream at 1080p I just wanted to test out nvenc. I usually go with 1.25 scaling and a modest bitrate that most should be able to consume.


----------



## Smashbro29 (Jan 10, 2014)

*Re: 0.60 test build 7*

I ran a preview with test build 5 and it kept my mic going for 36 hours and some change.

I updated to test build 7 and after only about 20-30 minutes the mic was dropped.

This is my sole test build 7 log.


```
03:46:30: Open Broadcaster Software v0.60b test build 7 - 64bit (　^ω^)
03:46:30: -------------------------------
03:46:30: CPU Name: Intel(R) Core(TM) i7-2700K CPU @ 3.50GHz
03:46:30: CPU Speed: 3511MHz
03:46:30: Physical Memory:  16281MB Total, 8141MB Free
03:46:30: stepping id: 7, model 42, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
03:46:30: monitor 1: pos={0, 0}, size={1920, 1080}
03:46:30: monitor 2: pos={-1920, 0}, size={1920, 1080}
03:46:30: Windows Version: 6.2 Build 9200 
03:46:30: Aero is Enabled
03:46:30: -------------------------------
03:46:30: OBS Modules:
03:46:30: Base Address     Module
03:46:30: 000000002F1B0000 OBS.exe
03:46:30: 000000002C110000 OBSApi.dll
03:46:30: 0000000035260000 DShowPlugin.dll
03:46:30: 0000000035740000 GraphicsCapture.dll
03:46:30: 0000000035960000 NoiseGate.dll
03:46:30: 0000000035690000 PSVPlugin.dll
03:46:30: ------------------------------------------
03:46:30: Adapter 1
03:46:30:   Video Adapter: NVIDIA GeForce GTX 680
03:46:30:   Video Adapter Dedicated Video Memory: 2083188736
03:46:30:   Video Adapter Shared System Memory: 2147807232
03:46:30:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
03:46:30:   Video Adapter Output 2: pos={-1920, 0}, size={1920, 1080}, attached=true
03:46:30: ------------------------------------------
03:46:30: Adapter 2
03:46:30:   Video Adapter: Intel(R) HD Graphics 3000
03:46:30:   Video Adapter Dedicated Video Memory: 33554432
03:46:30:   Video Adapter Shared System Memory: 1711276032
03:46:30: =====Stream Start: 2014-01-10, 03:46:30===============================================
03:46:30:   Multithreaded optimizations: On
03:46:30:   Base resolution: 1920x1080
03:46:30:   Output resolution: 1280x720
03:46:30: ------------------------------------------
03:46:30: Loading up D3D10 on NVIDIA GeForce GTX 680 (Adapter 1)...
03:46:30: ------------------------------------------
03:46:30: Audio Format: 48000hz
03:46:30: Playback device {0.0.0.00000000}.{c4f219cc-07bd-400f-b941-2b3229c83b58}
03:46:30: ------------------------------------------
03:46:30: Using desktop audio input: Green Port Front (Realtek High Definition Audio)
03:46:30: ------------------------------------------
03:46:30: Using auxilary audio input: Line In (Scarlett 8i6 USB)
03:46:30: ------------------------------------------
03:46:30: Audio Encoding: AAC
03:46:30:     bitrate: 128
03:46:30: Using bitmap image
03:46:30: ------------------------------------------
03:46:30:     device: CY3014 USB, Analog 01 Capture,
03:46:30:     device id \\?\usb#vid_1164&pid_f531#6&29d3b443&0&3#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340100021f},
03:46:30:     chosen type: YUY2, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 166833-333667
03:46:30:     use buffering: false - 0, fourCC: 'YUY2'
03:46:30:     audio device: CY3014 USB, Analog 01 WaveIn,
03:46:30:     audio device id \\?\usb#vid_1164&pid_f531#6&29d3b443&0&3#{33d9a762-90c8-11d0-bd43-00a0c911ce86}\{6f814be9-9af6-43cf-9249-c0340100031f},
03:46:30: 
03:46:30:     device audio info - bits per sample: 16, channels: 2, samples per sec: 48000, block size: 4
03:46:30: Using directshow input
03:46:31: Using bitmap image
03:46:31: Scene buffering time set to 700
03:46:31: Using custom x264 settings: "bframes=1 keyint=120"
03:46:31: ------------------------------------------
03:46:31: Video Encoding: x264
03:46:31:     fps: 60
03:46:31:     width: 1280, height: 720
03:46:31:     preset: fast
03:46:31:     profile: high
03:46:31:     keyint: 120
03:46:31:     CBR: yes
03:46:31:     CFR: no
03:46:31:     max bitrate: 2500
03:46:31:     buffer size: 2500
03:46:31: ------------------------------------------
03:46:31: MMDeviceAudioSource: Frequency for device 'Green Port Front (Realtek High Definition Audio)' is 384000, samples per sec is 48000
03:46:31: MMDeviceAudioSource: Frequency for device 'Line In (Scarlett 8i6 USB)' is 384000, samples per sec is 48000
03:46:31: 
03:46:31: Profiler result for the last frame:
03:46:31: ==============================================================
03:46:31: video thread frame - [time: 0.964 ms (cpu time: 0 ms)]
03:46:31: | scene->Preprocess - [time: 0.002 ms (cpu time: 0 ms)]
03:46:31: | GPU download and conversion - [time: 0.225 ms (cpu time: 0 ms)]
03:46:31: | | flush - [time: 0.223 ms (cpu time: 0 ms)]
03:46:31: ==============================================================
03:46:31: 
03:46:31: 
03:46:31: Profiler result for the last frame:
03:46:31: ==============================================================
03:46:31: video thread frame - [time: 1.729 ms (cpu time: 0 ms)]
03:46:31: | scene->Preprocess - [time: 0.003 ms (cpu time: 0 ms)]
03:46:31: | GPU download and conversion - [time: 0.278 ms (cpu time: 0 ms)]
03:46:31: | | flush - [time: 0.274 ms (cpu time: 0 ms)]
03:46:31: ==============================================================
03:46:31: 
03:46:31: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 135984777
03:47:12: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
03:56:42: Total frames encoded: 36620, total frames duplicated: 462 (1.26%)
03:56:42: Total frames rendered: 36624, number of late frames: 3 (0.01%) (it's okay for some frames to be late)
03:56:42: 
03:56:42: Profiler time results:
03:56:42: 
03:56:42: ==============================================================
03:56:42: video thread frame - [100%] [avg time: 2.734 ms] [children: 69.6%] [unaccounted: 30.4%]
03:56:42: | scene->Preprocess - [65.9%] [avg time: 1.801 ms]
03:56:42: | GPU download and conversion - [3.77%] [avg time: 0.103 ms] [children: 2.74%] [unaccounted: 1.02%]
03:56:42: | | flush - [1.72%] [avg time: 0.047 ms]
03:56:42: | | CopyResource - [0.914%] [avg time: 0.025 ms]
03:56:42: | | conversion to 4:2:0 - [0.11%] [avg time: 0.003 ms]
03:56:42: Convert444Threads - [100%] [avg time: 0.486 ms] [children: 99%] [unaccounted: 1.03%]
03:56:42: | Convert444toNV12 - [99%] [avg time: 0.481 ms]
03:56:42: encoder thread frame - [100%] [avg time: 0.83 ms]
03:56:42: ==============================================================
03:56:42: 
03:56:42: 
03:56:42: Profiler CPU results:
03:56:42: 
03:56:42: ==============================================================
03:56:42: video thread frame - [cpu time: avg 2.114 ms, total 77453.1 ms] [avg calls per frame: 1]
03:56:42: | scene->Preprocess - [cpu time: avg 1.273 ms, total 46625 ms] [avg calls per frame: 1]
03:56:42: | GPU download and conversion - [cpu time: avg 0.118 ms, total 4328.13 ms] [avg calls per frame: 1]
03:56:42: | | flush - [cpu time: avg 0.039 ms, total 1437.5 ms] [avg calls per frame: 1]
03:56:42: | | CopyResource - [cpu time: avg 0.038 ms, total 1421.88 ms] [avg calls per frame: 1]
03:56:42: | | conversion to 4:2:0 - [cpu time: avg 0.003 ms, total 140.625 ms] [avg calls per frame: 1]
03:56:42: Convert444Threads - [cpu time: avg 0.296 ms, total 21718.8 ms] [avg calls per frame: 2]
03:56:42: | Convert444toNV12 - [cpu time: avg 0.291 ms, total 21359.4 ms] [avg calls per frame: 2]
03:56:42: encoder thread frame - [cpu time: avg 0.083 ms, total 3062.5 ms] [avg calls per frame: 1]
03:56:42: ==============================================================
03:56:42: 
03:56:42: =====Stream End: 2014-01-10, 03:56:42=================================================
03:56:43: =====Stream Start: 2014-01-10, 03:56:43===============================================
03:56:43:   Multithreaded optimizations: On
03:56:43:   Base resolution: 1920x1080
03:56:43:   Output resolution: 1280x720
03:56:43: ------------------------------------------
03:56:43: Loading up D3D10 on NVIDIA GeForce GTX 680 (Adapter 1)...
03:56:43: ------------------------------------------
03:56:43: Audio Format: 48000hz
03:56:43: Playback device {0.0.0.00000000}.{c4f219cc-07bd-400f-b941-2b3229c83b58}
03:56:43: ------------------------------------------
03:56:43: Using desktop audio input: Green Port Front (Realtek High Definition Audio)
03:56:43: ------------------------------------------
03:56:43: Using auxilary audio input: Line In (Scarlett 8i6 USB)
03:56:43: ------------------------------------------
03:56:43: Audio Encoding: AAC
03:56:43:     bitrate: 128
03:56:43: Using bitmap image
03:56:43: ------------------------------------------
03:56:43:     device: CY3014 USB, Analog 01 Capture,
03:56:43:     device id \\?\usb#vid_1164&pid_f531#6&29d3b443&0&3#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340100021f},
03:56:43:     chosen type: YUY2, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 166833-333667
03:56:43:     use buffering: false - 0, fourCC: 'YUY2'
03:56:43:     audio device: CY3014 USB, Analog 01 WaveIn,
03:56:43:     audio device id \\?\usb#vid_1164&pid_f531#6&29d3b443&0&3#{33d9a762-90c8-11d0-bd43-00a0c911ce86}\{6f814be9-9af6-43cf-9249-c0340100031f},
03:56:43: 
03:56:43:     device audio info - bits per sample: 16, channels: 2, samples per sec: 48000, block size: 4
03:56:43: Using directshow input
03:56:43: Using bitmap image
03:56:43: Scene buffering time set to 700
03:56:43: Using custom x264 settings: "bframes=1 keyint=120"
03:56:43: ------------------------------------------
03:56:43: Video Encoding: x264
03:56:43:     fps: 60
03:56:43:     width: 1280, height: 720
03:56:43:     preset: fast
03:56:43:     profile: high
03:56:43:     keyint: 120
03:56:43:     CBR: yes
03:56:43:     CFR: no
03:56:43:     max bitrate: 2500
03:56:43:     buffer size: 2500
03:56:43: ------------------------------------------
03:56:43: MMDeviceAudioSource: Frequency for device 'Green Port Front (Realtek High Definition Audio)' is 384000, samples per sec is 48000
03:56:43: MMDeviceAudioSource: Frequency for device 'Line In (Scarlett 8i6 USB)' is 384000, samples per sec is 48000
03:56:43: 
03:56:43: Profiler result for the last frame:
03:56:43: ==============================================================
03:56:43: video thread frame - [time: 15.647 ms (cpu time: 15.625 ms)]
03:56:43: | scene->Preprocess - [time: 0.005 ms (cpu time: 0 ms)]
03:56:43: | GPU download and conversion - [time: 0.085 ms (cpu time: 0 ms)]
03:56:43: | | flush - [time: 0.082 ms (cpu time: 0 ms)]
03:56:43: ==============================================================
03:56:43: 
03:56:43: 
03:56:43: Profiler result for the last frame:
03:56:43: ==============================================================
03:56:43: video thread frame - [time: 32.391 ms (cpu time: 31.25 ms)]
03:56:43: | scene->Preprocess - [time: 31.04 ms (cpu time: 31.25 ms)]
03:56:43: | GPU download and conversion - [time: 0.034 ms (cpu time: 0 ms)]
03:56:43: | | flush - [time: 0.031 ms (cpu time: 0 ms)]
03:56:43: ==============================================================
03:56:43: 
03:56:43: 
03:56:43: Profiler result for the last frame:
03:56:43: ==============================================================
03:56:43: video thread frame - [time: 2.957 ms (cpu time: 0 ms)]
03:56:43: | scene->Preprocess - [time: 1.907 ms (cpu time: 0 ms)]
03:56:43: | GPU download and conversion - [time: 0.06 ms (cpu time: 0 ms)]
03:56:43: | | flush - [time: 0.057 ms (cpu time: 0 ms)]
03:56:43: ==============================================================
03:56:43: 
03:56:44: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 136597102
03:56:54: CUDA loaded successfully
03:56:54: 1 CUDA capable devices found
03:56:54: [ GPU #0 - < GeForce GTX 680 > has Compute SM 3.0, NVENC Available ]
03:59:34: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
04:30:36: Total frames encoded: 121936, total frames duplicated: 1417 (1.16%)
04:30:36: Total frames rendered: 121941, number of late frames: 4 (0.00%) (it's okay for some frames to be late)
04:30:36: 
04:30:36: Profiler time results:
04:30:36: 
04:30:36: ==============================================================
04:30:36: video thread frame - [100%] [avg time: 2.791 ms] [children: 70.8%] [unaccounted: 29.2%]
04:30:36: | scene->Preprocess - [66.9%] [avg time: 1.866 ms]
04:30:36: | GPU download and conversion - [3.94%] [avg time: 0.11 ms] [children: 2.97%] [unaccounted: 0.967%]
04:30:36: | | flush - [1.9%] [avg time: 0.053 ms]
04:30:36: | | CopyResource - [0.967%] [avg time: 0.027 ms]
04:30:36: | | conversion to 4:2:0 - [0.107%] [avg time: 0.003 ms]
04:30:36: Convert444Threads - [100%] [avg time: 0.502 ms] [children: 98.8%] [unaccounted: 1.2%]
04:30:36: | Convert444toNV12 - [98.8%] [avg time: 0.496 ms]
04:30:36: encoder thread frame - [100%] [avg time: 0.887 ms]
04:30:36: ==============================================================
04:30:36: 
04:30:36: 
04:30:36: Profiler CPU results:
04:30:36: 
04:30:36: ==============================================================
04:30:36: video thread frame - [cpu time: avg 2.118 ms, total 258297 ms] [avg calls per frame: 1]
04:30:36: | scene->Preprocess - [cpu time: avg 1.296 ms, total 158109 ms] [avg calls per frame: 1]
04:30:36: | GPU download and conversion - [cpu time: avg 0.102 ms, total 12500 ms] [avg calls per frame: 1]
04:30:36: | | flush - [cpu time: avg 0.045 ms, total 5562.5 ms] [avg calls per frame: 1]
04:30:36: | | CopyResource - [cpu time: avg 0.029 ms, total 3546.88 ms] [avg calls per frame: 1]
04:30:36: | | conversion to 4:2:0 - [cpu time: avg 0.002 ms, total 312.5 ms] [avg calls per frame: 1]
04:30:36: Convert444Threads - [cpu time: avg 0.329 ms, total 80234.4 ms] [avg calls per frame: 2]
04:30:36: | Convert444toNV12 - [cpu time: avg 0.325 ms, total 79250 ms] [avg calls per frame: 2]
04:30:36: encoder thread frame - [cpu time: avg 0.227 ms, total 27781.3 ms] [avg calls per frame: 1]
04:30:36: ==============================================================
04:30:36: 
04:30:36: =====Stream End: 2014-01-10, 04:30:36=================================================
04:30:37: =====Stream End: 2014-01-10, 04:30:37=================================================
```


----------



## Boildown (Jan 10, 2014)

*Re: 0.60 test build 6*



			
				Blackhive said:
			
		

> The comparable x264 preset used for quality comparison between NVENC, x264 and other competitive
> solutions is as follows (refer to x264 documentation [5]):
> 
> --keyint 30 --no-scenecut --no-chroma-me --fps 30 --preset faster --ref 1 --trellis 0 --
> weightp 0 --b-pyramid normal –bframe n



Nice find.  This is kinda disappointing though, but its important to know.

keyint 30 - This is by default 250 in every x264 preset, although Twitch makes us set it fps x 2.  For saving to disk, this is a significant downgrade over even UltraFast.

no scenecut - Only UltraFast x264 preset uses no scenecut.  Every other x264 preset uses scenecut of 40.

no chroma me - This is enabled in every x264 preset.

1 reference frame - x264 Faster preset normally uses 2 reference frames, only Very Fast and above use 1.

trellis 0 - x264 Faster preset normally uses 1 for trellis.  Only Very Fast and above use trellis 0.

weightp 0 - The only x264 preset to use this is UltraFast.  SuperFast through Fast use weightp 1, and Medium and below use 2.

b-pyramid normal - This is already the default setting for every x264 preset, so not sure why they pointed it out.

bframe n - This seems to mean that bframes can be configured, but later on in the docs it shows that the only NVENC preset to use bframes is HQ.  In x264 every preset from SuperFast through Slower uses 3 b frames.  Only UltraFast has b frames disabled.

*TL;DR*: Although they would like you to believe you're getting Faster-preset type quality, in reality a bunch of basic x264 features included in even UltraFast are turned off, and they use downgraded versions of other things that are in x264 turned on in the Faster preset.  

This makes their quality to bitrate charts pretty bogus.  Because yeah, no doubt x264 loses when those features are turned off.  It would be stupid to turn off all those features while otherwise running x264 at Faster preset settings (or at any preset).

I already stream in higher quality than this can produce.  People who stream at Very Fast preset (the OBS default) should take a hard look, because although they use some Faster features, they turn off other things that are enabled in Faster, Very Fast, Super Fast, and even Ultra Fast.  Their quality is some hybrid that isn't easily quantified, but I wouldn't be surprised if Very Fast is usually higher quality.

Of course, the proof is in the pudding.  Maybe all those turned-off features are stupid and don't matter at all to NVENC, and it can produce a higher than expected quality even with these things turned off.


The thing that NVENC has going for it is obviously speed.  Especially if you don't have Quicksync available to you.  NVENC could enable people to stream who otherwise couldn't.  

I normally save to my hard drive in a second OBS instance at SuperFast quality and a high bitrate, so NVENC may have a role for me here.  I'll see if NVENC can do it at a smaller CPU cost, enabling me to increase the quality of my first OBS instance, which goes to Twitch.


----------



## Smashbro29 (Jan 10, 2014)

*Re: 0.60 test build 7*

For thoroughness's sake I ran another test with test build 5. The mic was lost. So now I'm wondering if my long test from before was a fluke or not.


```
04:30:49: Open Broadcaster Software v0.60b test build 5 - 64bit (　^ω^)
04:30:49: -------------------------------
04:30:49: CPU Name: Intel(R) Core(TM) i7-2700K CPU @ 3.50GHz
04:30:49: CPU Speed: 3511MHz
04:30:49: Physical Memory:  16281MB Total, 8222MB Free
04:30:49: stepping id: 7, model 42, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
04:30:49: monitor 1: pos={0, 0}, size={1920, 1080}
04:30:49: monitor 2: pos={-1920, 0}, size={1920, 1080}
04:30:49: Windows Version: 6.2 Build 9200 
04:30:49: Aero is Enabled
04:30:49: -------------------------------
04:30:49: OBS Modules:
04:30:49: Base Address     Module
04:30:49: 00000000B5450000 OBS.exe
04:30:49: 000000002C150000 OBSApi.dll
04:30:49: 0000000035610000 DShowPlugin.dll
04:30:49: 0000000035270000 GraphicsCapture.dll
04:30:49: 0000000035960000 NoiseGate.dll
04:30:49: 0000000035250000 PSVPlugin.dll
04:30:49: ------------------------------------------
04:30:49: Adapter 1
04:30:49:   Video Adapter: NVIDIA GeForce GTX 680
04:30:49:   Video Adapter Dedicated Video Memory: 2083188736
04:30:49:   Video Adapter Shared System Memory: 2147807232
04:30:49:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
04:30:49:   Video Adapter Output 2: pos={-1920, 0}, size={1920, 1080}, attached=true
04:30:49: ------------------------------------------
04:30:49: Adapter 2
04:30:49:   Video Adapter: Intel(R) HD Graphics 3000
04:30:49:   Video Adapter Dedicated Video Memory: 33554432
04:30:49:   Video Adapter Shared System Memory: 1711276032
04:30:49: =====Stream Start: 2014-01-10, 04:30:49===============================================
04:30:49:   Multithreaded optimizations: On
04:30:49:   Base resolution: 1920x1080
04:30:49:   Output resolution: 1280x720
04:30:49: ------------------------------------------
04:30:49: Loading up D3D10 on NVIDIA GeForce GTX 680 (Adapter 1)...
04:30:49: ------------------------------------------
04:30:49: Audio Format: 48000hz
04:30:49: Playback device {0.0.0.00000000}.{c4f219cc-07bd-400f-b941-2b3229c83b58}
04:30:49: ------------------------------------------
04:30:49: Using desktop audio input: Green Port Front (Realtek High Definition Audio)
04:30:49: ------------------------------------------
04:30:49: Using auxilary audio input: Line In (Scarlett 8i6 USB)
04:30:49: ------------------------------------------
04:30:49: Audio Encoding: AAC
04:30:49:     bitrate: 128
04:30:49: Using bitmap image
04:30:49: ------------------------------------------
04:30:49:     device: CY3014 USB, Analog 01 Capture,
04:30:49:     device id \\?\usb#vid_1164&pid_f531#6&29d3b443&0&3#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340100021f},
04:30:49:     chosen type: YUY2, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 166833-333667
04:30:49:     use buffering: false - 0, fourCC: 'YUY2'
04:30:49:     audio device: CY3014 USB, Analog 01 WaveIn,
04:30:49:     audio device id \\?\usb#vid_1164&pid_f531#6&29d3b443&0&3#{33d9a762-90c8-11d0-bd43-00a0c911ce86}\{6f814be9-9af6-43cf-9249-c0340100031f},
04:30:49: 
04:30:49:     device audio info - bits per sample: 16, channels: 2, samples per sec: 48000, block size: 4
04:30:49: Using directshow input
04:30:49: Using bitmap image
04:30:49: Scene buffering time set to 700
04:30:49: Using custom x264 settings: "bframes=1 keyint=120"
04:30:49: ------------------------------------------
04:30:49: Video Encoding: x264
04:30:49:     fps: 60
04:30:49:     width: 1280, height: 720
04:30:49:     preset: fast
04:30:49:     profile: high
04:30:49:     keyint: 120
04:30:49:     CBR: yes
04:30:49:     CFR: no
04:30:49:     max bitrate: 2500
04:30:49:     buffer size: 2500
04:30:49: ------------------------------------------
04:30:49: MMDeviceAudioSource: Frequency for device 'Green Port Front (Realtek High Definition Audio)' is 384000, samples per sec is 48000
04:30:49: MMDeviceAudioSource: Frequency for device 'Line In (Scarlett 8i6 USB)' is 384000, samples per sec is 48000
04:30:50: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 138643548
04:30:50:     0
04:30:50:     0
04:30:50:     138643528
04:30:50:     138643538
04:30:50:     138643548
04:30:50:     138643558
04:30:50:     138643568
04:30:50:     138643578
04:30:50:     138643588
04:30:50:     138643598
04:30:50:     138643608
04:30:50:     138643618
04:30:50:     138643628
04:30:50:     138643638
04:30:50:     138643648
04:30:50:     138643658
04:30:50:     138643668
04:30:50:     138643678
04:30:50:     138643688
04:30:50:     138643698
04:30:50:     138643708
04:30:50:     138643718
04:30:50:     138643728
04:30:50:     138643738
04:30:50:     138643748
04:30:50:     138643758
04:30:50:     138643768
04:30:50:     138643778
04:30:50:     138643788
04:30:50:     138643798
04:30:50:     138643808
04:30:50:     138643818
04:30:50:     138643828
04:30:50:     138643838
04:30:50:     138643848
04:30:50:     138643858
04:30:50:     138643868
04:30:50:     138643878
04:30:50:     138643888
04:30:50:     138643898
04:30:50:     138643908
04:30:50:     138643918
04:30:50:     138643928
04:30:50:     138643938
04:30:50:     138643948
04:30:50:     138643958
04:30:50:     138643968
04:30:50:     138643978
04:30:50:     138643988
04:30:50:     138643998
04:30:50:     138644008
04:30:50:     138644018
04:30:50:     138644028
04:30:50:     138644038
04:30:50:     138644048
04:30:50:     138644058
04:30:50:     138644068
04:30:50:     138644078
04:30:50:     138644088
04:30:50:     138644098
04:30:50:     138644108
04:30:50:     138644118
04:30:50:     138644128
04:30:50:     138644138
04:30:50:     138644148
04:30:50:     138644158
04:30:50:     138644168
04:30:50:     138644178
04:30:50:     138644188
04:30:50:     138644198
04:30:50:     138644208
04:30:50:     138644218
04:30:50: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 138643548
04:30:50: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 20
04:30:50: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
04:38:47: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
04:45:33: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
04:47:57: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
04:52:33: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
04:58:21: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
05:01:42: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:01:54: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:02:02: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:03:03: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
05:03:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:03:03: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
05:03:03: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
05:05:23: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:06:17: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:06:17: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:07:33: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:09:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:09:57: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:10:53: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 76
05:10:53: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:10:53: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 110
05:10:53: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
05:13:37: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:15:27: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:15:27: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:16:22: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 88
05:16:22: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 20
05:16:22: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:16:22: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 90
05:16:22: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 100
05:18:12: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:18:16: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:19:07: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:19:08: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:20:58: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:21:02: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:21:44: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 78
05:21:44: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 100
05:21:44: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
05:22:12: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:22:47: Audio timestamp for device 'Line In (Scarlett 8i6 USB)' was behind target timestamp by 10
05:22:55: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:23:29: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:23:42: Audio timestamp for device 'Line In (Scarlett 8i6 USB)' was behind target timestamp by 20
05:23:42: Audio timestamp for device 'Line In (Scarlett 8i6 USB)' was behind target timestamp by 10
05:23:43: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:26:27: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:28:17: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:28:55: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
05:28:55: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:28:55: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 100
05:28:55: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
05:31:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:31:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:31:57: Audio timestamp for device 'Line In (Scarlett 8i6 USB)' was behind target timestamp by 10
05:31:57: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:31:57: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:33:47: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:34:06: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 78
05:34:06: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:34:06: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
05:34:06: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
05:37:28: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:38:22: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:38:22: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:38:45: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:40:13: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:41:07: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
05:41:08: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
05:41:08: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
05:43:53: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:43:53: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:44:47: Audio timestamp for device 'Line In (Scarlett 8i6 USB)' was behind target timestamp by 10
05:44:47: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:44:47: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:45:43: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 78
05:45:43: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:45:43: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
05:46:09: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
05:46:38: Audio timestamp for device 'Line In (Scarlett 8i6 USB)' was behind target timestamp by 10
05:46:38: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:47:20: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:47:35: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:51:18: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:53:03: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 87
05:53:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 20
05:53:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:53:03: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 100
05:55:47: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 20
05:55:47: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:56:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:56:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:56:43: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
05:57:38: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 78
05:57:38: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
05:59:34: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:00:23: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:01:18: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:01:18: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:04:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:04:57: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
06:04:57: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
06:08:33: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:08:39: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:09:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:09:34: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:10:02: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:10:03: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 78
06:10:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:10:03: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 100
06:10:28: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:10:33: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:11:23: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:12:18: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:13:20: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:14:08: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:15:56: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:16:53: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
06:16:53: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:16:53: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
06:19:38: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:21:28: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:21:28: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:23:18: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:24:13: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
06:24:14: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
06:26:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 20
06:26:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:27:54: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:28:48: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:29:45: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:30:38: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:31:33: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
06:31:33: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
06:33:23: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:33:24: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:34:22: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:35:13: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:36:08: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:37:58: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
06:37:58: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
06:40:43: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:41:39: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:41:46: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:42:34: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:45:18: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:47:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:47:08: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 76
06:47:08: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:47:08: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
06:49:53: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:50:48: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:51:43: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:51:43: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:51:53: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:52:38: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 78
06:52:38: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
06:54:28: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:55:23: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:56:19: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:57:04: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:57:13: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 78
06:57:13: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:57:13: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
06:59:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
06:59:09: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:00:02: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:01:49: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:02:45: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:04:11: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:04:47: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:05:28: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 76
07:05:28: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
07:07:18: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:07:21: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:08:14: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:10:03: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:11:53: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:12:37: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 77
07:12:37: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:12:37: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
07:14:30: Total frames encoded: 589170, total frames duplicated: 8316 (1.41%)
07:14:30: Total frames rendered: 589162, number of late frames: 16 (0.00%) (it's okay for some frames to be late)
07:14:30: 
07:14:30: Profiler time results:
07:14:30: 
07:14:30: ==============================================================
07:14:30: video thread frame - [100%] [avg time: 2.677 ms] [children: 77.6%] [unaccounted: 22.4%]
07:14:30: | scene->Preprocess - [70.9%] [avg time: 1.899 ms]
07:14:30: | GPU download and conversion - [6.65%] [avg time: 0.178 ms] [children: 5.53%] [unaccounted: 1.12%]
07:14:30: | | flush - [3.66%] [avg time: 0.098 ms]
07:14:30: | | CopyResource - [1.76%] [avg time: 0.047 ms]
07:14:30: | | conversion to 4:2:0 - [0.112%] [avg time: 0.003 ms]
07:14:30: Convert444Threads - [100%] [avg time: 0.514 ms] [children: 99%] [unaccounted: 0.973%]
07:14:30: | Convert444toNV12 - [99%] [avg time: 0.509 ms]
07:14:30: encoder thread frame - [100%] [avg time: 0.903 ms]
07:14:30: ==============================================================
07:14:30: 
07:14:30: 
07:14:30: Profiler CPU results:
07:14:30: 
07:14:30: ==============================================================
07:14:30: video thread frame - [cpu time: avg 1.954 ms, total 1.1513e+006 ms] [avg calls per frame: 1]
07:14:30: | scene->Preprocess - [cpu time: avg 1.402 ms, total 826375 ms] [avg calls per frame: 1]
07:14:30: | GPU download and conversion - [cpu time: avg 0.123 ms, total 72640.6 ms] [avg calls per frame: 1]
07:14:30: | | flush - [cpu time: avg 0.07 ms, total 41812.5 ms] [avg calls per frame: 1]
07:14:30: | | CopyResource - [cpu time: avg 0.022 ms, total 13421.9 ms] [avg calls per frame: 1]
07:14:30: | | conversion to 4:2:0 - [cpu time: avg 0.003 ms, total 2343.75 ms] [avg calls per frame: 1]
07:14:30: Convert444Threads - [cpu time: avg 0.474 ms, total 559594 ms] [avg calls per frame: 2]
07:14:30: | Convert444toNV12 - [cpu time: avg 0.47 ms, total 554609 ms] [avg calls per frame: 2]
07:14:30: encoder thread frame - [cpu time: avg 0.249 ms, total 146984 ms] [avg calls per frame: 1]
07:14:30: ==============================================================
07:14:30: 
07:14:30: =====Stream End: 2014-01-10, 07:14:30=================================================
07:14:31: =====Stream Start: 2014-01-10, 07:14:31===============================================
07:14:31:   Multithreaded optimizations: On
07:14:31:   Base resolution: 1920x1080
07:14:31:   Output resolution: 1280x720
07:14:31: ------------------------------------------
07:14:31: Loading up D3D10 on NVIDIA GeForce GTX 680 (Adapter 1)...
07:14:31: ------------------------------------------
07:14:31: Audio Format: 48000hz
07:14:31: Playback device {0.0.0.00000000}.{c4f219cc-07bd-400f-b941-2b3229c83b58}
07:14:31: ------------------------------------------
07:14:31: Using desktop audio input: Green Port Front (Realtek High Definition Audio)
07:14:31: ------------------------------------------
07:14:31: Using auxilary audio input: Line In (Scarlett 8i6 USB)
07:14:31: ------------------------------------------
07:14:31: Audio Encoding: AAC
07:14:31:     bitrate: 128
07:14:31: Using bitmap image
07:14:31: ------------------------------------------
07:14:31:     device: CY3014 USB, Analog 01 Capture,
07:14:31:     device id \\?\usb#vid_1164&pid_f531#6&29d3b443&0&3#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340100021f},
07:14:31:     chosen type: YUY2, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 166833-333667
07:14:31:     use buffering: false - 0, fourCC: 'YUY2'
07:14:31:     audio device: CY3014 USB, Analog 01 WaveIn,
07:14:31:     audio device id \\?\usb#vid_1164&pid_f531#6&29d3b443&0&3#{33d9a762-90c8-11d0-bd43-00a0c911ce86}\{6f814be9-9af6-43cf-9249-c0340100031f},
07:14:31: 
07:14:31:     device audio info - bits per sample: 16, channels: 2, samples per sec: 48000, block size: 4
07:14:31: Using directshow input
07:14:31: Using bitmap image
07:14:31: Scene buffering time set to 700
07:14:31: Using custom x264 settings: "bframes=1 keyint=120"
07:14:31: ------------------------------------------
07:14:31: Video Encoding: x264
07:14:31:     fps: 60
07:14:31:     width: 1280, height: 720
07:14:31:     preset: fast
07:14:31:     profile: high
07:14:31:     keyint: 120
07:14:31:     CBR: yes
07:14:31:     CFR: no
07:14:31:     max bitrate: 2500
07:14:31:     buffer size: 2500
07:14:31: ------------------------------------------
07:14:31: MMDeviceAudioSource: Frequency for device 'Green Port Front (Realtek High Definition Audio)' is 384000, samples per sec is 48000
07:14:31: MMDeviceAudioSource: Frequency for device 'Line In (Scarlett 8i6 USB)' is 384000, samples per sec is 48000
07:14:31: 
07:14:31: Profiler result for the last frame:
07:14:31: ==============================================================
07:14:31: video thread frame - [time: 55.266 ms (cpu time: 46.875 ms)]
07:14:31: | scene->Preprocess - [time: 35.372 ms (cpu time: 31.25 ms)]
07:14:31: | GPU download and conversion - [time: 0.152 ms (cpu time: 0 ms)]
07:14:31: | | flush - [time: 0.147 ms (cpu time: 0 ms)]
07:14:31: ==============================================================
07:14:31: 
07:14:31: 
07:14:31: Profiler result for the last frame:
07:14:31: ==============================================================
07:14:31: video thread frame - [time: 2.35 ms (cpu time: 0 ms)]
07:14:31: | scene->Preprocess - [time: 1.441 ms (cpu time: 0 ms)]
07:14:31: | GPU download and conversion - [time: 0.116 ms (cpu time: 0 ms)]
07:14:31: | | flush - [time: 0.113 ms (cpu time: 0 ms)]
07:14:31: ==============================================================
07:14:31: 
07:14:31: 
07:14:31: Profiler result for the last frame:
07:14:31: ==============================================================
07:14:31: video thread frame - [time: 1.491 ms (cpu time: 0 ms)]
07:14:31: | scene->Preprocess - [time: 0.003 ms (cpu time: 0 ms)]
07:14:31: | GPU download and conversion - [time: 0.258 ms (cpu time: 0 ms)]
07:14:31: | | flush - [time: 0.255 ms (cpu time: 0 ms)]
07:14:31: ==============================================================
07:14:31: 
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32:     0
07:14:32:     0
07:14:32:     0
07:14:32:     0
07:14:32:     0
07:14:32:     0
07:14:32:     0
07:14:32:     0
07:14:32:     0
07:14:32:     0
07:14:32:     148465270
07:14:32:     148465280
07:14:32:     148465290
07:14:32:     148465300
07:14:32:     148465310
07:14:32:     148465320
07:14:32:     148465330
07:14:32:     148465340
07:14:32:     148465350
07:14:32:     148465360
07:14:32:     148465370
07:14:32:     148465380
07:14:32:     148465390
07:14:32:     148465400
07:14:32:     148465410
07:14:32:     148465420
07:14:32:     148465430
07:14:32:     148465440
07:14:32:     148465450
07:14:32:     148465460
07:14:32:     148465470
07:14:32:     148465480
07:14:32:     148465490
07:14:32:     148465500
07:14:32:     148465510
07:14:32:     148465520
07:14:32:     148465530
07:14:32:     148465540
07:14:32:     148465550
07:14:32:     148465560
07:14:32:     148465570
07:14:32:     148465580
07:14:32:     148465590
07:14:32:     148465600
07:14:32:     148465610
07:14:32:     148465620
07:14:32:     148465630
07:14:32:     148465640
07:14:32:     148465650
07:14:32:     148465660
07:14:32:     148465670
07:14:32:     148465680
07:14:32:     148465690
07:14:32:     148465700
07:14:32:     148465710
07:14:32:     148465720
07:14:32:     148465730
07:14:32:     148465740
07:14:32:     148465750
07:14:32:     148465760
07:14:32:     148465770
07:14:32:     148465780
07:14:32:     148465790
07:14:32:     148465800
07:14:32:     148465810
07:14:32:     148465820
07:14:32:     148465830
07:14:32:     148465840
07:14:32:     148465850
07:14:32:     148465860
07:14:32:     148465870
07:14:32:     148465880
07:14:32:     148465890
07:14:32:     148465900
07:14:32:     148465910
07:14:32:     148465920
07:14:32:     148465930
07:14:32:     148465940
07:14:32:     148465950
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 148465280
07:14:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:16:30: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:17:27: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:33:21: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 90
07:35:53: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:38:35: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:39:23: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:40:06: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:40:38: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:45:48: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 76
07:45:48: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 130
07:45:48: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
07:49:29: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:49:40: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:52:17: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:53:11: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:55:57: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
07:59:36: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:03:33: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 73
08:03:33: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 110
08:03:33: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
08:04:08: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:06:54: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
08:07:48: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:09:46: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:10:34: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:13:18: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:14:52: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:15:08: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 75
08:15:08: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 90
08:15:09: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
08:20:39: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:21:12: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
08:26:09: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:26:09: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:27:59: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:32:34: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:34:14: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
08:35:19: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 72
08:35:19: A timestamp adjustment was encountered for device Line In (Scarlett 8i6 USB), diff: 80
08:35:19: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
08:37:09: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:38:04: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:39:54: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:40:49: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:42:44: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:45:40: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:46:19: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 75
08:46:19: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
08:48:32: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:55:29: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:56:24: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:58:15: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:59:09: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
08:59:33: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 75
08:59:33: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
09:03:44: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:05:35: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:05:40: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:10:09: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:11:04: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:13:33: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:16:59: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 72
09:16:59: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
09:20:15: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:21:10: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:22:04: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:29:25: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:30:20: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:34:55: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:41:21: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
09:52:20: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 75
09:52:20: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
10:02:25: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:03:40: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:18:54: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:18:54: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:21:40: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:24:24: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:30:50: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 74
10:30:50: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
10:40:55: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:44:49: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:46:30: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:48:23: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
10:58:19: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:14:57: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:18:45: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:21:15: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 79
11:21:15: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 90
11:32:16: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:36:58: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:38:40: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:39:35: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:41:26: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:42:21: A timestamp adjustment was encountered for device Green Port Front (Realtek High Definition Audio), diff: 71
11:42:21: A timestamp adjustment was encountered for device CY3014 USB, Analog 01 Capture, diff: 80
11:46:00: Audio timestamp for device 'CY3014 USB, Analog 01 Capture' was behind target timestamp by 10
11:49:08: Total frames encoded: 988540, total frames duplicated: 5995 (0.61%)
11:49:08: Total frames rendered: 988543, number of late frames: 4 (0.00%) (it's okay for some frames to be late)
11:49:08: 
11:49:08: Profiler time results:
11:49:08: 
11:49:08: ==============================================================
11:49:08: video thread frame - [100%] [avg time: 2.314 ms] [children: 96.4%] [unaccounted: 3.63%]
11:49:08: | scene->Preprocess - [81.4%] [avg time: 1.883 ms]
11:49:08: | GPU download and conversion - [15%] [avg time: 0.347 ms] [children: 14.1%] [unaccounted: 0.864%]
11:49:08: | | flush - [7.99%] [avg time: 0.185 ms]
11:49:08: | | CopyResource - [5.96%] [avg time: 0.138 ms]
11:49:08: | | conversion to 4:2:0 - [0.173%] [avg time: 0.004 ms]
11:49:08: Convert444Threads - [100%] [avg time: 0.474 ms] [children: 98.9%] [unaccounted: 1.05%]
11:49:08: | Convert444toNV12 - [98.9%] [avg time: 0.469 ms]
11:49:08: encoder thread frame - [100%] [avg time: 0.902 ms]
11:49:08: ==============================================================
11:49:08: 
11:49:08: 
11:49:08: Profiler CPU results:
11:49:08: 
11:49:08: ==============================================================
11:49:08: video thread frame - [cpu time: avg 1.489 ms, total 1.47223e+006 ms] [avg calls per frame: 1]
11:49:08: | scene->Preprocess - [cpu time: avg 1.341 ms, total 1.32655e+006 ms] [avg calls per frame: 1]
11:49:08: | GPU download and conversion - [cpu time: avg 0.125 ms, total 123969 ms] [avg calls per frame: 1]
11:49:08: | | flush - [cpu time: avg 0.102 ms, total 101484 ms] [avg calls per frame: 1]
11:49:08: | | CopyResource - [cpu time: avg 0.013 ms, total 13171.9 ms] [avg calls per frame: 1]
11:49:08: | | conversion to 4:2:0 - [cpu time: avg 0.002 ms, total 1984.38 ms] [avg calls per frame: 1]
11:49:08: Convert444Threads - [cpu time: avg 0.797 ms, total 1.57659e+006 ms] [avg calls per frame: 2]
11:49:08: | Convert444toNV12 - [cpu time: avg 0.792 ms, total 1.56722e+006 ms] [avg calls per frame: 2]
11:49:08: encoder thread frame - [cpu time: avg 0.227 ms, total 224531 ms] [avg calls per frame: 1]
11:49:08: ==============================================================
11:49:08: 
11:49:08: =====Stream End: 2014-01-10, 11:49:08=================================================
11:49:38: =====Stream End: 2014-01-10, 11:49:38=================================================
```


----------



## hansmuff (Jan 10, 2014)

*Re: 0.60 test build 7*

Tested NVENC with 660Ti SLI on a 2600K. This is a nice, fast solution. I'm using 'hq', but I'll do a more detailed analysis of hq vs bd later on. I'll probably use a timedemo of some sort.

Bandwidth is the most significant factor in quality. I streamed at 15Mbps for a few minutes, and the quality is outstanding. Link to that is http://www.twitch.tv/dragonhans/b/494155188
It's 60fps, 720p.

Just understand the video loads very slowly and hiccups, twitch can't handle it too well.
Still, an interesting experiment.

I understand those are not acceptable settings for a stream. I'm still playing around with fps vs. bitrate vs. quality. So far for 60fps 720p TF2 I kind of need about 5Mbps for it to look half decent. The default 3.5Mbps gets very blocky. Then again 50fps look very nice too, so maybe I can compromise there.

Thanks to those involved for putting NVENC support in, providing the necessary DLLs and explaining it. Job well done.


----------



## alpinlol (Jan 10, 2014)

*Re: 0.60 test build 7*

what can i expect (qualitywise) with the "blueray disk" setting on nvenc? will it be better than high quality or worse? since the pdf doesnt tell anything about it and i've tested it but i cant really see much difference :/


----------



## Boildown (Jan 11, 2014)

*Re: 0.60 test build 7*



			
				alpinlol said:
			
		

> what can i expect (qualitywise) with the "blueray disk" setting on nvenc? will it be better than high quality or worse? since the pdf doesnt tell anything about it and i've tested it but i cant really see much difference :/



You know what?  You're right, that document is from the 2.0 release, not the latest release.  So all that stuff I wrote might be wrong, and the BluRay preset isn't even listed.  It would be nice if we could find the equivalent .pdf from the latest release of NVENC.


----------



## Blackhive (Jan 11, 2014)

*Re: 0.60 test build 7*



			
				Boildown said:
			
		

> alpinlol said:
> 
> 
> 
> ...




Unfortunately that note is the note given with the 3.0 release found here under resources:
https://developer.nvidia.com/nvidia-video-codec-sdk


----------



## Xphome (Jan 11, 2014)

*Re: 0.60 test build 7*



			
				Blackhive said:
			
		

> Boildown said:
> 
> 
> 
> ...


All the docs I see under Resources are about 2.0, where is this about 3.0 you are talking about?


----------



## Blackhive (Jan 11, 2014)

*Re: 0.60 test build 7*



			
				Xphome said:
			
		

> All the docs I see under Resources are about 2.0, where is this about 3.0 you are talking about?



I think you misread my sentence, i was stating that nvidia gives the 2.0 notes with the 3.0 sdk listed on the same page. there are no 3.0 notes


----------



## Xphome (Jan 11, 2014)

*Re: 0.60 test build 7*



			
				Blackhive said:
			
		

> Xphome said:
> 
> 
> 
> ...


Oh, I never thought you meant that since the post you quoted said that (pretty much).


----------



## Senshin (Jan 11, 2014)

*Re: 0.60 test build 7*

I don't know if it's already mentioned.
I would anyone advice with a i7 (don't know old models, but I think from sandy bridge and up) to stream with the cpu I think.
It's quality wise ALOT better then Nvenc or quick sync on lower bitrates for sure and really doesnt give much fps drops either.

Nvenc tested, working very good, only monitorcapture gives the viewers no screen (broken screen).
I go back to x264 presets after had good hopes to reduce some things, for now, if you have a good cpu Nvenc for now won't be better, and I think it will never better either but I don't know, will it get better in the future?


----------



## ynetwork (Jan 11, 2014)

*Re: 0.60 test build 7*

Any chance I may be able to record a game with sweetFX injection in the future? I understand the stuff shouldn't be on the priority and you guys are already improving the game capture many ways. I really don't want this reply looks like a rude request on your development. I just want to know if there is any talk or plan.. ;)

by the way, I always thank you guys for the great tool. My friends and I are having so much fun with OBS.

*edit: mistype! hope there is no more..


----------



## alpinlol (Jan 11, 2014)

*Re: 0.60 test build 7*

https://developer.nvidia.com/sites/defa ... ppNote.pdf

if i go on page 13 theres a list of presets the nvenc can use. by simply typing hq in the custom parameter it changes to the hq preset and it also tells me this in the logs, but if i do the same with "CLOUD_GAMING_720p60", which is also listed as a pre defined preset, it doesnt show up in the logs.


----------



## soulreaver2662 (Jan 11, 2014)

*Re: 0.60 test build 7*

Hey guys,

I'm not sure how to give you an accurate description of this issue but i realized that with the latest test build, if i try to add an additional audio output device in my webcam for example, and if i output to stream only, the audio stream from that particular source will stutter.

If i revert to 0.592b, the problem goes away. i can add any additional audio source to any webcam and it works without stuttering.


----------



## Jim (Jan 11, 2014)

*Re: 0.60 test build 7*

soulreaver2662 - Get some time for testing and come by the chat room and private message me so I can debug the issue..  #obsproject on quakenet (or the webchat I suppose)

Say my name to get my attention when you get in, if you decide to come in (I hope you can make time to debug it)


----------



## Blackhive (Jan 11, 2014)

*Re: 0.60 test build 7*

I've noticed 1280x720p@30fps 3500 bitrate with nvenc has by far much better quality than @60fps with the same settings.At 60fps the picture starts to get blocky/chunky. although 3500 is excessive for 30fps it seems to help in this bit, 2500 also works well but 3500 the picture is a bit sharper (although probably unnoticeable to most)


----------



## Xphome (Jan 11, 2014)

*Re: 0.60 test build 7*



			
				alpinlol said:
			
		

> https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/NVENC_AppNote.pdf
> 
> if i go on page 13 theres a list of presets the nvenc can use. by simply typing hq in the custom parameter it changes to the hq preset and it also tells me this in the logs, but if i do the same with "CLOUD_GAMING_720p60", which is also listed as a pre defined preset, it doesnt show up in the logs.



The current SDK version is 3.0, that doc is for 2.0. You can find the 7 presets earlier in this thread.


----------



## Gol D. Ace (Jan 11, 2014)

*Re: 0.60 test build 7*



			
				Blackhive said:
			
		

> I've noticed 1280x720p@30fps 3500 bitrate with nvenc has by far much better quality than @60fps with the same settings.At 60fps the picture starts to get blocky/chunky. although 3500 is excessive for 30fps it seems to help in this bit, 2500 also works well but 3500 the picture is a bit sharper (although probably unnoticeable to most)



60 FPS will always look worse than 30 FPS.

Specially with hardware encoders and "low" bitrates.


----------



## isamu (Jan 11, 2014)

*Re: 0.60 test build 7*

Good work guys, thank you. :)


----------



## soulreaver2662 (Jan 12, 2014)

*Re: 0.60 test build 7*



			
				Jim said:
			
		

> soulreaver2662 - Get some time for testing and come by the chat room and private message me so I can debug the issue..  #obsproject on quakenet (or the webchat I suppose)
> 
> Say my name to get my attention when you get in, if you decide to come in (I hope you can make time to debug it)



Alright, i haven't logged into the channel for ages but i'll see if i can get mirc running again to drop by either later today or tomorrow. Work isn't being very kind right now.


----------



## Krazy (Jan 12, 2014)

*Re: 0.60 test build 7*

You can also just join the webchat.  Press the red icon with chat bubbles inside to open it up.  Alternatively, direct link: http://webchat.quakenet.org/?channels=obsproject


----------



## Gol D. Ace (Jan 13, 2014)

*Re: 0.60 test build 7*

Noticed something tiny.

I think it's intentional because Recording and Streaming are more separate now.


```
04:25:59: Open Broadcaster Software v0.60b test build 7 (master/1b51e13) - 64bit (　^ω^)
.....
04:25:59: =====Stream Start: 2014-01-13, 04:25:59===============================================
.....
04:26:12: =====Stream End: 2014-01-13, 04:26:12=================================================
04:26:19: =====Stream End: 2014-01-13, 04:26:19=================================================
```


----------



## HomeWorld (Jan 13, 2014)

*Re: 0.60 test build 7*



			
				Gol D. Ace said:
			
		

> Noticed something tiny.
> 
> I think it's intentional because Recording and Streaming are more separate now.
> 
> ...



It's not intentional as far as I can tell. I believe that this small side effect was introduced by https://github.com/jp9000/OBS/commit/c8 ... 06b70dcaea. I'll poke Palana about it when possible.


----------



## Palana (Jan 13, 2014)

*Re: 0.60 test build 7*



			
				Gol D. Ace said:
			
		

> Noticed something tiny.
> 
> I think it's intentional because Recording and Streaming are more separate now.
> 
> ...


Should be fixed by 984095b, pending further unforseen side effects


----------



## FomaDima (Jan 15, 2014)

*Re: 0.60 test build 7*

low latency high quality
780gtx
many frieze video 
Other settings are meaningless because the quality is there horrible


----------



## Krazy (Jan 16, 2014)

*Re: 0.60 test build 7*

What are your encoding settings?  The low latency has some limits, I believe.  It starts to really crap out at 1080p60fps because it can't really handle that.


----------



## FomaDima (Jan 16, 2014)

*Re: 0.60 test build 7*

I tried all settings (manually if necessary to write something I don `t know that) 
60 FPS even thought to try because there will be many losses of frames. 
And the image at a bitrate of 3500 is not so hot. 
If you can show your settings when playing BF4. 
(I want this game to set up a benchmark in setting not climb) 
sorry for bad english
i tested http://www.twitch.tv/fomadima
looks past brodcast
edit i deleted all


----------



## WkZ (Jan 16, 2014)

*Re: 0.60 test build 7*

Hello!
Couldn't get the nvenc to work, error popping up when trying to record saying "Encoder initialization failed!"
I tried with both 32 & 64bit, but didn't work. Also I downloaded the ObsNvenc.dll from the page 2.
Here's the log

```
16:08:04: Open Broadcaster Software v0.60b test build 7 - 64bit (　^ω^)
16:08:04: -------------------------------
16:08:04: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
16:08:04: CPU Speed: 3467MHz
16:08:04: Physical Memory:  8076MB Total, 6229MB Free
16:08:04: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
16:08:04: monitor 1: pos={0, 0}, size={1920, 1080}
16:08:04: monitor 2: pos={1920, 0}, size={1920, 1080}
16:08:04: Windows Version: 6.1 Build 7601 S
16:08:04: Aero is Enabled
16:08:04: -------------------------------
16:08:04: OBS Modules:
16:08:04: Base Address     Module
16:08:04: 000000003FAC0000 OBS.exe
16:08:04: 00000000E95C0000 OBSApi.dll
16:08:04: 00000000F3B20000 DShowPlugin.dll
16:08:04: 00000000F3AF0000 GraphicsCapture.dll
16:08:04: 00000000F9E30000 NoiseGate.dll
16:08:04: 00000000F3AD0000 PSVPlugin.dll
16:08:04: ------------------------------------------
16:08:04: Adapter 1
16:08:04:   Video Adapter: NVIDIA GeForce GTX 680
16:08:04:   Video Adapter Dedicated Video Memory: 2091581440
16:08:04:   Video Adapter Shared System Memory: 2147807232
16:08:04:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
16:08:04: ------------------------------------------
16:08:04: Adapter 2
16:08:04:   Video Adapter: Intel(R) HD Graphics 4000
16:08:04:   Video Adapter Dedicated Video Memory: 67108864
16:08:04:   Video Adapter Shared System Memory: 1711276032
16:08:04:   Video Adapter Output 1: pos={1920, 0}, size={1920, 1080}, attached=true
16:08:04: =====Stream Start: 2014-01-16, 16:08:04===============================================
16:08:04:   Multithreaded optimizations: On
16:08:04:   Base resolution: 1920x1080
16:08:04:   Output resolution: 1280x720
16:08:04: ------------------------------------------
16:08:04: Loading up D3D10 on NVIDIA GeForce GTX 680 (Adapter 1)...
16:08:04: ------------------------------------------
16:08:04: Audio Format: 48000hz
16:08:04: Playback device Default
16:08:04: ------------------------------------------
16:08:04: Using desktop audio input: Speakers (ASUS Xonar DG Audio Device)
16:08:04: Using 7.1 surround speaker setup
16:08:04: ------------------------------------------
16:08:04: Using auxilary audio input: Microphone (ASUS Xonar DG Audio Device)
16:08:04: ------------------------------------------
16:08:04: Audio Encoding: AAC
16:08:04:     bitrate: 128
16:08:04: Using graphics capture
16:08:04: Scene buffering time set to 700
16:08:04: Successfully loaded ObsNvenc.dll
16:08:04: ObsNvenc initialized successfully
16:08:04: CUDA loaded successfully
16:08:04: 1 CUDA capable devices found
16:08:04: [ GPU #0 - < GeForce GTX 680 > has Compute SM 3.0, NVENC Available ]
16:08:04: Failed to get nvenc instance
16:08:04: NVENC internal init failed
16:08:04: Couldn't initialize encoder
16:08:04: =====Stream End: 2014-01-16, 16:08:04=================================================
```

Nevermind, my geforce experience didn't update my drivers like it should've. got it working ._.


----------



## FomaDima (Jan 16, 2014)

*Re: 0.60 test build 7*

please show the best video quality settings nvenc


----------



## koori (Jan 16, 2014)

*Re: 0.60 test build 7*

Hello,

I was curious about the nvenc and tried it for half an hour. So far it's promising performance wise, but it seems I'm the only one really bothered by the compression rate.
I know it has been pointed out on multiples older topics, but how come most of the people here are looking for ways to get perfectly crisp image when I barely can get a normal quality 720p record @ 30 fps?

My first guess is that most of the americans net providers have a higher upload average than me, but I believe I missed something else. 
I used to stream at 2500kb/s but my previous CPU was too weak for me to have a decent quality. Now that I have a 4th gen i7 it's doing quite good with x264.
So is the NVENC alternative only good for people with weak CPU and really high bandwidth or can I tweak the settings more than just with a few presets?


----------



## Boildown (Jan 16, 2014)

*Re: 0.60 test build 7*



			
				koori said:
			
		

> So is the NVENC alternative only good for people with weak CPU



Or playing a game that demands all of their CPU, with nothing left over for anything else, but yeah, that seems about right, for streaming anyways.  For local recording NVENC still seems useful, because it doesn't matter much if you crank the bitrate way up when saving to your local hard drive.


----------



## hedsht (Jan 17, 2014)

*Re: 0.60 test build 7*

I had finally the time to compare the different encoders and quality settings and yes, this post will contain the captured video & log files.

Gaming PC:
i7 4770k@4.5GHz
Geforce GTX 780
HDMI 1080p 60hz Ouput

Streaming PC:
i7 2600k@4.5GHz
Geforce GTX 680
Avermedia Extremecap U3 Input from Gaming PC (1080p, 60fps)

OBS Settings:
buffer size: 3500
max bitrate: 3500
CFR: yes
CBR: yes
keyint: 60
width: 1920, height: 1080
fps: 30

Used Encoders:
NVENC => All presets
QSV => QuickSync
CPU => medium - superfast

I tried to replicate a real scenario while streaming to twitch and went with the recommended settings on a test drive.

First of all i created some native battlefield 4 1080p 60fps gameplay footage on my gaming pc with shadowplay, i had no framedrops ingame, so it should be a good source. Then i connected my gaming pc with the avermedia extremecap u3 to my streaming pc and started to capture the previously recorded 60fps footage (playback was done with vlc) to compare the quality of NVENC, QSV and x264 cpu.

I was not able to capture 1080p with 60fps with any of the NVENC presets and since 1080p with 30fps is the common default (beside 720p 60fps) i went with 30fps. 

You can see the results here:
Download

In the end i've seen the footage more than enough and now cant really tell which quality or which preset is the best :D.


----------



## Xphome (Jan 17, 2014)

*Re: 0.60 test build 7*



			
				hedsht said:
			
		

> I had finally the time to compare the different encoders and quality settings and yes, this post will contain the captured video & log files.
> 
> Gaming PC:
> i7 4770k@4.5GHz
> ...



Why couldn't you capture 1080p60fps with any NVENC preset? I use HQ preset and it works fine.


----------



## hedsht (Jan 17, 2014)

*Re: 0.60 test build 7*

If i try 1080p@60fps with NVENC HQ i get the message that it takes too long to encode and get ~10-15fps in OBS:

http://pastebin.com/JSvbCQTs


----------



## Xphome (Jan 17, 2014)

*Re: 0.60 test build 7*



			
				hedsht said:
			
		

> If i try 1080p@60fps with NVENC HQ i get the message that it takes too long to encode and get ~10-15fps in OBS:
> 
> http://pastebin.com/JSvbCQTs


That's because you are using the LLHQ preset, you need to lower it to HQ for 1080p60fps.


----------



## hedsht (Jan 17, 2014)

*Re: 0.60 test build 7*

I did change it in the GUI to high quality, but it seems like the settings wont apply, so all the effort i've done was pretty much useless :/


----------



## BtbN (Jan 17, 2014)

*Re: 0.60 test build 7*

What do you mean by they won't apply? Did you use the new combobox, or still tried to enter it in the x264 settings?


----------



## hedsht (Jan 17, 2014)

*Re: 0.60 test build 7*

i've used the new combobox for the preset but it seems like every recording was done with the llhq preset, if i try custom x264 settings it works with "hq" and "bd" @ 1080p 60fps flawless.


----------



## Xphome (Jan 17, 2014)

*Re: 0.60 test build 7*



			
				hedsht said:
			
		

> i've used the new combobox for the preset but it seems like every recording was done with the llhq preset, if i try custom x264 settings it works with "hq" and "bd" @ 1080p 60fps flawless.


Did you update your NVENC DLL?


----------



## hedsht (Jan 17, 2014)

*Re: 0.60 test build 7*

you mean this one? sure.


----------



## Floatingthru (Jan 17, 2014)

*Re: 0.60 test build 7*

^^ Download them again. If the custom settings work then it means you were using an old dll. Which would explain why the dropbox wasn't actually enabling different presets.


----------



## hedsht (Jan 17, 2014)

*Re: 0.60 test build 7*

ok thanks, have downladed the files on the 8th of january, will try this again with the new files later and then compare the quality a second time.


----------



## Sv9t (Jan 18, 2014)

*Re: 0.60 test build 7*

hi developers! whether realized the function switch between scenes using hot keys? eg keys Ctrl + F7\F8 
sorry for my english, I translate google translator


----------



## Gol D. Ace (Jan 18, 2014)

*Re: 0.60 test build 7*



			
				Sv9t said:
			
		

> hi developers! whether realized the function switch between scenes using hot keys? eg keys Ctrl + F7\F8
> sorry for my english, I translate google translator



Right click the scene.
Then click Set Hotkey.

Now press the Key / Keys that you want to set.

When done click OK.

You can now switch to that Scene by pressing your defined Hotkey.


----------



## Sv9t (Jan 18, 2014)

*Re: 0.60 test build 7*



			
				Gol D. Ace said:
			
		

> Right click the scene.
> Then click Set Hotkey.
> 
> Now press the Key / Keys that you want to set.
> ...


Thank you, *Gol D. Ace*! would never have guessed to do so. when switching scenes appears sound windows (error) how to get rid of it? Everything works as you said, but the sound interferes


----------



## Dwindleflip (Jan 18, 2014)

*Re: 0.60 test build 7*

I find CPU encoding to be better performance wise so far in my testing. On a gtx670 and an I7-4960x, NVENC just hurts game performance too much at the gpu level compared to cpu encoding. Of course this depends on system configurations, where in my case my cpu is barely at 20% usage and my GPU is running starcraft at 2560x1600 at 60fps with extreme settings. 

NVENC does lower cpu load of course but the negative effect is your gpu performance takes a hit. With a game like sc2 running at 20% (while streaming obs cpu encoding) cpu usage not even at full clock, it just seems cpu encoding is a better choice than GPU. for comparison, a game like BF4 uses about 35% cpu on my system without obs running. Running NVENC with BF4 which is very gpu intense would hurt performance rather than help it when the cpu has so much more room for usage still.


----------



## BtbN (Jan 18, 2014)

*Re: 0.60 test build 7*

nvenc is not performed on the GPU, it does not hurt gpu performance at all.


----------



## Dwindleflip (Jan 18, 2014)

*Re: 0.60 test build 7*

Isnt there a dedicated hardware encoder on the gpu? Perhaps this shouldnt hurt gpu processing as you say but how about the performance of internal bandwidth on the card with all the extra data being processed? I'm still tinkering with it currently.


----------



## Boildown (Jan 18, 2014)

*Re: 0.60 test build 7*

It has to be some dedicated silicon on these GPUs, not using the GPU itself (any more than OBS ordinarily does).  Because otherwise we would notice 780s being far faster at encoding than 650s.  But we haven't noticed that.  They put some silicon on these chips that has essentially never been used until now.


----------



## Rezal (Jan 18, 2014)

*Re: 0.60 test build 7*

Is there a list of custom encoder settings for Quicksync supported in this build?


----------



## Floatingthru (Jan 19, 2014)

*Re: 0.60 test build 7*



			
				Rezal said:
			
		

> Is there a list of custom encoder settings for Quicksync supported in this build?



I only know that you can change bframes and couple other of settings that I can't remember off the top of my head. Most of the encoder settings for QSV are hard coded.


----------



## XeiZ (Jan 19, 2014)

*Re: 0.60 test build 7*

Pretty much only bframes and keyint while keyint for twitch... well yea...


----------



## Rezal (Jan 19, 2014)

*Re: 0.60 test build 9*

So nothing on trellis, target usage, mbbrc and extbrc?


----------



## Floatingthru (Jan 20, 2014)

*Re: 0.60 test build 9*



			
				Rezal said:
			
		

> So nothing on trellis, target usage, mbbrc and extbrc?



No, Palana already set it to the highest possible quality. If you want better QSV you are going to have to upgrade platforms, unless you are already on Haswell of course.


----------



## millerk13 (Jan 22, 2014)

*Re: 0.60 test build 9*

Elgato Game Capture does not work at all in this. Big orange screen when previewing stream.


----------



## OG See OH Zee (Jan 22, 2014)

*Re: 0.60 test build 9*



			
				millerk13 said:
			
		

> Elgato Game Capture does not work at all in this. Big orange screen when previewing stream.



Are you running OBS in 32bit? It won't work in the 64bit client.


----------



## Jim (Jan 22, 2014)

*Re: 0.60 test build 9*

Elgato should be fine, not much of the directshow code was changed.  Can you verify that it's working fine with 0.592?  Also, you must post a log with that.


----------



## millerk13 (Jan 23, 2014)

*Re: 0.60 test build 9*



			
				Unknown Richard said:
			
		

> millerk13 said:
> 
> 
> 
> ...



64 bit was the issue. Thanks!


----------



## Lanscaper (Jan 23, 2014)

*Re: 0.60 test build 9*

Live gamer portable feedback:

Seems to be fixed.  I just did a 3hr + stream, to twitch.tv.  After reviewing the video recording I see none of that audio desync that made me regret purchasing this live gamer portable.

I will be doing some more testing but was happy to see this build specifically made mention of addressing this issue.

Thank you for your hard work Jim (and anyone else that may be involved)

** EDIT ** Confirmed using 0.60 build 9 at this time, thanks Jim


----------



## Jim (Jan 23, 2014)

*Re: 0.60 test build 9*

With test 9?  Excellent, thank you for letting me know, I'm actually very grateful specifically for that feedback.


----------



## farseenabdulsalam (Jan 24, 2014)

*0.60 test build says this is not a valid win32 application*

I have downloaded the latest test build as to 24/1/14 from sourceforge and got a zip file with 2 so folders, 32bit and 64 bit. 
I have a 32bit windows xp service pack 3 system. 
When I run both OBS.exe files from each of the folder it says this is not a valid win32 application. The OBS.EXE from 32bit folder shows a black fan like icon and the other shows no icon. I can't figure out what is causing this. 
Hoping that the problem will be fixed soon as possible, 
Farseen


----------



## Xphome (Jan 24, 2014)

*Re: 0.60 test build says this is not a valid win32 applicati*



			
				farseenabdulsalam said:
			
		

> I have downloaded the latest test build as to 24/1/14 from sourceforge and got a zip file with 2 so folders, 32bit and 64 bit.
> I have a 32bit windows xp service pack 3 system.
> When I run both OBS.exe files from each of the folder it says this is not a valid win32 application. The OBS.EXE from 32bit folder shows a black fan like icon and the other shows no icon. I can't figure out what is causing this.
> Hoping that the problem will be fixed soon as possible,
> Farseen


OBS requires DX10 which is not available on XP.


----------



## T1wka (Jan 24, 2014)

*Re: 0.60 test build 9*

Can you resolve the conflict with the anti-cheat frost? Because this program blocks the capture of full-screen image in games.


----------



## dodgepong (Jan 25, 2014)

*Re: 0.60 test build 9*

That's an issue with the anti-cheat program, not OBS's fault. If an anti-cheat program disallows applications from hooking a game, then OBS can't capture the game.


----------



## T1wka (Jan 25, 2014)

*Re: 0.60 test build 9*



			
				dodgepong said:
			
		

> That's an issue with the anti-cheat program, not OBS's fault. If an anti-cheat program disallows applications from hooking a game, then OBS can't capture the game.



Understandable, but if you can contact them to solve this problem? 
http://frostsecurity.com/


----------



## EmBossable (Jan 25, 2014)

*Re: 0.60 test build 9*

I streamed for about 8 hours last night and didnt really have any problems and i'm using the live gamer portable. My viewers said something about my mic being out of sync with my webcam but i think i fixed it.


----------



## poke133 (Jan 26, 2014)

*Re: 0.60 test build 9*

i see that you can't Start Recording without pressing Start Streaming first

is this an issue with these beta builds or is it indended? i started using OBS with these builds (NVEnc rocks! thanks for adding support for it!)


----------



## paibox (Jan 26, 2014)

*Re: 0.60 test build 9*

You can click "Start Recording" first, but that requires your broadcast mode to be set to output to file only. The functionality to keep recording even if the stream goes offline is optional, and no special button combinations have been put in place for it, since it's not something that most people are likely to use.


----------



## Jim (Jan 26, 2014)

*Re: 0.60 test build 9*

That will be possible in the rewrite -- though right now with the current version of OBS there's a bit of an internal design flaw in that regard.


----------



## poke133 (Jan 26, 2014)

*Re: 0.60 test build 9*

didn't know about the Broadcast Mode setting, it's what i was looking for.
thanks a lot for the answers!


----------



## ZergSquad (Jan 29, 2014)

*Re: 0.60 test build 9*

Downloaded 0.60b9

and it dont want to start streaming with NVENC, says thet he require DLL file...
but this dll is in OBS folder... maybe i doing something wrong ?


----------



## Xphome (Jan 29, 2014)

*Re: 0.60 test build 9*



			
				ZergSquad said:
			
		

> Downloaded 0.60b9
> 
> and it dont want to start streaming with NVENC, says thet he require DLL file...
> but this dll is in OBS folder... maybe i doing something wrong ?


You need a license, or the DLL with a license that you can find earlier in this thread.


----------



## ZergSquad (Jan 29, 2014)

*Re: 0.60 test build 9*



			
				Xphome said:
			
		

> ZergSquad said:
> 
> 
> 
> ...



But i have it. ObsNvenc.dll, right ?
he was in folder with OBS
or i need another file ?


----------



## Xphome (Jan 29, 2014)

*Re: 0.60 test build 9*



			
				ZergSquad said:
			
		

> Xphome said:
> 
> 
> 
> ...


The one you get when you download OBS does not have a license. You need the one from this thread, or get it somewhere else.


----------



## T1wka (Jan 29, 2014)

*Re: 0.60 test build 9*

by T1wka » January 25th, 2014, 4:38 am

dodgepong wrote:
That's an issue with the anti-cheat program, not OBS's fault. If an anti-cheat program disallows applications from hooking a game, then OBS can't capture the game.


Understandable, but if you can contact them to solve this problem? 
http://frostsecurity.com/


----------



## Jack0r (Jan 30, 2014)

*Re: 0.60 test build 9*



			
				T1wka said:
			
		

> by T1wka » January 25th, 2014, 4:38 am
> Understandable, but if you can contact them to solve this problem?
> http://frostsecurity.com/


I would recommend you contact them, the OBS team cannot contact every single game publisher or anti cheat provider. If they then need help to allow OBS they can of course contact the guys. But I dont think its really the job of the obs guys to talk to every game developer or add a fix for every game.


----------



## dodgepong (Jan 30, 2014)

*Re: 0.60 test build 9*

It's also not really standard practice for anti-cheat companies to "whitelist" programs, because then the cheat programs would just spoof themselves as a whitelisted program.


----------



## ZergSquad (Jan 30, 2014)

*Re: 0.60 test build 9*

streaming lost fps...
for example
i have in game near ~70-100fps, streaming with 30
and when i look at my stream... its rly like only 10-15
when i watch my saved record, i see that  he renders every 3 or 4 frame 2-3 times -_-
http://www.twitch.tv/cblpop/b/499187019 - for example


----------



## dodgepong (Jan 30, 2014)

*Re: 0.60 test build 9*

ZergSquad, we'll need to see your log about that, but chances are it's not something with the test build that's causing it.


----------



## ZergSquad (Jan 30, 2014)

*Re: 0.60 test build 9*

i tryed to make other settings
disabling sli, enabling sli, using one gpu when sli on... and anyway fps on stream was horrible
BTW when i tryed to stream directly THROUGH ShadowPlay - fps on stream was ok


----------



## Lazze (Jan 30, 2014)

*Re: 0.60 test build 9*

I have done some tests with NVENC, and it seems that OBS causes me to lose anywhere from 3-10 fps more in comparison to Nvidia's ShadowPlay. Since they both use NVENC, is this fps loss because of the capture method OBS uses or is it because it needs more optimization?


----------



## Boildown (Jan 30, 2014)

*Re: 0.60 test build 9*



			
				Lazze said:
			
		

> I have done some tests with NVENC, and it seems that OBS causes me to lose anywhere from 3-10 fps more in comparison to Nvidia's ShadowPlay. Since they both use NVENC, is this fps loss because of the capture method OBS uses or is it because it needs more optimization?



It could be because of the preset that Shadowplay is using.


----------



## Lazze (Jan 30, 2014)

*Re: 0.60 test build 9*



			
				Boildown said:
			
		

> Lazze said:
> 
> 
> 
> ...



That shouldn't affect it should it? Since the NVENC setting uses the encoder on the graphics card either way, the preset should not affect my fps since it doesn't touch the CPU.


----------



## Boildown (Jan 30, 2014)

*Re: 0.60 test build 9*

The NVEnc encoder has its own presets... it could be that Shadowplay was using a different one than you set or OBS defaulted to: viewtopic.php?f=20&t=10234&start=50#p57922 .


----------



## Lazze (Jan 30, 2014)

*Re: 0.60 test build 9*



			
				Boildown said:
			
		

> The NVEnc encoder has its own presets... it could be that Shadowplay was using a different one than you set or OBS defaulted to: viewtopic.php?f=20&t=10234&start=50#p57922 .



I realize that, but since all the encoding is done on the chip on the graphics card, the preset used by NVENC shouldn't matter. No matter what, the video is encoded using NVENC, which uses the dedicated chip on the graphics card. The amount of load put on that chip should not affect my fps since it is dedicated silicon.


----------



## Boildown (Jan 30, 2014)

*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 (Jan 30, 2014)

*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 (Jan 30, 2014)

*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 (Jan 30, 2014)

*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 (Jan 30, 2014)

*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 (Jan 31, 2014)

*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 (Jan 31, 2014)

*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 (Feb 1, 2014)

*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?


----------



## dodgepong (Feb 1, 2014)

*Re: 0.60 test build 9*

Post the crash log.


----------



## leetminiwheat (Feb 1, 2014)

*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)


```
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.


----------



## PUNCHRULLE (Feb 1, 2014)

*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?


----------



## Jim (Feb 1, 2014)

*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 (Feb 2, 2014)

*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 (Feb 2, 2014)

*Re: 0.60 test build 9*

Does the problem happen on 0.592, though? We'd have to see a log.


----------



## TackMeister (Feb 2, 2014)

*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 (Feb 2, 2014)

*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.


----------



## rizl4 (Feb 3, 2014)

jim is there anyway to stream to http like to mpeg.ts in future?


----------



## hayuto (Feb 3, 2014)

does this uses my x264 custom options when i use this nvenc?


----------



## Xphome (Feb 3, 2014)

hayuto said:
			
		

> does this uses my x264 custom options when i use this nvenc?


No.


----------



## MazingerZ (Feb 3, 2014)

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.


----------



## theGuruWithin (Feb 3, 2014)

What is the best way to have this and v0.592b installed side by side so i can test .60 and still have use of .592b if i need stable stream.  I would love to do this without installing and uninstalling each time i need to make a shift!

Thanks for this awesome product... LOVE OBS its the best!


----------



## Jim (Feb 3, 2014)

"Stable stream"?  It would probably be better to explain what your problem with 0.60b is rather than ask for how to use both.  0.60b should be just as stable.

Also, if you want both installed at the same time, just download the binaries for both and have them in separate locations, and avoid the auto-update.


----------



## BtbN (Feb 4, 2014)

MazingerZ said:
			
		

> 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.



The cheapest card you can get which supports nvenc is a GT630 Rev. 2(Make sure it's rev 2, which has a Kepler chip), which is like 50~60€ here.
The nvenc part is a dedicated part of hardware, which is allways the same on all card. So there is no encoding performance difference between a GT630r2 and a GTXTITAN.


----------



## DanSyor (Feb 8, 2014)

I've been using NVENC as of when it was in the test releases and it's pretty good (for CPU usage when doing local 1080p@60fps recordings) thanks to BtbN's post on page 2 of this thread.
Now that it is in the "current stable" release, OBS constantly (every other restart or so) wants to update and thus overwriting the 'working' NVENC dll (well, the DLL with the license key, the other one probably works the same ^^). For now, I just remove the new dll and copy+rename the 'working' one. I could also write a small bat file that does this, but is there a more 'permanent' solution?
or does someone has any news about how to get/buy a license key (for what price)? what about the GeForce Experience files? I assume that, like the NVENC DLL I'm using with OBS, the license key is built in the ShadowPlay program (which I don't like since it makes multiple 4GB files instead of one big file with the whole video, plus not enough settings imho)...


----------



## Xphome (Feb 8, 2014)

DanSyor said:
			
		

> I've been using NVENC as of when it was in the test releases and it's pretty good (for CPU usage when doing local 1080p@60fps recordings) thanks to BtbN's post on page 2 of this thread.
> Now that it is in the "current stable" release, OBS constantly (every other restart or so) wants to update and thus overwriting the 'working' NVENC dll (well, the DLL with the license key, the other one probably works the same ^^). For now, I just remove the new dll and copy+rename the 'working' one. I could also write a small bat file that does this, but is there a more 'permanent' solution?
> or does someone has any news about how to get/buy a license key (for what price)? what about the GeForce Experience files? I assume that, like the NVENC DLL I'm using with OBS, the license key is built in the ShadowPlay program (which I don't like since it makes multiple 4GB files instead of one big file with the whole video, plus not enough settings imho)...


The newest Nvidia beta drivers removes the need for a license. I've not tried it myself but that's what people say.


----------



## Spellruler (Feb 8, 2014)

I'm not super Tech Savvy, but the NVENC Thing just popped up on my OBS. (Always glad to see you guys are working hard on OBS <3 )

I am however confused whether I should use it or not, can someone explain to me the benefits of using NVENC in OBS? I ask this because I write guide on OBS for a fairly large org and want to keep the guide up-to-date, it's also for my personal knowledge. 

I use an i5-3570K with a GeForce GTX 780. The games streamed primarily are League or Legends on the highest quality, along with some HearthStone. 

If I need to provide anything else, please tell me what and I will do so!


----------



## Xphome (Feb 8, 2014)

Spellruler said:
			
		

> I'm not super Tech Savvy, but the NVENC Thing just popped up on my OBS. (Always glad to see you guys are working hard on OBS <3 )
> 
> I am however confused whether I should use it or not, can someone explain to me the benefits of using NVENC in OBS? I ask this because I write guide on OBS for a fairly large org and want to keep the guide up-to-date, it's also for my personal knowledge.
> 
> ...


NVENC uses a special chip on your graphics card to encode instead of your CPU which barely impacts your game (and overall system) performance. However, you are trading quality for performance. To get equal quality of the same settings with the veryfast x264 preset you need a higher bitrate. How much higher bitrate you need I don't know.

Using NVENC to broadcast at 720p 30FPS should be fine, the higher bitrate needed for higher resolution/framerate streams might be too high for non-partners tho. I rarely stream but I always use NVENC for recordings since bitrate isn't an issue when recording to disk.


----------



## Spellruler (Feb 8, 2014)

Thanks for responding, I do stream in 720P and 30 FPS. The stream in question is partnered, my personal stream however, is not.

I do use veryfast X264, with a max bitrate and buffer of 3500 for video encoding. ( I have about 7 upload so that shouldn't be a problem, unless you were referring to something else).

So, should I use NVENC or just leave OBS as it is, I never have had any complaints of the quality of the streams and so on.

Again, thank you for responding!


----------



## DanSyor (Feb 8, 2014)

Xphome said:
			
		

> The newest Nvidia beta drivers removes the need for a license. I've not tried it myself but that's what people say.


Thanks, just tried it, seems it's working!


----------



## Xphome (Feb 8, 2014)

Spellruler said:
			
		

> Thanks for responding, I do stream in 720P and 30 FPS. The stream in question is partnered, my personal stream however, is not.
> 
> I do use veryfast X264, with a max bitrate and buffer of 3500 for video encoding. ( I have about 7 upload so that shouldn't be a problem, unless you were referring to something else).
> 
> ...


3500 for 720p 30FPS? We stream that at 2000-2500 without problems, of course it depends on how much motion there is. If you don't need to free up CPU cycles you can just stick with not using NVENC. But I recommend you try and see what works best for you, choosing which settings to stream at should be done on a case-by-case basis.


----------



## gdlk (Feb 10, 2014)

Great news about adding NVENC! Working perfect for me on GTX670. Many thanks to all developers, you are great guys.


----------



## Bosenator (Feb 11, 2014)

I have a GeForce GTX 770, and overwritten the ObsNvenc.dll with the license key precompiled dll (page 2). It won't work.

Log file:


Spoiler



21:37:02: Open Broadcaster Software v0.60b - 64bit (　^ω^)
21:37:02: -------------------------------
21:37:02: CPU Name: Intel(R) Core(TM) i5 CPU         750  @ 2.67GHz
21:37:02: CPU Speed: 2675MHz
21:37:02: Physical Memory:  16381MB Total, 9456MB Free
21:37:02: stepping id: 5, model 30, family 6, type 0, extmodel 0, extfamily 0, HTT 1, logical cores 4, total cores 4
21:37:02: monitor 1: pos={0, 0}, size={1920, 1080}
21:37:02: monitor 2: pos={1920, 0}, size={1920, 1080}
21:37:02: Windows Version: 6.1 Build 7601 S
21:37:02: Aero is Disabled
21:37:02: -------------------------------
21:37:02: OBS Modules:
21:37:02: Base Address     Module
21:37:02: 000000003F0F0000 OBS.exe
21:37:02: 00000000EFBE0000 OBSApi.dll
21:37:02: 00000000F8D00000 DShowPlugin.dll
21:37:02: 00000000F8CD0000 GraphicsCapture.dll
21:37:02: 00000000F9080000 NoiseGate.dll
21:37:02: 00000000F9010000 PSVPlugin.dll
21:37:02: ------------------------------------------
21:37:02: Adapter 1
21:37:02:   Video Adapter: NVIDIA GeForce GTX 770
21:37:02:   Video Adapter Dedicated Video Memory: 2087387136
21:37:02:   Video Adapter Shared System Memory: 2147807232
21:37:02:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
21:37:02:   Video Adapter Output 2: pos={1920, 0}, size={1920, 1080}, attached=true
21:37:02: =====Stream Start: 2014-02-11, 21:37:02===============================================
21:37:02:   Multithreaded optimizations: On
21:37:02:   Base resolution: 1920x1080
21:37:02:   Output resolution: 1280x720
21:37:02: ------------------------------------------
21:37:02: Loading up D3D10 on NVIDIA GeForce GTX 770 (Adapter 1)...
21:37:02: ------------------------------------------
21:37:02: Audio Format: 44100hz
21:37:02: Playback device {0.0.0.00000000}.{68461c56-2811-4a49-9f96-4f83e31a6222}
21:37:02: ------------------------------------------
21:37:02: Using desktop audio input: Speakers (VIA High Definition Audio)
21:37:02: Using 5.1 speaker setup
21:37:02: ------------------------------------------
21:37:02: Using auxilary audio input: Microphone (Blue Snowball)
21:37:02: ------------------------------------------
21:37:02: Audio Encoding: AAC
21:37:02:     bitrate: 128
21:37:02: Using Monitor Capture
21:37:02: Scene buffering time set to 700
21:37:02: Successfully loaded ObsNvenc.dll
21:37:02: ObsNvenc initialized successfully
21:37:02: CUDA loaded successfully
21:37:02: >> cuInit(0) - failed with error code 0x3e7
21:37:02: Couldn't initialize encoder
21:37:02: Number of times waited to send: 0, Waited for a total of 0 bytes
21:37:02: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
21:37:02: Number of bytes sent: 0
21:37:02: =====Stream End: 2014-02-11, 21:37:02=================================================









Edit: Same with beta nvidia driver.

Edit: I derped, ignore this - working perfectly.


----------



## BtbN (Feb 11, 2014)

You're most likely using an outdated nvidia driver. Use the latest beta driver.
Also make sure you actualy reboot after updating the driver.


----------



## Boildown (Feb 14, 2014)

So I finally got around to putting my home theater PC's GT630 in my encoder PC to try out NVEnc with the latest Nvidia beta drivers.  And it works, works even though the card is too slow to do any x264 encoding except on UltraFast (capturing to the hard drive at 1080p60 from a Datapath E1S capture card).  I've only tried it at high bitrates and the playback afterwards looked fine.

What I'm wondering now:  How can I tell NVEnc to use constant quantizer mode (qp) instead of constant bitrate?  Do I just put it on the x264 command line like I would for OBS's default x264 (qp=24, for example)?

I also had 20% duplicated frames according to the log when doing 20000/20000 bitrate/buffer.  But on playback, it looked pretty decent, so not sure what to make of it.  I did re-read this entire thread and someone mentioned using 20000/7000, so I'll try that next, or try QP mode if I can find out how to enable it.


----------



## BtbN (Feb 14, 2014)

You can't, nvenc does support it, but there is no way to tell obs to use it.

Edit: Well, in theory you can, by editing the nvenc xconfig files in %appdata%\OBS


----------



## Boildown (Feb 14, 2014)

BtbN said:
			
		

> You can't, nvenc does support it, but there is no way to tell obs to use it.
> 
> Edit: Well, in theory you can, by editing the nvenc xconfig files in %appdata%\OBS



Looking at those files, there's last_nvenc_config.xconfig and nvenc_config.xconfig .  It looks like last_ contains what I used in my last encode or current setup, but nvenc_config.xconfig is zero length.  How do I make these changes?  I assume changing the last_ file will just be overwritten, and since the other file is zero length... not sure where to do this.

One more thing, isn't it not efficient to have the gopLength set to 30?  Or is that just a safe value for people who stream at low framerates?  For streams at 30fps, a 2 second keyinterval would mean the goplength could be 60, streams at 60fps could be set to 120 (for Twitch).  Is this something I can edit considering I'm just saving to the hard drive, or is it a limitation of NVENC?


----------



## BtbN (Feb 15, 2014)

gopLength is calculated from the keyint you have configured in OBS.
You can just put any options from nvenc_last_xconfig into the normal one.


----------



## Boildown (Feb 15, 2014)

BtbN said:
			
		

> gopLength is calculated from the keyint you have configured in OBS.
> You can just put any options from nvenc_last_xconfig into the normal one.



It seems that goplength is set to 30 no matter what.  At least its using 30 even when my fps is 60.

Do I copy and paste a line in or do I need to keep the bracket structure, or copy and paste the whole thing, or what?


----------



## BtbN (Feb 15, 2014)

it's json, it is read from the exact same path as in the dump.


----------



## Boildown (Feb 17, 2014)

I gave up for now, offloading to NVENC for the local capture didn't allow my first OBS instance to software encode at any higher settings than before.  Not sure why that was, but it was.  I'm thinking of getting a GTX750Ti, on the Maxwell chip, when it comes out on Tuesday, depending on how well its reviewed.  And especially if the NVENC encoder on it is improved (like the Quicksync was improved going from Sandy > Ivy > Haswell).

The GT630 _is_ capable of encoding with OBS, but only in NVENC mode.  In regular software mode its too damn slow, just like my old GTX260.


----------



## BtbN (Feb 17, 2014)

Software encoding does not profit at all from changing your GPU, it depends on the CPU alone, or what do you mean?


----------



## Boildown (Feb 17, 2014)

I run two instances of OBS, one for local recording at a high bitrate and full resolution, and the other for streaming to Twitch.  I tried using NVENC on the local capture to free up the CPU to run the stream to Twitch at a higher quality setting, but it turned out that it didn't actually allow me to do that.


----------



## ubuntuaddicted (Feb 17, 2014)

Boildown said:
			
		

> I run two instances of OBS, one for local recording at a high bitrate and full resolution, and the other for streaming to Twitch.  I tried using NVENC on the local capture to free up the CPU to run the stream to Twitch at a higher quality setting, but it turned out that it didn't actually allow me to do that.


this is absolutely brilliant and don't know why i didn't think of this. The last test build i tried still didn't have the ability to do local recording only though, i had to click "start stream" and then click "stop stream" and the local recording would keep going for when I want to do a local recording only. Is local recording only available now in the latest dev build?

I also see now that utilizing an nvidia gtx 760 is supported for offloading the encoding from the cpu onto the gpu. how does this affect my gaming though? I ask because I had tried using intel quick sync when I was gaming on my i5-4670k BUT it made the game go from 30fps to only 20fps. so OBS was using the igpu for encoding BUT it took so much away from the igpu that it made the game perofmance suffer. Will i still be able to game at 1080p@60 with my gtx 760 AND encode using it with a really high bitrate?


----------



## Boildown (Feb 17, 2014)

ubuntuaddicted said:
			
		

> this is absolutely brilliant and don't know why i didn't think of this. The last test build i tried still didn't have the ability to do local recording only though, i had to click "start stream" and then click "stop stream" and the local recording would keep going for when I want to do a local recording only. Is local recording only available now in the latest dev build?


We've been able to run two (or more) OBS instances for as far back as I've tracked the project closely.  You need to use a -multi switch on the command (target) line, try a forum search for more info.  You can absolutely choose to stream only or save to disk only, but that isn't new to the .60 version, just the buttons on the front.  Since I was running two OBS instances this doesn't affect me, in essence I was already doing it, but its been available since the beginning as far as I know.



			
				ubuntuaddicted said:
			
		

> I also see now that utilizing an nvidia gtx 760 is supported for offloading the encoding from the cpu onto the gpu. how does this affect my gaming though? I ask because I had tried using intel quick sync when I was gaming on my i5-4670k BUT it made the game go from 30fps to only 20fps. so OBS was using the igpu for encoding BUT it took so much away from the igpu that it made the game perofmance suffer. Will i still be able to game at 1080p@60 with my gtx 760 AND encode using it with a really high bitrate?


Almost certainly you can at least use NVENC to capture to disk as you say, the impact of NVENC is minimal, and with a high bitrate, the image fidelity is very nice.  This is right in NVENC's wheelhouse, as it were.


----------



## Boildown (Feb 18, 2014)

Boildown said:
			
		

> I'm thinking of getting a GTX750Ti, on the Maxwell chip, when it comes out on Tuesday, depending on how well its reviewed.  And especially if the NVENC encoder on it is improved (like the Quicksync was improved going from Sandy > Ivy > Haswell).



Well I guessed right, I think.  Multiple reviews and an Nvidia employee are saying that the NVENC is improved in Maxwell over Kepler, saying its now "1.5 to 2 times faster" for realtime encoding.  Now that doesn't necessarily mean its better for our purposes, for all I know they added a "super high performance" preset that lowers the quality even more and is that much faster, which would be worthless to us (unless maybe if you wanted to capture 120fps).  There are three factors to encoding, so just giving one of those and saying "its faster" is meaningless, as there's still two unknowns.

http://www.anandtech.com/show/7764/the- ... -maxwell/2

If the High Quality preset is now 2x faster and I can capture 1080p60 without duplicating frames, I'll be quite pleased, so I'm probably going to go ahead and get one of those GTX 750 Tis and find out if its true or not.


Edit: Reviews look good, so went ahead and ordered this: http://www.newegg.com/Product/Product.a ... 6814487024 .

Feels odd replacing my 560Ti with this, as the 560Ti is far faster.  But also 3x the TDP and quite noisy, and its no longer my gaming machine.  As long this 750Ti can software capture as well as the 560Ti, I'll be satisfied, NVENC will be a nice bonus.


----------



## Boildown (Feb 20, 2014)

The brand new out of the box smell of the EVGA 750 Ti OC is overwhelming, it just arrived earlier today from UPS / Newegg.  I've spent the last two hours benchmarking it, and I was super excited with its performance until I put my 560Ti back in as the control and found that my five minute test video wasn't pushing the encoder nearly as much as even a below average playsession of Planetside 2.  That makes my benchmarks worthless and since the servers are back up, I'm just going to give it a live test.


----------



## Calv101 (Feb 21, 2014)

Can someone update the links for the .dll, as they dont seem to work?


----------



## Xphome (Feb 21, 2014)

Calv101 said:
			
		

> Can someone update the links for the .dll, as they dont seem to work?


The DLLs are not needed with the latest Nvidia drivers.


----------



## Calv101 (Feb 21, 2014)

Xphome said:
			
		

> Calv101 said:
> 
> 
> 
> ...



Oh i see, i just getting to grips with the understanding of nvenc, its just that earlier comments talked about black screen with it enabled on not with out it enabled and i am having this issue.


----------



## Boildown (Feb 21, 2014)

By the way, with the latest drivers (non-beta even) my 750Ti was getting encoding performance indistinguishable from my 560Ti in actual game recording+streaming.  Which is good because the 750Ti is slower, but since this is supposed to be CPU bound, it shouldn't matter (and it doesn't).  That was x264-only.  Tonight I'll try NVENC with the new and improved Maxwell chip.

Edit: I captured 1080p60 to disk on High Quality with only 0.20% duplicated frames. On the GT630 I couldn't achieve that without using High Performance mode.


----------



## dandruff (Feb 28, 2014)

Hey guys, I've been all over the forums watching your progress with NVEnc. I've finally got a GTX 750 to start using (hopefully in tandem with AMD 7970, but I haven't gotten that far yet). I just wanted to say thank you for the work that you guys put into it! It works extremely well on my end. The quality is arguably (even if insignificantly) worse, but you would be hard pressed to see it. Other than that, I have no complaints and the my CPU can finally rest when I stream (I was very close to 80% before, now its around 5%).

I am still extremely interested in Nvidia's NVFBC and NVIFR as from what I understand, gives you better performance when reading back frames from the front buffer. Thanks again guys and you can expect some $$ from me.


----------



## Boildown (Mar 1, 2014)

Using a GTX 750Ti, I just did a 3+ hour Planetside 2 capture and stream using two instances of OBS.  NVENC at 20k/20k bitrate/buffer on High Quality preset capture to disk: 0.18% duplicated frames.  And simultaneously streamed x264 3000/2000 bitrate/buffer on Medium preset to Twitch: 0.17% duplicated frames.  On an i7 2600k OCed to 4.3Mhz.

That is far better than I could do with x264 on both OBS instances, or using the GT630 to do the NVENC.  And I'm not even done tweaking it yet.


----------



## Exchequer (Mar 7, 2014)

Ok I cannot get this working.

I am using v0.612b with Nvidia 331.21. When I try to stream I get OBS requesting the dll file. Unfortunately the .dll links have been removed (!).

When I update to Nvidia 334.89 OBS says my hardware does not support Nvenc and is greys out the nvenc options. Also this driver is known to cause some issues so I would rather not use it.I personally rolled back to the previous driver, regardless of OBS, because I got some weird game errors. 

Hardware is 2500k+660Ti and Windows 7 x64.


----------



## Exchequer (Mar 13, 2014)

Update: New OBS says you need at least 334.xx. So I updated to latest WHQL=335.23 and NVENC support is no longer visible in OBS (0.613b).


----------



## Gol D. Ace (Mar 13, 2014)

Restart your computer after updating the driver. That should help.


----------



## Striketh (Mar 24, 2014)

Just wanted to stop in and give some feedback on NVEnc. First of all, I've been running it for my latest captures at 20kb/s bitrate with 0 buffer and thus far it's been pretty great. I'm running an i7 4770k with SSD's, a Geforce 670 GTX and 16 GB of RAM so I don't really -need- to use NVEnc, but it's always nice to find alternatives for when my hardware becomes dated.

I'm really impressed with what I've seen so far. Aside from one issue I ran across where it said that the encoder wasn't available after stopping and starting local recording (this only occurred once) it's been pretty smooth. The only issue I've been having is that I've been experiencing crashing issues with OBS (currently on 0.613b) sometimes when I'm stopping a local recording. I'm not sure what causes it, but most of the time it's smooth; other times it just stops responding, crashes and then I have to restart OBS. This has only been occurring since I started using NVEnc.

FYI I'm also on the latest Nvidia drivers.

The crashing is pretty minor as it's never happened while I've been in the middle of recording, so it hasn't had a truly negative impact on that aspect. I'm really happy with the way OBS is going and I hope to see it continue to improve.


----------



## Hajimoto (Apr 11, 2014)

Getting Encoder Initialization falure ever since Nvidia Shadowplay 2.0 release which required Nvidia Beta Driver 337.50.  Anyone else having this issue?


----------



## Boildown (Apr 11, 2014)

Hajimoto said:


> Getting Encoder Initialization falure ever since Nvidia Shadowplay 2.0 release which required Nvidia Beta Driver 337.50.  Anyone else having this issue?



Yeah, there's a thread on it in the Bugs forums (although its not an OBS bug): https://obsproject.com/forum/threads/obs-nvenc-337-50-driver.13244


----------



## Hajimoto (Apr 11, 2014)

Boildown said:


> Yeah, there's a thread on it in the Bugs forums (although its not an OBS bug): https://obsproject.com/forum/threads/obs-nvenc-337-50-driver.13244



I assumed "NVEnc Feedback thread" was the right place to ask this :(

Thanks for the proper redirect


----------



## Boildown (Apr 12, 2014)

Hajimoto said:


> I assumed "NVEnc Feedback thread" was the right place to ask this :(
> 
> Thanks for the proper redirect



This is a fine place too, although I'm not a mod, at least it seems like so. I was just pointing you and future visitors to this thread to the place with more information.


----------



## Hoax (Apr 22, 2014)

dandruff said:


> I am still extremely interested in Nvidia's NVFBC and NVIFR as from what I understand, gives you better performance when reading back frames from the front buffer. Thanks again guys and you can expect some $$ from me.


I assumed NVFBC and NVIFR were implemented. The case being that recording sessions barely touch my CPU now as opposed to exhausting it with x264 options. Surely there's no big need for them in OBS.


----------



## Boildown (May 9, 2014)

Nvidia was supposed to be contacting the OBS devs to work out why NVEnc wasn't working with the current beta drivers.  Has this actually happened?  Manuel Guzman said something to the effect on Twitter a bit back.


----------



## Jack0r (May 9, 2014)

https://github.com/jp9000/OBS/commit/6c570a757faeead89fa5353c78ba815db57a3a22
wait for the next obs update and this fix should be in.


----------



## Boildown (May 9, 2014)

My fault, the 337.50 problem thread has the info, but I didn't have that thread on watch like I thought, so I didn't notice BtbN's update.


----------



## ZergSquad (May 10, 2014)

Where i can download obsnvenc.dll? Old one is not working ...


----------



## Jim (May 12, 2014)

It'll be fixed next update.


----------



## ZeroWalker (Jun 5, 2014)

why was my post of it removed;S?


----------



## paibox (Jun 5, 2014)

Partially because random links to DLLs are not encouraged, and wasn't this fixed in 0.624 already? I'm not even sure why you posted it to begin with.


----------



## ZeroWalker (Jun 5, 2014)

I see, well thought it wasn't fixed so just thought, well as i build the latest source, why not just post it to make them happy until it's done by you.


----------



## Helixia (Jun 22, 2014)

With high bitrate N|VENC looks great!
But i have a problem when i use NVENC i suffer from "memory leaks".
I tried to stream in Defeault, High Performance and High Quality.

Last log File: http://pastebin.com/p9dMwb2d (local stream)

I'm not sure if it is Twitch and/or NVENC everytime i stream my stream buffers a lot.
When i stream i almost play everytime Giuld Wars 2.
I stream at 720p with 3000/3500 kb/sec.
My ineternet speed and ISP can both handle that.


----------



## Yoshen (Jun 27, 2014)

Helixia said:


> With high bitrate N|VENC looks great!
> But i have a problem when i use NVENC i suffer from "memory leaks".
> I tried to stream in Defeault, High Performance and High Quality.
> 
> ...



I've been trying to stream NVNEC to twitch since it came out and I have 150/60 Mb FIOS and have the same problems with Twitch throttling streams... (My streams on twitch buffer even at 480p) so I started streaming to HitBox which has been working great for me so far...


----------



## Hopewithinchaos (Jul 2, 2014)

Make sure you're still using Twitch's recommended settings and not going over. max 3500 video bitrate, etc.


----------



## Helixia (Jul 2, 2014)

Hopewithinchaos said:


> Make sure you're still using Twitch's recommended settings and not going over. max 3500 video bitrate, etc.



I still use the recommened settings in their setup guide.
The only thing i do different is that i use Nvidia NVENC.


----------



## FortuN (Nov 15, 2014)

The new settings in obs such as "2-pass streaming" is actually very good quality. However, i can't use it proberly since im on 660TI. But i tested it (With alot of flimmering) and the quality was really really good. I tested with Cs-Go at 60fps 1536x864.


----------



## Justin Johns (Nov 20, 2014)

Gol D. Ace said:


> *Re: 0.60 test build 1*
> 
> 
> 
> ...




Set a hot key and for some reason nvenc cause your stream to be like 5-10mins behind, but doesnt drop a frame.


----------



## isamu (Nov 27, 2014)

FortuN said:


> The new settings in obs such as "2-pass streaming" is actually very good quality. However, i can't use it proberly since im on 660TI. But i tested it (With alot of flimmering) and the quality was really really good. I tested with Cs-Go at 60fps 1536x864.



What is 2-pass streaming? Link to an explanation?


----------



## ezoray (Nov 30, 2014)

I'm getting a repeatable crash when using NVENC encoding.

I can record with High Quality fine, but High Quality Low Latency causes OBS to lock up within a second or two. High Performance Low Latency seems fine.

I've attached log etc files.


----------



## Jim (Dec 5, 2014)

I might have to start working on the nvenc stuff myself at some point to try to work out the issues, though I'm not entirely happy about it.  I can't give any time frames on this however.


----------



## Boildown (Jan 12, 2015)

There's no reason to use any of the low latency presets anyways. Just because they're present doesn't mean they should be used.  Just stick to High Quality and High Performance and realize that at 1080p60 you must have a Maxwell-based GPU to use High Quality.

Two pass... if it even works for streaming its not being used correctly.  Streaming is one-pass by definition.  The other presets are designed for non-streaming applications and other than HQ and HP shouldn't be used with OBS.


----------



## FortuN (Jan 12, 2015)

Is there any quality improvements in using Maxwell vs Kepler that can be seen?


----------



## BtbN (Jan 14, 2015)

The low-latency presets, for some weird reason, give a better visual quality at streaming bitrates.
And 2pass also significantly increases the visual quality. I have absolutely no idea what nvidia means with 2pass in this context, but that mode is intended for lower constant bitrates.
The nvidia ShadowPlay uses exactly this mode when you use it to stream to twitch, and so does the Automatic-Mode in OBS.


About Maxwell: Maxwell bringt no quality upgrades. The only thing that changed is that it got faster. So 1080p60 with the highest quality options might be possible there.


----------



## Floatingthru (Jan 16, 2015)

The Maxwell GTX 970/980 can do 4k@60fps 130mpbs as the max for shadowplay recordings. In OBS I could only do 4k@30fps without the encoder lagging. The quality for low bitrate streams didn't increase, though.


----------



## Boildown (Jan 17, 2015)

Which preset was being used for Shadowplay at 2160p60?  Which preset were you using for NVEnc/OBS at 2160p30?  Any log files?


----------



## Floatingthru (Jan 17, 2015)

High quality for both presets. I am really impressed with my 970. It is a shame that if I upload a 4k@60fps video to youtube it will only show 1080p@60fps ;p

https://gist.github.com/anonymous/722e5c6de4765b9c1311
https://www.youtube.com/watch?v=YLb_SzUlvnw
https://gist.github.com/2064f2c830c39e36e545
https://gist.github.com/2064f2c830c39e36e545
https://www.youtube.com/watch?v=dGqLKATVrXE


----------



## Boildown (Jan 17, 2015)

Looks like NVEnc kicked ass on HQ at 2160p30.  Don't see any NVEnc 2160p60 attempts though.  This is new info, I've never seen a log file for 4k encoding before, thanks for that.


----------



## Floatingthru (Jan 17, 2015)

4k@60fps really chugs on OBS with lots of duplicated frames no matter what preset I use. Shadowplay does it very smooth!


----------



## n3v3rm1nd (Jan 28, 2015)

Will there be any updates on the stuttering at 60fps and performance hit? using Shadowplay gives me butter smooth video with nearly no performance hit but the sound sucks.

Is it possible to get the same smoothness on obs??


----------



## thedukey (Jan 29, 2015)

Is NVENC working for anyone? Keeps giving me encoder initialization failed.


----------



## Boildown (Jan 29, 2015)

Yep, I use it practically every day.  Make sure you have recent drivers installed and that you're using an NVEnc capable video card.  I.e. GT630 series or later.


----------



## sherzsod (Feb 2, 2015)

so i cant use gtx 580 ?


----------



## Floatingthru (Feb 3, 2015)

sherzsod said:


> so i cant use gtx 580 ?



No.


----------



## kaellar (Feb 11, 2015)

I tried lots of different things but I still can't find out why NVENC stutters that much for me. Shadowplay records 50mbit/s 1080p/60 butter smoothly, while OBS can't even do 1080p/30 20mbit/s without being a laggy stuttering mess.


----------



## n3v3rm1nd (Feb 14, 2015)

kaellar said:


> I tried lots of different things but I still can't find out why NVENC stutters that much for me. Shadowplay records 50mbit/s 1080p/60 butter smoothly, while OBS can't even do 1080p/30 20mbit/s without being a laggy stuttering mess.



Yeah the implementation is okay when using the low latency profiles, then you dont have such a big performance hit.


----------



## enemy2k (Feb 14, 2015)

I've noticed a serious issue whenever I use OBS with NVENC, my memory on the GPU down clocks to 3,000 MHz, it should be at 4,000mhz. This downclock only happens when I start to stream or preview stream using NVENC. This is 1,000 MHz lower than what it should be. This down clock hurts my FPS by quite a bit and I am trying to figure out why it does this only with OBS. I have tested both "manual" and "shadow" modes with Shadowplay and they do not downclock. I have not tested the streaming functionality with Shadowplay yet.

I am using a GTX960 with the latest WHQL 347.52 drivers.
I also using the newest beta version of OBS x64.


----------



## ezoray (Feb 14, 2015)

I just wanted to post this as I'm seeing different behavior from a few months ago.

I was able to record at High Quality with no issue previously but I've tried it again with the only change being the latest Nvidia driver and I'm dropping a lot of frames.

I've rolled back to driver 340.52 and am once again recording with no problems.

Graphics chip is a 750m.


----------



## Kluvwen (Feb 15, 2015)

enemy2k said:


> I've noticed a serious issue whenever I use OBS with NVENC, my memory on the GPU down clocks to 3,000 MHz, it should be at 4,000mhz. This downclock only happens when I start to stream or preview stream using NVENC. This is 1,000 MHz lower than what it should be. This down clock hurts my FPS by quite a bit and I am trying to figure out why it does this only with OBS. I have tested both "manual" and "shadow" modes with Shadowplay and they do not downclock. I have not tested the streaming functionality with Shadowplay yet.
> 
> I am using a GTX960 with the latest WHQL 347.52 drivers.
> I also using the newest beta version of OBS x64.


I'm having a similar issue, ram on GTX 980 is downclocking ram to 3000 Mhz with driver 347.52.


----------



## JG52Karaya (Feb 18, 2015)

Also had massive problems with NVENC and the latest Nvidia drivers. I am mostly using OBS for local recording at 1080p and 60fps onto a secondary hard drive. What driver do you people think is the latest one that's not causing issues with OBS & NVENC?


----------



## enemy2k (Mar 6, 2015)

Got a reply from an Nvidia Rep ManuelG.

"CUDA is used in NVFBC. Because many of the use cases where an application uses CUDA, precision has a higher priority over speed. This is part of the reason why workstation CPUs and GPUs typically run at a lower clock speed than their consumer equivalents. We are developing an app profile system to catch cases where CUDA is used for consumer level applications (such as OBS) so that the memory clock speed will not clock."


----------



## ZZMthesurand (May 28, 2015)

I usually record with Shadowplay, and I tried to use OBS with NVEnc, with the preset set to NVdefault, at 50mbit/s bitrate. I tried recording GTA: SA with mods on OBS, and the FPS tanked to 20-30 fps. When I tried to record it with Shadowplay @ 50mbit/s and 60fps, the FPS didn't drop any more.


----------



## ball2hi (Jul 21, 2015)

For some reason I keep getting encoder initialization errors. Yes, I am using a recent driver 350.12 (Stable, unlike the newer drivers) and yes I have a capable card (GTX 760). Why the hell can't I use NVENC?


----------



## Boildown (Jul 22, 2015)

Do you have anything to show us besides "encoder initialization errors"?  OBS log file, crash log, screen shots, courtroom drawings?


----------



## ball2hi (Jul 22, 2015)

Boildown said:


> Do you have anything to show us besides "encoder initialization errors"?  OBS log file, crash log, screen shots, courtroom drawings?


My 32Bit OBS lets me use Shadowplay, however my 64Bit OBS does not. However my 32Bit OBS doesn't seem to play well with Rivatuner... even when I list it to not detect, it keeps giving me "hook errors" that I have to alt-tab to ignore so I'd much prefer to use the 64Bit OBS.


----------



## Kein (Aug 15, 2015)

http://www.twitch.tv/keinzantezuken/v/11015476

FF to 0:46

I'm trying to understand what causes such insane frameskipping. Low Latency profiles seems to reduce the frequency of it but it still happens. Any ideas?


----------



## Boildown (Aug 16, 2015)

Use High Performance preset instead of High Quality and instead of Low Latency anything.  And if you still have problems after that, make a new thread and post a log file.

That said, if you're using NVEnc to feed Twitch its going to look bad, not enough bitrate, use x264 instead.


----------



## Kein (Aug 17, 2015)

Boildown said:


> Use High Performance preset instead of High Quality and instead of Low Latency anything.  And if you still have problems after that, make a new thread and post a log file.
> 
> That said, if you're using NVEnc to feed Twitch its going to look bad, not enough bitrate, use x264 instead.


I tried different presets but the issues till persist.
The "motion blockness" isn't an issue for now.


----------



## TackMeister (Nov 10, 2015)

Not sure if this would even be helpful but after a brief lapse of reason (experimenting with x264 instead of NVEnc) I ended up going back to NVEnc.  x264 is very nice with OBS but I just don't want the CPU load on the gaming rig.  The 2 presets I've been using lately are NV Default and HQLL (High Quality Low Latency).  Both of these have very high quality output for me - but here's the kicker -- *at 50 megabits.*  I don't stream directly to Twitch from OBS at "typical streamer bitrates" because of my past experiences with NVEnc output at such low bitrates (looks "blegh!") and because I'd rather do transcoding on a 2nd box where it doesn't impact game FPS, and where I have complete control over the ffmpeg x264 options used to transcode down to those typical streamer bitrates to get the best quality possible.

Anywho, all this really just to say that NVEnc is very capable of delivering high quality output at 60fps.  I have had some problems here and there with my OBS setup, two in particular that are driving me nuts currently, but NVEnc can definitely do the job with OBS @60fps if the rig it's running on can keep up and the game isn't doing something counterproductive.

The trick with NVEnc in my experience is pretty simple:  *Don't expect high quality video output from *ANY* of the NVEnc presets at bitrate levels that Twitch and other similar services recommend to stream at - you will NOT get it.*  I can't answer why NVEnc is seemingly so inefficient with its bitrate budget -- or at least as I have seen with OBS (the only NVEnc app I've ever used, so I'm not blaming OBS) -- but I have seen many, MANY people say don't use NVEnc because "its quality sucks".  My response is simply:  "you aren't outputting a high enough bitrate for it to look good".

I would agree with the notion that OBS using NVEnc is probably not a good solution for people who don't want to mess with a 2nd transcoder box, and just want to output from OBS directly to Twitch or other services at their recommended bitrates.   But it is exactly what I want for what I'm trying to do.

Admittedly I am not a full time streamer, more of a hobbyist at this point -- but I am sort of a perfectionist or whatever other noun you'd like to substitute.   I look at this way:  A "new kid on the block" has a lot better chance of gaining regular viewers with high video quality than mediocre or crappy video quality.  I have been tuning OBS, game graphics and ffmpeg transcoder settings, etc etc. in my not-so-copious spare time for a few months now to get the absolute best quality video I can get out of the setup I have.  I've also streamed other games in the past with older versions of OBS that supported NVEnc a couple years ago.

Strangely enough, I actually have problems using 30fps output (XBMC calls it 20fps, plus or minus 2-3fps, and discards about 1/3 of the frames in the stream).  60fps output is pretty darn solid/stable for me as long as I don't have certain options in the game above "internet documented" levels.  But that's a different conversation.

EDIT:  Currently using OBS 64-bit 0.655 beta.  Gamer rig is an OC'd 5960X with SLI'd 980Ti's, running Windows 7 x64 SP1.


----------



## Beast96GT (Nov 11, 2015)

TackMeister,  I've got a similar setup and I'm trying to do the same thing.  However, I'm trying to crop my Nvidia surround (6000x1080) down to 1920x1080, but so far but running NVENC encoding seems to still cause issues.

Do you mind posting your settings for NVENC encoding?  I've been tinkering with 50K on bitrate and 50K custom buffer size, but a lot of the other settings are baffling.     Thanks.


----------



## TackMeister (Nov 13, 2015)

Hi Beast96GT,

Ah, so you're using surround monitors. I've never done that before.  This is just a guess but I'm not sure 50000 would be enough for 6000x1080.  50000 works well for me but I'm only game- or window-capturing one 1920x1080 monitor and downscaling that in OBS to 1280x720 (or 960x540 lately) with lanczos.  For THREE monitors' worth of 1920x1080 frames at your selected framerate, I wouldn't be surprised if you need to raise that max bitrate and buffer size up higher.

I don't have a lot of details on the maximum bitrate/buffer sizes of different NVidia cards - I'm sure it's out there somewhere.  I do seem to remember reading a couple years ago that the Kepler (higher end 6xx series) GPU chips could handle higher NVEnc bitrates than older/lesser generations.  I had used values as high as 100000 without problems with then-current OBS versions and my older Core2 Quad (Q9650) and an EVGA GTX680 FTW to do 1280x720@30fps, and I don't think 100000 was the upper limit on the GTX680.  I'm using 2 GTX980Ti's in SLI now with an overclocked i7-5960X, but 50000 is easier on my transcoder rig than higher values at the slower x264 ffmpeg presets I prefer/need to use for _$this_game._

It it was me, I'd try 150000 bitrate and 150000 (non-custom) buffer size and work down from there.

Anywho, here's some details of a 50mbit 1280x720@60fps config that is probably the best I came up with for _$this_game._

*Encoding* tab

NVidia NVENC
*Enable CBR* checked
*Enable CBR padding* checked
*Use Custom Buffer Size* unchecked
*Max Bitrate (kb/s)*: 50000
*Video* tab

*Base Resolution:* 1920x1080
*Aspect Ratio:* 16:9
*Resolution Downscale:* 1.50 (1280x720)
*Filter:* Lanczos (best detail, 36 samples)
*FPS:* 60
*Disable Aero:* unchecked
I generally use game capture as a source, although window capture also seems to work equally well.  It's Windows 7 and I'm not using Monitor Capture so there is no good reason to turn the Disable Aero checkbox on.

*Advanced* tab

*Use Multithreaded Optimizations* checked
*Process Priority Class: *Normal
*Scene Buffering Time:* 700
*Disable Encoding While Previewing *checked
*NVEnc Preset: *High Quality Low Latency
*Encoding Profile: *High
*Keyframe Interval:* 2
*Use CFR:* unchecked
(everything else in this tab is unchecked - the default)
All the usual disclaimers apply - YMMV - what works well for you will depend on your system hardware, peculiarities of your OS, what game you're playing, what graphics settings you are using in the game, what other shizzle you have running, and possibly the phase of the moon and solar particle count.  *You will need to plan on tuning the output to your game, system, graphics settings, etc. until you are happy with it.*

PS:  I would recommend also  saving a local copy of the file under the Broadcast Settings tab (Automatically save stream to file) while you are troubleshooting, so you have a way to know if a problem you are seeing in the final output from your 2nd PC (transcoder box) was also present in the original 50mbit stream coming from NvENC/OBS or not. (ie, are the encoder settings on the 2nd PC causing the problem or was the problem already there before the stream was transcoded?)  Just remember these files will be huge.

Good luck!


----------



## Boildown (Nov 13, 2015)

The maximum resolution defined by H.264 is 4096 in either direction, so make sure you don't try to encode something bigger than that, it won't work.


----------



## Beast96GT (Nov 14, 2015)

Thanks for the responses, guys.  A little clarification, I'm not trying to capture 6000x1080, I'm trying to capture the middle 1920x1080 region out of that resolution.  This is because I want to play locally using my Nvidia Surround G-sync displays, but only stream the middle region.  Cropping seems to be done after capture, so the performance issues I'm having occur no matter what I set the crop too.  

Thanks Boildown, that's good information and certainly the reason for poor performance--I didn't know that.

TackMeister, thanks for posting your stream settings for NVENC, that will really help.  I've got a similar setup, but I've only got an i7-4790K CPU with the SLI 980ti's.  However, I bought an i7-5820K for my streaming PC--but that might be better served as my main CPU. Ultimately, I'd like to use NVENC to offload to the streaming PC.

Here's my plan:

*TL;DR; - *I'm trying to modify the code so it only captures a max width of 1920 (adjustable).  As resolutions get larger, I think this will become more relevant.

I'd like to talk to *Jim *to see if this is even possible, but apparently he's got a lot going on.  How much does he charge for an hour on the phone??   :)   That said, I'm personally modifying the source code to attempt to only capture the 1920x1080 region from the GPU instead of the entire 6000x1080.  So far I've had some success in the D3D11 Capture C++ code, but now I broke something and my test DX11 program crashes every time I try and inject capture code into it.  I'm pissed because I was just messing around and didn't set up my own local git repository, and now that's it's broke and I can't revert.   Doh!  Fail.  But I'll keep trying until I hit a wall--of spikes--because I've already hit a regular wall.  lol.


----------



## Osiris (Nov 14, 2015)

Just come to the #obs-dev IRC channel on quakenet, if you want to talk to Jim.


----------



## Beast96GT (Nov 15, 2015)

Well I think I've done it.   Jim thought the problem was definitely in the Capture code.  After working on it all night, I finally have it working properly and only capturing 1920!    I tested the performance, and noticed quite an improvement.  

Thanks for the settings info, TackMeister.. those seem to be great... However, do you still get messages that your encoder has high CPU usage?  

Anyway, the code is not ready for prime-time yet as there will be a process I'm sure, and there needs to be support added for API's other than DirectX11.   Plus code reviews can be brutal.  ;)


----------



## asianboy0122 (Nov 25, 2015)

Does anyone know what preset would produce the best quality in regular OBS? This is at a bitrate for Twitch mind you. I realize x264 is better looking and hardware encoders are trash, but I can't use x264 as it just causes issues for my i5. So far after a fair bit of searching, I left with mixed results. Any pointers would be appreciated :)


----------



## TackMeister (Dec 18, 2015)

Beast96GT --

Wow, congratulations that is quite a trick you pulled off there - ie changing code and getting what you wanted out of it! :)

Sorry it took so long to respond to your question in the last post - I just now saw it.

When I was still using the original OBS and NvENC I did still see the red message at the bottom of the OBS window sometimes, giving the warning that the encoder had high CPU usage.  But I don't think I ever really saw any problems or lag when that was happening, and the video output was still good.  I'm not sure what makes it think the CPU utilization is in the red zone when NvENC is generating the output - but it would be interesting to know what makes it detect the condition.

I am using x264 now with OBS-MP.  I am not sure offhand what the reason was that I decided to give  it a try, but I knew there was no NvENC support in it for me right now.


I do miss the CPU utilization (or lack thereof) with the combo of original OBS and NvENC output, but it turns out the x264 output at a higher bitrate (and VeryFast) from my gaming PC is not that much of a hit on my gaming PC and the transcoder rig it streams to first is still doing its thing pretty much the same good job.  If/when NvENC becomes an option for OBS-SMP, without having to run Windows 10, and if it reviews well, I'll probably check it out again.

Kudos on your capture success!

@asianboy --

There are probably different opinions here on what preset will produce best quality, and I've seen more than a few good how-to's on stuff like that here in the forums.  There are also some pretty good youtube tutorial-type videos out there that cover a lot of stuff like this too.

But if you can't use x264, then before you worry about which preset to use, you will need to decide which video codec/encoder you are going to use instead.

You might want to start with finding out 1) what "hardware offload" capabilities your system has (like NVidia NvENC, Intel or AMD others, etc.) and what kind of capabilities they have of producing quality output and 2) what formats you can even submit to Twitch in if you don't plan on sending x264/H.264.


----------



## oyoy (Dec 30, 2015)

Jump in just to say how much i appreciated the hard work you guys are doing. With my potato CPU (I5-750 @4GHz) + GTX 770 OC 4GB I used to stream only trough Shadowplay but now with the NVENC + new presets I'm pretty excited that everything works great (15-30% CPU + 30-45% GPU) ..Wow. :D

NVENC + OBS plugins + Features such as layout composition for my 16:10  to align 1080p to one side (right) and use the black space (left) for overlay stuff is a game changer vs. Shadowplay (can't do any layout composition at all).

Now, after testing every single preset for live stream (FPS) I found that "Streaming 2 Pass" _actually_ gives me the best result (Quality/Performance/Latency/Lag). 



Spoiler: All Setting Info



*Encoding* tab

NVidia NVENC
*Enable CBR* checked
*Enable CBR padding* checked
*Use Custom Buffer Size* unchecked
*Max Bitrate (kb/s)*: 2600
*Video* tab

*Base Resolution:* 1920x1080
*Aspect Ratio:* 16:9
*Resolution Downscale:* 1.50 (1280x720)
*Filter:* Lanczos (best detail, 36 samples)
*FPS:* 30
*Advanced* tab

*Use Multithreaded Optimizations* checked
*Process Priority Class: *Normal
*Scene Buffering Time:* 700
*NVEnc Preset: *Streaming 2 Pass

*Encoding Profile: *High
*Keyframe Interval:* 2
*Use CFR:* unchecked



My Questions:
*1. I read people saying "Don't use Streaming 2 pass" ..is there's a technical reason behind this suggestion?*
In all Nvidia documentations I couldn't fine any mention of "Streaming" or "Streaming 2 pass".
*2. Can anyone elaborate a little about those 2 presets please? 
3. How the hell Shadowplay still show 10-15% better quality? Is there anything else that NVENC/OBS is missing?*
This is not a deal breaker of course, just a simple wondering.


----------



## Boildown (Dec 31, 2015)

1) Two pass encoding is designed to go over all the content twice.  Which isn't even physically possible for a live encoding session.  If it even lets you use a two-pass preset at all, it probably only does the first pass and not the second, which probably means shitty quality.  So just don't use it.
2) See 1)
3) Maybe it isn't a fair test.  What bitrate and preset is NVEnc using for each encode when you make this assertion?  How is the quality being measured?


----------



## mbze430 (May 19, 2016)

I posted a problem with the released version of OBS Studio in the support forum in regards to NVEnc won't record at 4k resolution unless I go down to a 2K resolution.  Not sure if anyone here reads the post over there.

Aside from that, will there be support NVEnc HEVC/H.265 support in the future release?

I am not a streamer, so local recording is most important to me.


----------

