Question / Help Recommended setup for APB?

leettari

New Member
I currently have the following setup
  • Power: Corsair 750W 750AX
  • Motherboard: ASRock Z77 Extreme 4
  • Video Card: Sapphire Radeon R9 280X Toxic
  • CPU: Intel Core i5-3570K OC @ 4.0GHz
  • CPU Cooler: Cooler Master Seidon 240M
  • Memory: G.Skill RipjawsX 2x8GB DDR3 1600 Mhz
  • Hard Drive: OCZ Vertex 4 256GB SSD & Seagate 2TB HDD
3423692523.png



For OBS I have these:
x264 enabled, CBR enabled, CBR padding enabled, Quality balance 8, Max Bitrate & Buffer Size 3500 kb/s, AAC @ 160bit, resolution 1920x1080 but downscaled to 1280x720, bilinear filter, 60 FPS, multithreaded optimizations enabled, process priority normal, scene buffering 400ms, x264 CPU preset superfast, keyframe interval 2 seconds and CFR enabled.

I know APB is anything but greatly optimized game but I shouldn't be wrong to think I should be capable of streaming it with my setup at 60 FPS on 720p.

AFAIK problem is not with my network since it doesn't lag nor does stream stutter, no frames dropped but issue is the unpredictable FPS that runs wildly between 40 and 100, far from smooth experience. I'm using Advanced APB Launcher with High Settings and Vsync is disabled but surely it can't be just that?

Any help is appreciated, cheers.


EDIT: Ignore those links, copy pasted specs from my stream merely an affiliation program.
 
Last edited by a moderator:

Jack0r

The Helping Squad
Removed the links. By the way, posting a log will give us nearly all info you supplied by hand:
https://obsproject.com/forum/threads/problem-make-sure-to-post-a-log-and-or-crash-dump-howto.97/

Only setting you should change in OBS is the scene buffering time, 400 is our old default, it should be on 700 now.
I actually would have to see a log file anyway, to see how OBS performed with the settings you mentioned to say more.

You will probably have to lower your FPS to 30 or downscale a bit more on that CPU and if the Game is not optimized well.
Streaming at 720p 60fps is very CPU intensive, and you even lowered your preset already to superfast, which I would personally never do for an online stream. What you could do, your mainboard supports it, would be using quicksync for streaming, but the quality will be a bit lower compared to CPU encoding. (Quicksync can be activated in the encoding settings, if its grayed out you might have to use a trick to use it. Just tell us and I or someone will explain what to do)
 

leettari

New Member
And yes, quicksync is grayed out.

