Question / Help Best settings for 3440x1440 Haswell QuickSync Encoder

ufster

New Member
I have a 3440x1440 monitor and want to record 60fps gameplay at this resolution. From my limited experimentation with the settings I have managed to record gameplay using VBR, 20000 MaxKbps, QuickSync Preset set as 7 and Encoding Profile set as Main.

I'm quite new to OBS and recording in general but I have a few questions regarding the issues I came across as I landed on these settings. If I set QuickSync Preset any higher and/or Encoding Profile as High, only the first second or such of gameplay is recorded. I get audio for the rest but video becomes black and stays that way.

My primary question is what determines the line between recording black screens and actual gameplay? Is it bitrate, video memory allocated to the iGPU or just the presets under advanced settings? Also where can I read more about the limitations of quicksync encoder that comes with the HD4600? Thanks for the responses already.

My system specs are as such: i5-4690K, 16GB DDR3, R9 290, 34" 3440x1440 display.
 

VooDoo

Member
I wouldn't even try 3440x1440 on quicksync ...Im near positive that 2560x1440p is the max resolution of the onboard graphics. Hell I wouldn't even want to watch flash on the onboard video. Now what you're experiencing is probably the Quicksync choking. Now if you plan to record that res while playing...you basically cant within your system specs. I mean maybe w/ VCE and the R9 feeding it. However Id suspect you're choking everything but your RAM, if your trying to play and record on the same machine. Virtual encoding or Hardware either way. Try using the normal X264 encoding and not Quicksync, if the problem persists try recording @ 7500 bitrate, on normal x264. Video will not be as good looking but if you get one then you have the right course of actions.
 

ufster

New Member
Thanks for the quick response. I have two files I am looking at right now, one recorded with MSI Afterburner and the other recorded with OBS. The MediaInfo data reads as such.

for the OBS recorded file it says overall bit rate 14.2 Mbps but the Maximum is lower.

Video
ID : 2
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.2
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Muxing mode : Container profile=High@3.1
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 23s 483ms
Source duration : 23s 467ms
Bit rate mode : Variable
Bit rate : 14.1 Mbps
Maximum bit rate : 20.0 Mbps
Width : 3 440 pixels
Height : 1 440 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Variable
Frame rate : 60.000 fps
Minimum frame rate : 58.824 fps
Maximum frame rate : 62.500 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.047
Stream size : 39.4 MiB (99%)
Source stream size : 39.4 MiB (99%)
Encoded date : UTC 2015-07-19 12:43:05
Tagged date : UTC 2015-07-19 12:43:05
Color range : Limited
Color primaries : BT.709
Transfer characteristics : sYCC
Matrix coefficients : BT.709
mdhd_Duration : 23483

for the Afterburner recorded file it says overall bit rate 11.3 Mbps but the Maximum is higher.

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.2
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Format settings, GOP : M=3, N=60
Codec ID : V_MPEG4/ISO/AVC
Bit rate mode : Variable
Maximum bit rate : 30.0 Mbps
Width : 3 440 pixels
Height : 1 440 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Variable
Original frame rate : 60.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Language : English
Default : Yes
Forced : No

I'm overall happy with the Afterburner recording except for the fact that I don't care for Matroska format which I have to re-encode to MP4 to be able to edit in Sony Movie Studio 13 Platinum. Do you think I'm onto something here?
 

VooDoo

Member
Downscale to 1920x1080 atleast ( or a resolution close to it)
I believe he would prefer the higher res, youtube is supporting up to 4k at the current time. I'm fairly certain an i5 will struggle with that resolution at such a bitrate. I'd also say that in reality you don't need lossless for a good recording.
 

ufster

New Member
Is the video showing up the entire recording is the question.

Yes it does, but when it does the quality is less than ideal especially compared to the recordings I make with Afterburner which are smooth and good quality.

Downscale to 1920x1080 atleast ( or a resolution close to it)

