Question / Help Quicksync, performance, quality

coldstatic

New Member
I play planetside 2 and have all setting to max. Proc is a 4770k at 4.5 across all 4 cores. The game uses anywhere from 50-80% cpu. I keep reading online about how quicksync has presets for performance/quality but have not found a way to change these in OBS. I streamed a bit with my normal settings and with quicksync so you could see the difference. Tried the analyzer on both files without anything except the stuff about sli. http://r-1.ch/analyze-obs-log.php
Basicaly during high motion scenes it gets that artifacty look. My testmy was 3.5 and i set it to cbr to 2500.

Code:
23:20:10: Settings::Video: Enabling Aero
23:24:58: Open Broadcaster Software v0.54.09 network/gc test - 32bit (´・ω・`)
23:24:58: -------------------------------
23:24:58: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
23:24:58: CPU Speed: 3500MHz
23:24:58: Physical Memory:  4095MB Total, 4095MB Free
23:24:58: stepping id: 3, model 12, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
23:24:58: monitor 1: pos={-1920, 261}, size={1920, 1080}
23:24:58: monitor 2: pos={0, 0}, size={1920, 1200}
23:24:58: Windows Version: 6.2 Build 9200 
23:24:58: Aero is Enabled
23:24:58: -------------------------------
23:24:58: OBS Modules:
23:24:58: Base Address     Module
23:24:58: 008A0000         OBS.exe
23:24:58: 654B0000         OBSApi.dll
23:24:58: 65080000         DShowPlugin.dll
23:24:58: 65060000         GraphicsCapture.dll
23:24:58: 65040000         NoiseGate.dll
23:24:58: 65020000         PSVPlugin.dll
23:24:58: ------------------------------------------
23:24:58: Adapter 1
23:24:58:   Video Adapter: NVIDIA GeForce GTX 780
23:24:58:   Video Adapter Dedicated Video Memory: 3074752512
23:24:58:   Video Adapter Shared System Memory: 1220149248
23:24:58: ------------------------------------------
23:24:58: Adapter 2
23:24:58:   Video Adapter: Intel(R) HD Graphics 4600
23:24:58:   Video Adapter Dedicated Video Memory: 234881024
23:24:58:   Video Adapter Shared System Memory: 1644167168
23:24:58: =====Stream Start: 2013-08-14, 23:24:58===============================================
23:24:58:   Multithreaded optimizations: On
23:24:58:   Base resolution: 1920x1080
23:24:58:   Output resolution: 1280x720
23:24:58: ------------------------------------------
23:24:58: Loading up D3D10 on NVIDIA GeForce GTX 780...
23:24:58: Playback device {0.0.0.00000000}.{082d064a-5621-4ef6-8779-928d8c136bee}
23:24:58: ------------------------------------------
23:24:58: Using desktop audio input: Speakers (Realtek High Definition Audio)
23:24:58: Using 7.1 surround speaker setup
23:24:58: ------------------------------------------
23:24:58: Using auxilary audio input: Mic in at rear panel (Pink) (Realtek High Definition Audio)
23:24:58: ------------------------------------------
23:24:58: Audio Encoding: AAC
23:24:58:     bitrate: 96
23:24:58: Using bitmap image
23:24:58: Using graphics capture
23:24:58: ------------------------------------------
23:24:58: Video Encoding: x264
23:24:58:     fps: 30
23:24:58:     width: 1280, height: 720
23:24:58:     preset: veryfast
23:24:58:     CBR: yes
23:24:58:     CFR: no
23:24:58:     max bitrate: 2500
23:24:58: ------------------------------------------
23:24:58: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 1536000, samples per sec is 48000
23:24:58: MMDeviceAudioSource: Frequency for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' is 352800, samples per sec is 44100
23:24:58: SharedTexCapture hooked
23:25:11: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
23:25:11: 
23:25:11: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
23:25:11: 
23:25:11: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
23:25:11: 
23:25:11: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
23:25:11: 
23:25:11: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.

00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:51:05: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
00:51:05: 
00:52:58: Total frames rendered: 50095, number of late frames: 1 (0.00%) (it's okay for some frames to be late)
00:55:00: RTMPPublisher::SocketLoop: Graceful loop exit
00:55:00: Number of times waited to send: 0, Waited for a total of 0 bytes
00:55:00: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
00:55:00: 
00:55:00: Profiler results:
00:55:00: 
00:55:00: ==============================================================
00:55:00: frame - [100%] [avg time: 0.876 ms (cpu time: avg 0.524 ms, total 26281.3 ms)] [avg calls per frame: 1] [children: 99.2%] [unaccounted: 0.799%]
00:55:00: | frame preprocessing and rendering - [50.9%] [avg time: 0.446 ms (cpu time: avg 0.295 ms, total 14812.5 ms)] [avg calls per frame: 1] [children: 0.228%] [unaccounted: 50.7%]
00:55:00: | | scene->Preprocess - [0.228%] [avg time: 0.002 ms (cpu time: avg 0.001 ms, total 78.125 ms)] [avg calls per frame: 1]
00:55:00: | video encoding and uploading - [48.3%] [avg time: 0.423 ms (cpu time: avg 0.225 ms, total 11281.3 ms)] [avg calls per frame: 1] [children: 44.1%] [unaccounted: 4.22%]
00:55:00: | | flush - [17.4%] [avg time: 0.152 ms (cpu time: avg 0.049 ms, total 2468.75 ms)] [avg calls per frame: 1]
00:55:00: | | CopyResource - [3.08%] [avg time: 0.027 ms (cpu time: avg 0.011 ms, total 593.75 ms)] [avg calls per frame: 0]
00:55:00: | | conversion to 4:2:0 - [1.14%] [avg time: 0.01 ms (cpu time: avg 0.009 ms, total 468.75 ms)] [avg calls per frame: 0]
00:55:00: | | call to encoder - [6.74%] [avg time: 0.059 ms (cpu time: avg 0.053 ms, total 2656.25 ms)] [avg calls per frame: 0] [children: 5.37%] [unaccounted: 1.37%]
00:55:00: | | | ProcessEncodedFrame - [2.63%] [avg time: 0.023 ms (cpu time: avg 0.024 ms, total 1203.13 ms)] [avg calls per frame: 0]
00:55:00: | | | EncodeFrameAsync - [2.74%] [avg time: 0.024 ms (cpu time: avg 0.02 ms, total 1031.25 ms)] [avg calls per frame: 0]
00:55:00: | | sending stuff out - [15.8%] [avg time: 0.138 ms (cpu time: avg 0.084 ms, total 4234.38 ms)] [avg calls per frame: 0]
00:55:00: | Convert444Threads - [7.61e+003%] [avg time: 66.654 ms (cpu time: avg 0.54 ms, total 27093.8 ms)] [avg calls per frame: 1]
00:55:00: ==============================================================
00:55:00: 
00:55:00: =====Stream End: 2013-08-15, 00:55:00=================================================


Last game capture log:
2013-08-14, 23:49:41: we're booting up: 
23:49:41: D3D9 Present
23:49:41: (half life scientist) everything..  seems to be in order
23:49:43: D3D9EndScene called
23:49:43: D3DPRESENT_PARAMETERS {
23:49:43: 	BackBufferWidth: 1920
23:49:43: 	BackBufferHeight: 1200
23:49:43: 	BackBufferFormat: D3DFMT_A8R8G8B8
23:49:43: 	BackBufferCount: 1
23:49:43: 	MultiSampleType: D3DMULTISAMPLE_NONE
23:49:43: 	MultiSampleQuality: 0
23:49:43: 	SwapEffect: D3DSWAPEFFECT_DISCARD
23:49:43: 	hDeviceWindow: 722974
23:49:43: 	Windowed: true
23:49:43: 	EnableAutoDepthStencil: false
23:49:43: 	AutoDepthStencilFormat: D3DFMT_UNKNOWN
23:49:43: 	Flags: D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 
23:49:43: 	FullScreen_RefreshRateInHz: 0
23:49:43: 	PresentationInterval: 2147483648
23:49:43: };
23:49:43: successfully set up d3d9 hooks
23:49:43: D3D9Reset called
23:49:43: ---------------------- Cleared D3D9 Capture ----------------------
23:49:43: successfully set up d3d9 hooks
23:49:44: D3D9Present called
23:49:44: DoD3D9GPUHook: success
23:49:44: D3D9EndScene called
23:49:44: D3DSURFACE_DESC {
23:49:44: 	Format: D3DFMT_A8R8G8B8
23:49:44: 	Type: D3DRTYPE_SURFACE
23:49:44: 	Usage: D3DUSAGE_RENDERTARGET 
23:49:44: 	Pool: D3DPOOL_DEFAULT
23:49:44: 	MultiSampleType: D3DMULTISAMPLE_NONE
23:49:44: 	MultiSampleQuality: 0
23:49:44: 	Width: 1920
23:49:44: 	Height: 1200
23:49:44: };
23:49:44: successfully capturing d3d9 frames via GPU
23:49:57: D3D9Reset called
23:49:57: ---------------------- Cleared D3D9 Capture ----------------------
23:49:57: successfully set up d3d9 hooks
23:49:57: D3D9Present called
23:49:57: DoD3D9GPUHook: success
23:49:57: D3D9EndScene called
23:49:57: D3DSURFACE_DESC {
23:49:57: 	Format: D3DFMT_A8R8G8B8
23:49:57: 	Type: D3DRTYPE_SURFACE
23:49:57: 	Usage: D3DUSAGE_RENDERTARGET 
23:49:57: 	Pool: D3DPOOL_DEFAULT
23:49:57: 	MultiSampleType: D3DMULTISAMPLE_NONE
23:49:57: 	MultiSampleQuality: 0
23:49:57: 	Width: 1920
23:49:57: 	Height: 1200
23:49:57: };
23:49:57: successfully capturing d3d9 frames via GPU
23:53:36: ---------------------- Cleared D3D9 Capture ----------------------
23:53:36: received restart event, capturing
23:53:36: DoD3D9GPUHook: success
23:53:36: D3D9EndScene called
23:53:36: D3D9Present called
00:22:45: D3D9Reset called
00:22:45: ---------------------- Cleared D3D9 Capture ----------------------
00:22:45: successfully set up d3d9 hooks
00:22:45: D3D9Present called
00:22:45: DoD3D9GPUHook: success
00:22:45: D3D9EndScene called
00:25:09: D3DSURFACE_DESC {
00:25:09: 	Format: D3DFMT_A8R8G8B8
00:25:09: 	Type: D3DRTYPE_SURFACE
00:25:09: 	Usage: D3DUSAGE_RENDERTARGET 
00:25:09: 	Pool: D3DPOOL_DEFAULT
00:25:09: 	MultiSampleType: D3DMULTISAMPLE_NONE
00:25:09: 	MultiSampleQuality: 0
00:25:09: 	Width: 1920
00:25:09: 	Height: 1200
00:25:09: };
00:25:09: successfully capturing d3d9 frames via GPU
00:52:58: ---------------------- Cleared D3D9 Capture ----------------------
00:52:58: received restart event, capturing
00:52:58: DoD3D9GPUHook: success
00:52:58: D3D9EndScene called
00:52:58: D3D9Present called
Code:
20:04:16: Open Broadcaster Software v0.54.09 network/gc test - 32bit (´・ω・`)
20:04:16: -------------------------------
20:04:16: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
20:04:16: CPU Speed: 3500MHz
20:04:16: Physical Memory:  4095MB Total, 4095MB Free
20:04:16: stepping id: 3, model 12, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
20:04:16: monitor 1: pos={-1920, 261}, size={1920, 1080}
20:04:16: monitor 2: pos={0, 0}, size={1920, 1200}
20:04:16: Windows Version: 6.2 Build 9200 
20:04:16: Aero is Enabled
20:04:16: -------------------------------
20:04:16: OBS Modules:
20:04:16: Base Address     Module
20:04:16: 008A0000         OBS.exe
20:04:16: 67A00000         OBSApi.dll
20:04:16: 675D0000         DShowPlugin.dll
20:04:16: 675B0000         GraphicsCapture.dll
20:04:16: 67590000         NoiseGate.dll
20:04:16: 67570000         PSVPlugin.dll
20:04:16: ------------------------------------------
20:04:16: Adapter 1
20:04:16:   Video Adapter: NVIDIA GeForce GTX 780
20:04:16:   Video Adapter Dedicated Video Memory: 3074752512
20:04:16:   Video Adapter Shared System Memory: 1220149248
20:04:16: ------------------------------------------
20:04:16: Adapter 2
20:04:16:   Video Adapter: Intel(R) HD Graphics 4600
20:04:16:   Video Adapter Dedicated Video Memory: 234881024
20:04:16:   Video Adapter Shared System Memory: 1644167168
20:04:16: =====Stream Start: 2013-08-14, 20:04:16===============================================
20:04:16:   Multithreaded optimizations: On
20:04:16:   Base resolution: 1920x1080
20:04:16:   Output resolution: 1280x720
20:04:16: ------------------------------------------
20:04:16: Loading up D3D10 on NVIDIA GeForce GTX 780...
20:04:16: Playback device {0.0.0.00000000}.{082d064a-5621-4ef6-8779-928d8c136bee}
20:04:16: ------------------------------------------
20:04:16: Using desktop audio input: Speakers (Realtek High Definition Audio)
20:04:16: Using 7.1 surround speaker setup
20:04:16: ------------------------------------------
20:04:16: Using auxilary audio input: Mic in at rear panel (Pink) (Realtek High Definition Audio)
20:04:16: ------------------------------------------
20:04:16: Audio Encoding: AAC
20:04:16:     bitrate: 96
20:04:16: Using bitmap image
20:04:16: Using graphics capture
20:04:16: ------------------------------------------
20:04:16: Video Encoding: x264
20:04:16:     fps: 30
20:04:16:     width: 1280, height: 720
20:04:16:     preset: veryfast
20:04:16:     CBR: yes
20:04:16:     CFR: no
20:04:16:     max bitrate: 2700
20:04:16: ------------------------------------------
20:04:16: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 1536000, samples per sec is 48000
20:04:16: MMDeviceAudioSource: Frequency for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' is 352800, samples per sec is 44100
20:04:16: SharedTexCapture hooked
20:04:22: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
20:04:22: 
20:04:22: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
20:04:22: 