Code:
15:33:28: CLR host plugin strings not found, dynamically loading 4 strings
15:33:28: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
15:33:28: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
15:33:28: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
15:33:28: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
15:33:28: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
15:33:28: CLRHost::LoadPlugins() attempting to load the plugin assembly CLRBrowserSourcePlugin
15:33:29: CLRHost:: Could not find/load browser settings at location C:\Users\Teemu\AppData\Roaming\OBS\pluginData\browser.json
15:33:29: CLRHost::LoadPlugins() successfully added CLR plugin [Type: CLRBrowserSourcePlugin.CLRBrowserSourcePlugin, Name: CLR Browser Source Plugin]
15:33:29: CLRHost::LoadPlugins() attempting to load the plugin assembly DesertKharonIrcPlugin
15:33:29: CLRHost::LoadPlugins() successfully added CLR plugin [Type: DesertKharonIrcPlugin.DesertKharonIrcPlugin, Name: Desert Kharon Irc]
15:36:03: Open Broadcaster Software v0.613b - 64bit ( ^ω^)
15:36:03: -------------------------------
15:36:03: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
15:36:03: CPU Speed: 3400MHz
15:36:03: Physical Memory:  16267MB Total, 12583MB Free
15:36:03: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
15:36:03: monitor 1: pos={0, 0}, size={1920, 1080}
15:36:03: monitor 2: pos={1920, 0}, size={1920, 1080}
15:36:03: Windows Version: 6.2 Build 9200
15:36:03: Aero is Enabled
15:36:03: -------------------------------
15:36:03: OBS Modules:
15:36:03: Base Address     Module
15:36:03: 00000000E23D0000 OBS.exe
15:36:03: 00000000FEC20000 OBSApi.dll
15:36:03: 0000000018F30000 CLRHostPlugin.dll
15:36:03: 0000000015E10000 DShowPlugin.dll
15:36:03: 0000000015DE0000 GraphicsCapture.dll
15:36:03: 0000000018B10000 NoiseGate.dll
15:36:03: 0000000018120000 PSVPlugin.dll
15:36:03: ------------------------------------------
15:36:03: Adapter 1
15:36:03:   Video Adapter: AMD Radeon R9 200 Series
15:36:03:   Video Adapter Dedicated Video Memory: 3193987072
15:36:03:   Video Adapter Shared System Memory: 4026531840
15:36:03:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
15:36:03:   Video Adapter Output 2: pos={1920, 0}, size={1920, 1080}, attached=true
15:36:03: =====Stream Start: 2014-04-07, 15:36:03===============================================
15:36:03:   Multithreaded optimizations: On
15:36:03:   Base resolution: 1920x1080
15:36:03:   Output resolution: 1280x720
15:36:03: ------------------------------------------
15:36:03: Loading up D3D10 on AMD Radeon R9 200 Series (Adapter 1)...
15:36:04: ------------------------------------------
15:36:04: Audio Format: 48000 Hz
15:36:04: ------------------------------------------
15:36:04: Audio Channels: 2 Ch
15:36:04: Playback device {0.0.0.00000000}.{f8ce2ae6-4362-4f6a-927d-c68eee585568}
15:36:04: ------------------------------------------
15:36:04: Using desktop audio input: Realtek Digital Output (Realtek High Definition Audio)
15:36:04: ------------------------------------------
15:36:04: Using auxilary audio input: Microphone (Turtle Beach PX22)
15:36:04: ------------------------------------------
15:36:04: Audio Encoding: AAC
15:36:04:     bitrate: 128
15:36:04: CLRHost:: BrowserRenderHandler::OnPaint failed to create texture
15:36:04: CLRHost:: BrowserRenderHandler::OnPaint failed to create texture
15:36:04: CLRHost:: Browser 2: Status message:
15:36:04: CLRHost:: Browser 1: Status message:
15:36:05: CLRHost:: BrowserRenderHandler::OnPaint failed to create texture
15:36:05: Using bitmap image
15:36:05: Using text output
15:36:05: Using bitmap image
15:36:05: Using bitmap image
15:36:05: Scene buffering time set to 400
15:36:05: ------------------------------------------
15:36:05: Video Encoding: x264
15:36:05:     fps: 60
15:36:05:     width: 1280, height: 720
15:36:05:     preset: veryfast
15:36:05:     profile: main
15:36:05:     keyint: 120
15:36:05:     CBR: yes
15:36:05:     CFR: yes
15:36:05:     max bitrate: 2500
15:36:05:     buffer size: 2500
15:36:05: ------------------------------------------
15:36:05: CLRHost:: BrowserRenderHandler::OnPaint failed to create texture
15:36:06: Using RTMP service: Twitch / Justin.tv
15:36:06:   Server selection: rtmp://live-arn.justin.tv/app
15:36:06:   Interface: Broadcom NetLink (TM) Gigabit Ethernet (ethernet, 100 mbps)
15:36:07: Completed handshake with rtmp://live-arn.justin.tv/app in 420 ms.
15:36:07: CLRHost:: BrowserRenderHandler::OnPaint failed to create texture
15:36:07: SO_SNDBUF was at 65536
15:36:07: SO_SNDBUF is now 65536
15:36:10: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 51465 / 335872)
15:36:10: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 0 / 335872)
15:47:04: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
15:47:04:   New Scene
15:47:04: Using text output
15:47:04: Using text output
15:47:04: Using bitmap image
15:47:04: Using text output
15:47:04: Using text output
15:47:16: Using graphics capture
15:47:16: SharedTexCapture hooked
15:47:30: GraphicsCaptureSource::NewCapture:  eliminating old capture
15:47:30: SharedTexCapture hooked
15:47:58: GraphicsCaptureSource::NewCapture:  eliminating old capture
15:47:58: SharedTexCapture hooked
15:58:51: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
15:58:51:   New Scene
15:59:41: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
15:59:41:   New Scene
15:59:41: Using graphics capture
16:00:03: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
16:00:03:   New Scene
16:00:40: No Intel graphics adapter visible in QSVHelper.exe, Optimus problem?
16:00:40: Failed loading CUDA dll
16:06:35: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
16:06:35:   New Scene
16:06:35: Using graphics capture
Warning -- GraphicsCaptureSource::BeginScene: Failed to inject library, error code = 8
16:06:48: SharedTexCapture hooked
16:06:51: GraphicsCaptureSource::NewCapture:  eliminating old capture
16:06:51: SharedTexCapture hooked
16:14:33: GraphicsCaptureSource::NewCapture:  eliminating old capture
16:14:33: SharedTexCapture hooked
16:18:59: GraphicsCaptureSource::NewCapture:  eliminating old capture
16:18:59: SharedTexCapture hooked
16:19:24: GraphicsCaptureSource::NewCapture:  eliminating old capture
16:19:24: SharedTexCapture hooked
16:39:03: GraphicsCaptureSource::NewCapture:  eliminating old capture
16:39:03: SharedTexCapture hooked
16:39:17: RTMPPublisher::SocketLoop: Received FD_CLOSE, 4256 ms since last send (buffer: 332534 / 335872)
16:39:17: RTMPPublisher::SocketLoop: Aborting due to FD_CLOSE, error 0
16:39:18: Total frames encoded: 227548, total frames duplicated: 10226 (4.49%)
16:39:18: Number of frames skipped due to encoder lag: 437 (0.19%)
16:39:18: Total frames rendered: 225696, number of late frames: 793 (0.35%) (it's okay for some frames to be late)
16:39:18: Average send payload: 5981 bytes, average send interval: 18 ms
16:39:18: Number of times waited to send: 2, Waited for a total of 8194 bytes
16:39:18: Number of b-frames dropped: 43 (0.019%), Number of p-frames dropped: 44 (0.019%), Total 87 (0.038%)
16:39:18: Number of bytes sent: 1248308302
16:39:18:
16:39:18: Profiler time results:
16:39:18:
16:39:18: ==============================================================
16:39:18: video thread frame - [100%] [avg time: 2.018 ms] [children: 26.8%] [unaccounted: 73.2%]
16:39:18: | scene->Preprocess - [2.33%] [avg time: 0.047 ms]
16:39:18: | GPU download and conversion - [24.4%] [avg time: 0.493 ms] [children: 23.6%] [unaccounted: 0.842%]
16:39:18: | | flush - [22.8%] [avg time: 0.46 ms]
16:39:18: | | CopyResource - [0.545%] [avg time: 0.011 ms]
16:39:18: | | conversion to 4:2:0 - [0.248%] [avg time: 0.005 ms]
16:39:18: Convert444Threads - [100%] [avg time: 0.41 ms] [children: 99%] [unaccounted: 0.976%]
16:39:18: | Convert444toNV12 - [99%] [avg time: 0.406 ms]
16:39:18: encoder thread frame - [100%] [avg time: 1.743 ms] [children: 3.21%] [unaccounted: 96.8%]
16:39:18: | sending stuff out - [3.21%] [avg time: 0.056 ms]
16:39:18: ==============================================================
16:39:18:
16:39:18:
16:39:18: Profiler CPU results:
16:39:18:
16:39:18: ==============================================================
16:39:18: video thread frame - [cpu time: avg 0.96 ms, total 216719 ms] [avg calls per frame: 1]
16:39:18: | scene->Preprocess - [cpu time: avg 0.02 ms, total 4531.25 ms] [avg calls per frame: 1]
16:39:18: | GPU download and conversion - [cpu time: avg 0.069 ms, total 15687.5 ms] [avg calls per frame: 1]
16:39:18: | | flush - [cpu time: avg 0.044 ms, total 10078.1 ms] [avg calls per frame: 1]
16:39:18: | | CopyResource - [cpu time: avg 0.011 ms, total 2531.25 ms] [avg calls per frame: 1]
16:39:18: | | conversion to 4:2:0 - [cpu time: avg 0.003 ms, total 796.875 ms] [avg calls per frame: 1]
16:39:18: Convert444Threads - [cpu time: avg 0.314 ms, total 142031 ms] [avg calls per frame: 2]
16:39:18: | Convert444toNV12 - [cpu time: avg 0.312 ms, total 141000 ms] [avg calls per frame: 2]
16:39:18: encoder thread frame - [cpu time: avg 0.256 ms, total 58390.6 ms] [avg calls per frame: 1]
16:39:18: | sending stuff out - [cpu time: avg 0.008 ms, total 1859.38 ms] [avg calls per frame: 1]
16:39:18: ==============================================================
16:39:18:
16:39:18: =====Stream End: 2014-04-07, 16:39:18=================================================
 

leettari

New Member
So I tried streaming this morning with those settings I listed earlier, prior that I used different settings.
In-game worked flawlessly and FPS was far greater than what it was yesterday, it was both playable and streamable, except... Except dropped frames.

For reason or the other I can't maintain steady 3500 kb/s for some reason and it keeps spiking between 1500 kb/s and 4000 kb/s unpredictably. What could be the cause of this?

Latest log of my stream.
http://pastebin.com/3m3yzQDT
 

Jack0r

The Helping Squad
Hmm, either your internet connection had a hiccup or the server you tested, you can always try different twitch servers.
Also test with a speedtest if your internet connection has problems or last but not least, I always have a hitbox.tv account to test a totally different service.
 

leettari

New Member
Might have been server, since yesterday Sweden, Stockholm (I reside in Finland) worked fine.
I'm going to run another SpeedTest but I presume I get usual result after which I'll see if I can't setup a Hitbox.tv account.

On a side note, some people seem to stream 'twice' at once. Twitch mainly then on their info they might have 'alternative' link for e.g. that Hitbox.tv. That must really drain juice if not both your PC and internet connection at least the latter one, no?

EDIT: Alright, so it worked as intended on Hitbox.TV and SpeedTest result had nothing abnormal. I suppose it was either a spike on my connection or server of my choosing on Twitch. Will report back later.
 
Last edited:

leettari

New Member
It likely was server and / or my internet connection spiking at the time.
Just finished a couple hour stream with no FPS drops, low bitrate nor dropped frames - all smooth.
 

Jack0r

The Helping Squad
Yea, thats something that can always just "happen". Thanks for reporting back and lets hope it takes a long time until it happens again :)
 
Top