Sure, I can do that but what boggles my mind is since QuickSync is a hardware implementation why can't I replicate my Afterburner results using OBS? That's why I gave the media info details from the two video files. Is it the container making all this difference? One thing I noticed when converting (without transcoding) Afterburner MKV to MP4 with MKVToMP4 software was that the framerate changed to 35 ish (around the same fps I get in game) for the resulting MP4 video. Perhaps it's not actually recording at 60fps?
 

ufster

New Member
I believe he would prefer the higher res, youtube is supporting up to 4k at the current time. I'm fairly certain an i5 will struggle with that resolution at such a bitrate. I'd also say that in reality you don't need lossless for a good recording.

Exactly, not only that but the geometry gets all distorted going from 21:9 to 16:9 and all the characters end up looking like professional basketball players.
 

VooDoo

Member
I can near promise you Afterburner is NOT using quicksync. Quicksync looks like crap. Compared to VCE and Nvenc quicksync is utterly aweful, either use the VCE fork or hardware encoding.
 

ufster

New Member
I can near promise you Afterburner is NOT using quicksync. Quicksync looks like crap. Compared to VCE and Nvenc quicksync is utterly aweful, either use the VCE fork or hardware encoding.

Why do you think that? It has a setting called Video Format where I can choose external plugin: Intel QuickSync H.264 and I have configured it to use D3D11 hardware acceleration mode, Best Quality and 20Mbps target bitrate. It even has a benchmark function which gives me 61 frames per second running at 3440x1440 resolution.

edit: On this note, do you think OBS and Afterburner could be using different implementations of QuickSync SDK?
 

Osiris

Active Member
The codec used by afterburner does not require as much processing power as encoding to h264 does, hence why afterburner performs better at higher resolutions. The files created by afterburner are also quite a lot bigger.
Although if you were using quicksync in afterburner too it should perform the same, I'm not sure how much influence the scene compositing would have on the performance though, that is something afterburner doesn't do.

You also might want to post a log from OBS, it might give some more insight.
 

VooDoo

Member
youtube Quicksync v.s Nvenc v.s. Hardware encoding. The video quality is not up to par, and tbh a larger resolution of a bad picture looks even worse. I'd also point out quicksync gives the least performance gains of the 3, and is more or less the same as using your cpu to encode as the software is using the i5's Intel HD graphics. VCE has the least performance hit compared to Nvenc, but the load is on the GPU not the cpu, and then this means you'd be more limited by the speed of your hard drive.

Recording is actually a hog on your drive as well as your cpu, if you're using a hard drive you'll want 7200rpm + for 1080p recording, I can't imagine you'd want less than SSD to record such a massive resolution.

The resolution is honestly to big to play and record on the same system.
 

ufster

New Member
The codec used by afterburner does not require as much processing power as encoding to h264 does, hence why afterburner performs better at higher resolutions. The files created by afterburner are also quite a lot bigger.

I had no idea different QuickSync implementations used different codecs. Being limited to the lower quality presets is quite horrible though because I can't improve the quality even if I set the bitrate higher meaning I get bigger files AND worse quality with OBS under these conditions. I love OBS for recording retro gameplay from SNES emulators and stuff so I want to keep using it exclusively, that and the fact that MKV is not ideal for my use scenario, but for full screen gameplay maybe it's best I stick to Afterburner.

edit: here is the part from the log where I last tried to record and got freeze and black screen.