21:11:57: 
21:11:57: Audio timestamp for device 'Mic in at rear panel (Pink) (Realtek High Definition Audio)' was behind target timestamp by 10!  Had to delete audio segment.
21:11:57: 
21:19:51: Total frames rendered: 136047, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
21:19:51: 
21:19:51: Profiler results:
21:19:51: 
21:19:51: ==============================================================
21:19:51: frame - [100%] [avg time: 1.776 ms (cpu time: avg 1.076 ms, total 146484 ms)] [avg calls per frame: 1] [children: 99.5%] [unaccounted: 0.45%]
21:19:51: | frame preprocessing and rendering - [23.4%] [avg time: 0.416 ms (cpu time: avg 0.277 ms, total 37765.6 ms)] [avg calls per frame: 1] [children: 0.113%] [unaccounted: 23.3%]
21:19:51: | | scene->Preprocess - [0.113%] [avg time: 0.002 ms (cpu time: avg 0.001 ms, total 203.125 ms)] [avg calls per frame: 1]
21:19:51: | video encoding and uploading - [76.1%] [avg time: 1.352 ms (cpu time: avg 0.794 ms, total 108031 ms)] [avg calls per frame: 1] [children: 73.8%] [unaccounted: 2.31%]
21:19:51: | | flush - [22.5%] [avg time: 0.399 ms (cpu time: avg 0.054 ms, total 7406.25 ms)] [avg calls per frame: 1]
21:19:51: | | CopyResource - [1.69%] [avg time: 0.03 ms (cpu time: avg 0.012 ms, total 1671.88 ms)] [avg calls per frame: 0]
21:19:51: | | conversion to 4:2:0 - [0.563%] [avg time: 0.01 ms (cpu time: avg 0.007 ms, total 968.75 ms)] [avg calls per frame: 0]
21:19:51: | | call to encoder - [47.7%] [avg time: 0.847 ms (cpu time: avg 0.684 ms, total 93156.3 ms)] [avg calls per frame: 0]
21:19:51: | | sending stuff out - [1.41%] [avg time: 0.025 ms (cpu time: avg 0.016 ms, total 2250 ms)] [avg calls per frame: 0]
21:19:51: | Convert444Threads - [3.75e+003%] [avg time: 66.66 ms (cpu time: avg 0.682 ms, total 92812.5 ms)] [avg calls per frame: 1]
21:19:51: ==============================================================
21:19:51: 
21:19:51: =====Stream End: 2013-08-14, 21:19:51=================================================