Code:
16:35:57: =====Stream Start: 2015-07-19, 16:35:57===============================================
16:35:57:   Multithreaded optimizations: On
16:35:57:   Base resolution: 3440x1440
16:35:57:   Output resolution: 3440x1440
16:35:57: ------------------------------------------
16:35:57: Loading up D3D10 on AMD Radeon R9 200 Series (Adapter 1)...
16:35:57: ------------------------------------------
16:35:57: Audio Format: 48000 Hz
16:35:57: ------------------------------------------
16:35:57: Audio Channels: 2 Ch
16:35:57: Playback device Default
16:35:57: ------------------------------------------
16:35:57: Using desktop audio input: Speakers (Realtek High Definition Audio)
16:35:57: Global Audio time adjust: 0
16:35:57: ------------------------------------------
16:35:57: Using auxilary audio input: Microphone (Realtek High Definition Audio)
16:35:57: Mic time offset: 0
16:35:57: ------------------------------------------
16:35:57: Audio Encoding: AAC
16:35:57:     bitrate: 128
16:35:57: Using graphics capture
16:35:57: Trying to hook process: metro.exe
16:35:57: Scene buffering time set to 700
16:35:57: Found QSV hardware support
16:35:57: QSV: Using custom parameters
16:35:57: ------------------------------------------
16:35:57: QSV version 1.8 using MFX_IMPL_HARDWARE_ANY | MFX_IMPL_VIA_D3D11 (actual: MFX_IMPL_HARDWARE2 | MFX_IMPL_VIA_D3D11)
16:35:57: Using 14 bitstreams and 14 frame buffers
16:35:57: ------------------------------------------
16:35:57: Video Encoding: QSV
16:35:57:     fps: 60
16:35:57:     width: 3440, height: 1440
16:35:57:     target-usage: MFX_TARGETUSAGE_1_BEST_QUALITY
16:35:57:     profile: MFX_PROFILE_AVC_HIGH
16:35:57:     CBR: no
16:35:57:     CFR: yes
16:35:57:     max bitrate: 20000
16:35:57:     buffer size: 80000
16:35:57:     rate control: VBR
16:35:57: ------------------------------------------
16:36:03: SharedTexCapture hooked
Warning -- Terminating QSVHelper.exe after timeout
16:36:15: FlushBufferedVideo: Flushing 38 packets over 617 ms
16:36:16: Total frames encoded: 687, total frames duplicated: 320 (46.58%)
16:36:16: Number of frames skipped due to encoder lag: 278 (40.47%)
16:36:16: Total frames rendered: 407, number of late frames: 7 (1.72%) (it's okay for some frames to be late)
16:36:16:
16:36:16: Profiler time results:
16:36:16:
16:36:16: ==============================================================
16:36:16: video thread frame - [100%] [avg time: 2.55 ms] [children: 38.9%] [unaccounted: 61.1%]
16:36:16: | scene->Preprocess - [0.0784%] [avg time: 0.002 ms]
16:36:16: | GPU download and conversion - [38.8%] [avg time: 0.989 ms] [children: 19.1%] [unaccounted: 19.7%]
16:36:16: | | flush - [3.65%] [avg time: 0.093 ms]
16:36:16: | | CopyResource - [15.2%] [avg time: 0.388 ms]
16:36:16: | | conversion to 4:2:0 - [0.235%] [avg time: 0.006 ms]
16:36:16: Convert444Threads - [100%] [avg time: 3.325 ms] [children: 99.6%] [unaccounted: 0.361%]
16:36:16: | Convert444toNV12 - [99.6%] [avg time: 3.313 ms]
16:36:16: encoder thread frame - [100%] [avg time: 19.168 ms] [children: 99.9%] [unaccounted: 0.115%]
16:36:16: | QueueEncodeTask - [57.8%] [avg time: 11.071 ms]
16:36:16: | ProcessEncodedFrame - [42%] [avg time: 8.048 ms]
16:36:16: | sending stuff out - [0.141%] [avg time: 0.027 ms]
16:36:16: ==============================================================
16:36:16:
16:36:16:
16:36:16: Profiler CPU results:
16:36:16:
16:36:16: ==============================================================
16:36:16: video thread frame - [cpu time: avg 0.076 ms, total 31.25 ms] [avg calls per frame: 1]
16:36:16: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:36:16: | GPU download and conversion - [cpu time: avg 0.038 ms, total 15.625 ms] [avg calls per frame: 1]
16:36:16: | | flush - [cpu time: avg 0.038 ms, total 15.625 ms] [avg calls per frame: 1]
16:36:16: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:36:16: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:36:16: Convert444Threads - [cpu time: avg 3.229 ms, total 2312.5 ms] [avg calls per frame: 2]
16:36:16: | Convert444toNV12 - [cpu time: avg 3.229 ms, total 2312.5 ms] [avg calls per frame: 2]
16:36:16: encoder thread frame - [cpu time: avg 0.048 ms, total 31.25 ms] [avg calls per frame: 1]
16:36:16: | QueueEncodeTask - [cpu time: avg 0.024 ms, total 15.625 ms] [avg calls per frame: 1]
16:36:16: | ProcessEncodedFrame - [cpu time: avg 0.024 ms, total 15.625 ms] [avg calls per frame: 1]
16:36:16: | sending stuff out - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
16:36:16: ==============================================================
16:36:16:
16:36:16: =====Stream End: 2015-07-19, 16:36:16=================================================
 
Last edited:

ufster

New Member
youtube Quicksync v.s Nvenc v.s. Hardware encoding. The video quality is not up to par, and tbh a larger resolution of a bad picture looks even worse. I'd also point out quicksync gives the least performance gains of the 3, and is more or less the same as using your cpu to encode as the software is using the i5's Intel HD graphics. VCE has the least performance hit compared to Nvenc, but the load is on the GPU not the cpu, and then this means you'd be more limited by the speed of your hard drive.

Recording is actually a hog on your drive as well as your cpu, if you're using a hard drive you'll want 7200rpm + for 1080p recording, I can't imagine you'd want less than SSD to record such a massive resolution.

The resolution is honestly to big to play and record on the same system.

I know it's not the best video quality but it's acceptable given the fact that the framerate hit is quite low (like 3-5 fps) even at this resolution. Only if I could use Best Quality preset with OBS like I can with Afterburner and not get picture freezing and black screen with audio. Being limited to Best Speed (7) means the video quality is horrible. I record on a separate 7200 rpm drive dedicated to this while I play from an SSD or another HDD. Does OBS support VCE btw? I thought it didn't.
 

ufster

New Member
https://obsproject.com/forum/threads/obs-branch-with-amd-vce-support.13996/

In my personal experience, it works fairly well and quality is actually good. The main issue I have is it goes crazy with the bitrate while streaming, and thats just well not good for me. That 2-3 seconds 8000mbps in an FPS is just death when you're maxing @ 6mbps lolol

Thanks a bunch, I'll try that and if it works, fantastic.

edit: says maximum resolution supported is 1920x1080 "encoder initialization failed"
 
Last edited:

ufster

New Member
These are some of the reasons NOT to buy monitors like this when you stream a lot.

I can't say I stream a lot, if any. I have a silly ISP and a ridiculous quota. My bandwidth is also pretty average even when I haven't gone over the quota, but I try to make some short, edited gaming videos for other people who might want to buy one of these monitors for gaming purposes, seeing that's how I bought my monitor, by watching videos of youtubers who owned the same model. Most of my recording is limited to windowed apps such as emulators and stuff and this resolution is particularly beneficial for having a desktop with more horizontal space allows me to multitask better than a 1080p or 1440p 16:9 display.
 

ufster

New Member
I'd say the biggest is visually most of us will get black bars and a tiny image. 21:9 isn't really an optimal format.

It's great for horizontal desktop estate and 2.35-2.40:1 format movies. Also, my monitor Dell U3415W is curved which makes gaming somewhat more immersive. That being said, I concur that it's hardly ideal for streaming or watching any 16:9 format video such as TV shows, anime etc. Then again, I only want to record gameplay so that I can show others who might be interested, what to expect with games using this resolution in terms of FOV, performance etc.
 
Top