Last game capture log:
2013-08-14, 20:04:16: we're booting up: 
20:04:16: D3D9 Present
20:04:16: (half life scientist) everything..  seems to be in order
20:04:16: D3D9EndScene called
20:04:16: D3DPRESENT_PARAMETERS {
20:04:16: 	BackBufferWidth: 1920
20:04:16: 	BackBufferHeight: 1200
20:04:16: 	BackBufferFormat: D3DFMT_A8R8G8B8
20:04:16: 	BackBufferCount: 1
20:04:16: 	MultiSampleType: D3DMULTISAMPLE_NONE
20:04:16: 	MultiSampleQuality: 0
20:04:16: 	SwapEffect: D3DSWAPEFFECT_DISCARD
20:04:16: 	hDeviceWindow: 591488
20:04:16: 	Windowed: true
20:04:16: 	EnableAutoDepthStencil: false
20:04:16: 	AutoDepthStencilFormat: D3DFMT_UNKNOWN
20:04:16: 	Flags: None
20:04:16: 	FullScreen_RefreshRateInHz: 0
20:04:16: 	PresentationInterval: 2147483648
20:04:16: };
20:04:16: successfully set up d3d9 hooks
20:04:16: D3D9Present called
20:04:16: DoD3D9GPUHook: success
20:04:16: D3DSURFACE_DESC {
20:04:16: 	Format: D3DFMT_A8R8G8B8
20:04:16: 	Type: D3DRTYPE_SURFACE
20:04:16: 	Usage: D3DUSAGE_RENDERTARGET 
20:04:16: 	Pool: D3DPOOL_DEFAULT
20:04:16: 	MultiSampleType: D3DMULTISAMPLE_NONE
20:04:16: 	MultiSampleQuality: 0
20:04:16: 	Width: 1920
20:04:16: 	Height: 1200
20:04:16: };
20:04:16: successfully capturing d3d9 frames via GPU
21:19:51: ---------------------- Cleared D3D9 Capture ----------------------
21:19:51: D3D9EndScene called
21:19:51: D3D9Present called
 

Krazy

Town drunk
QuickSync isn't really a viable option if you are concerned about quality. It's primarily there for performance. Even though it's a pretty solid hardware encoder...it's still a hardware encoder and they have limits as to the quality they can achieve.
 

coldstatic

New Member
is there some documentation somewhere about it? It just seems funny that the problems are only during high motion and there is no way to fix it. Is OBS using the best quality setting? Is there anyway to use both the hardware encoder and use a bit more of the processor but not the full 25-30% that it normally uses?
 

Floatingthru

Community Helper
It is already set to the highest quality possible. There is no way to use both at the same time. I personally only use Quicksync for local recordings at 30mbps++.
 

MannerRev

Member
I was messing around with QuickSync today and I noticed the same thing: pixelization during high motion scenes would become quite apparent. I tried setting the encoder preset to "slow", and even put in some ridiculous custom settings like qpmax=1 just to see if it would have any effect -- it didn't.
 

Floatingthru

Community Helper
The only custom settings you can set for Quicksync is bframes and idr intervals aka keyframes, normal x264 settings(+presets) do not work. Hardware encoding is still far behind software encoding. Do not expect to get good quality at low bitrates. It is only great for performance.
 

MannerRev

Member
Floatingthru said:
The only custom settings you can set for Quicksync is bframes and idr intervals aka keyframes, normal x264 settings(+presets) do not work. Hardware encoding is still far behind software encoding. Do not expect to get good quality at low bitrates. It is only great for performance.

Ah, well, that makes a lot more sense. Is there any recommendation on increasing/changing bframes to help aid quality during high motion scenes?
 

Floatingthru

Community Helper
^ You will have to accept the subpar quality when using Quicksync, nothing but increasing bitrate will help aid quality. This is just the way that it is.
 

coldstatic

New Member
so is 30 what you would reccomend for a local recording and not have any high motion scene issues? i save it to a 10gb ram drive so speed isn't much of an issue.
 
Top