Question / Help OBS seems to be capping my bitrate while streaming

Exiiile

New Member
So if someone could tell me I'm just ignorantly wrong that'd be great, but in order to stream what I'm trying to stream at a decent quality, I need 5k kbps minimum. I have 10 Mbps upload, so that's fine, I'm not dropping frames at all or anything, but when the most action is going on on the screen, OBS tells me it's only putting in 3.5-4k bitrate. Is it limiting itself, or does it just not think it needs to use 5k when it definitely does?
 

Exiiile

New Member
Attack on Titan: Tribute Game (http://fenglee.com/game/aog/). It's a web-based unity game that moves extremely quickly, and even after I set it to 5k at 720p 30 fps it still isn't clear like it is on my monitor. (By contrast I can stream SC2 or other things in crystal clear quality at far lower bitrate required and far higher FPS).

Edit: I'll get a log file just to see if there is some random setting that can be used to make it look better, maybe, I don't know. I'm not very knowledgeable about these things.

Edit: Log acquired, I messed with crf this time though I don't normally try to.

Code:
11:11:06: Open Broadcaster Software v0.59b - 64bit ( ^ω^)
11:11:06: -------------------------------
11:11:06: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
11:11:06: CPU Speed: 3510MHz
11:11:06: Physical Memory:  6094MB Total, 2683MB Free
11:11:06: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
11:11:06: monitor 1: pos={0, 0}, size={1920, 1080}
11:11:06: monitor 2: pos={-1680, -76}, size={1680, 1050}
11:11:06: Windows Version: 6.1 Build 7601 S
11:11:06: Aero is Disabled
11:11:06: -------------------------------
11:11:06: OBS Modules:
11:11:06: Base Address     Module
11:11:06: 000000003F900000 OBS.exe
11:11:06: 00000000F38C0000 OBSApi.dll
11:11:06: 00000000FA420000 DShowPlugin.dll
11:11:06: 00000000F6BF0000 GraphicsCapture.dll
11:11:06: 00000000F9890000 NoiseGate.dll
11:11:06: 00000000F6BD0000 PSVPlugin.dll
11:11:06: ------------------------------------------
11:11:06: Adapter 1
11:11:06:   Video Adapter: NVIDIA GeForce GTX 660 Ti
11:11:06:   Video Adapter Dedicated Video Memory: 2086993920
11:11:06:   Video Adapter Shared System Memory: 2147807232
11:11:06:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
11:11:06:   Video Adapter Output 2: pos={-1680, -76}, size={1680, 1050}, attached=true
11:11:06: =====Stream Start: 2013-12-15, 11:11:06===============================================
11:11:06:   Multithreaded optimizations: On
11:11:06:   Base resolution: 1920x1080
11:11:06:   Output resolution: 1280x720
11:11:06: ------------------------------------------
11:11:06: Loading up D3D10 on NVIDIA GeForce GTX 660 Ti...
11:11:07: ------------------------------------------
11:11:07: Audio Format: 48000hz
11:11:07: Playback device {0.0.0.00000000}.{3c6bc451-80af-4e47-9991-c4a93d57f535}
11:11:07: ------------------------------------------
11:11:07: Using desktop audio input: Speakers (Logitech G430 Gaming Headset)
11:11:07: Using 7.1 surround speaker setup
11:11:07: ------------------------------------------
11:11:07: Using auxilary audio input: Microphone (Logitech G430 Gaming Headset)
11:11:07: ------------------------------------------
11:11:07: Audio Encoding: AAC
11:11:07:     bitrate: 128
11:11:07: Using bitmap image
11:11:07: Using graphics capture
11:11:07: Scene buffering time set to 400
11:11:07: Using custom x264 settings: "crf=10"
11:11:07: ------------------------------------------
11:11:07: Video Encoding: x264
11:11:07:     fps: 30
11:11:07:     width: 1280, height: 720
11:11:07:     preset: veryfast
11:11:07:     profile: high
11:11:07:     keyint: 60
11:11:07:     CBR: no
11:11:07:     CFR: no
11:11:07:     max bitrate: 4872
11:11:07:     buffer size: 500
11:11:07:     quality: 22
11:11:07: ------------------------------------------
11:11:07: MMDeviceAudioSource: Frequency for device 'Speakers (Logitech G430 Gaming Headset)' is 1536000, samples per sec is 48000
11:11:07: MMDeviceAudioSource: Frequency for device 'Microphone (Logitech G430 Gaming Headset)' is 192000, samples per sec is 48000
11:11:24: SharedTexCapture hooked
11:11:25: Capture hotkey triggered for new window, terminating capture
11:11:26: SharedTexCapture hooked
11:12:14: Total frames encoded: 2006, total frames duplicated: 2 (0.10%)
11:12:14: Total frames rendered: 2010, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
11:12:14: 
11:12:14: Profiler time results:
11:12:14: 
11:12:14: ==============================================================
11:12:14: video thread frame - [100%] [avg time: 0.795 ms] [children: 16.7%] [unaccounted: 83.3%]
11:12:14: | scene->Preprocess - [0.126%] [avg time: 0.001 ms]
11:12:14: | GPU download and conversion - [16.6%] [avg time: 0.132 ms] [children: 15.1%] [unaccounted: 1.51%]
11:12:14: | | flush - [12.6%] [avg time: 0.1 ms]
11:12:14: | | CopyResource - [2.26%] [avg time: 0.018 ms]
11:12:14: | | conversion to 4:2:0 - [0.252%] [avg time: 0.002 ms]
11:12:14: Convert444Threads - [100%] [avg time: 0.502 ms] [children: 99.6%] [unaccounted: 0.398%]
11:12:14: | Convert444toNV12 - [99.6%] [avg time: 0.5 ms]
11:12:14: encoder thread frame - [100%] [avg time: 0.847 ms]
11:12:14: ==============================================================
11:12:14: 
11:12:14: 
11:12:14: Profiler CPU results:
11:12:14: 
11:12:14: ==============================================================
11:12:14: video thread frame - [cpu time: avg 0.085 ms, total 171.601 ms] [avg calls per frame: 1]
11:12:14: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
11:12:14: | GPU download and conversion - [cpu time: avg 0.023 ms, total 46.8 ms] [avg calls per frame: 1]
11:12:14: | | flush - [cpu time: avg 0.015 ms, total 31.2 ms] [avg calls per frame: 1]
11:12:14: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
11:12:14: | | conversion to 4:2:0 - [cpu time: avg 0.007 ms, total 15.6 ms] [avg calls per frame: 1]
11:12:14: Convert444Threads - [cpu time: avg 0.594 ms, total 2371.21 ms] [avg calls per frame: 2]
11:12:14: | Convert444toNV12 - [cpu time: avg 0.59 ms, total 2355.61 ms] [avg calls per frame: 2]
11:12:14: encoder thread frame - [cpu time: avg 0.086 ms, total 171.601 ms] [avg calls per frame: 1]
11:12:14: ==============================================================
11:12:14: 
11:12:14: =====Stream End: 2013-12-15, 11:12:14=================================================
 

Sapiens

Forum Moderator
No idea what's going on with your choice of settings in that log, but I assume you don't plan to stream to Twitch as their maximum supported bitrate is 3500 Kbps. If you want OBS to give you a 5 Mbps stream:

- Enable CBR, which is what you should be using for live streaming anyway
- Set your max bitrate to 5000, don't use a custom buffer
 

FerretBomb

Active Member
5K for 720@30 is ridiculous amounts of overkill. Also, if you're streaming to Twitch, the ingest servers start crapping out much past 3500. The log file presented isn't from a live streaming session though, so we can't really tell. Additionally, VBR (non-CBR) will drop bitrate to conserve throughput when it is not necessary.

All that said however, you will NEVER get a true 1:1 stream.

If nothing else, you are downscaling the game which will incur blur even with best possible settings, especially on text, and doubly-so if you've rescaled any sources in the preview. If you do have the throughput available, have you considered streaming 1080p@30fps at 3500kbps (ie: your native monitor resolution)? That should give quite good quality, and might fix what you're seeing as the problem.
 

Exiiile

New Member
Apologies for the local-log, I forgot I wasn't actually streaming >_>. As I said previously, I know it's overkill. I can stream any other game in existence at the normal levels and the quality is good.... But this game will not be in good quality. I know you have little reason to try it yourself other than to believe me, but... well, believe me! The amount of blurry pixelation that occurs at 3500 on 720p at 30 FPS with this game is intense.

All I was wondering is if there was some hidden super secret advanced technique to possibly remedy this issue.

Edit: As far as twitch capping at 3.5k, is there another streaming service that doesn't?

Code:
12:36:22: =====Stream Start: 2013-12-15, 12:36:22===============================================
12:36:22:   Multithreaded optimizations: On
12:36:22:   Base resolution: 1920x1080
12:36:22:   Output resolution: 1280x720
12:36:22: ------------------------------------------
12:36:22: Loading up D3D10 on NVIDIA GeForce GTX 660 Ti...
12:36:22: ------------------------------------------
12:36:22: Audio Format: 48000hz
12:36:22: Playback device {0.0.0.00000000}.{3c6bc451-80af-4e47-9991-c4a93d57f535}
12:36:22: ------------------------------------------
12:36:22: Using desktop audio input: Speakers (Logitech G430 Gaming Headset)
12:36:22: Using 7.1 surround speaker setup
12:36:22: ------------------------------------------
12:36:22: Using auxilary audio input: Microphone (Logitech G430 Gaming Headset)
12:36:22: ------------------------------------------
12:36:22: Audio Encoding: AAC
12:36:22:     bitrate: 160
12:36:22: Using bitmap image
12:36:22: Using graphics capture
12:36:22: Scene buffering time set to 400
12:36:22: ------------------------------------------
12:36:22: Video Encoding: x264
12:36:22:     fps: 30
12:36:22:     width: 1280, height: 720
12:36:22:     preset: veryfast
12:36:22:     profile: high
12:36:22:     keyint: 60
12:36:22:     CBR: yes
12:36:22:     CFR: no
12:36:22:     max bitrate: 4940
12:36:22:     buffer size: 4940
12:36:22: ------------------------------------------
12:36:22: MMDeviceAudioSource: Frequency for device 'Speakers (Logitech G430 Gaming Headset)' is 1536000, samples per sec is 48000
12:36:22: MMDeviceAudioSource: Frequency for device 'Microphone (Logitech G430 Gaming Headset)' is 192000, samples per sec is 48000
12:36:24: Using RTMP service: Twitch / Justin.tv
12:36:24:   Server selection: rtmp://live-lax.justin.tv/app
12:36:24:   Interface: Intel(R) 82579V Gigabit Network Connection (ethernet, 1000 mbps)
12:36:24: Completed handshake with rtmp://live-lax.justin.tv/app in 89 ms.
12:36:24: SO_SNDBUF was at 8192
12:36:24: SO_SNDBUF is now 65536
12:36:34: SharedTexCapture hooked
12:36:36: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 33378 / 652288)
12:36:52: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 0 / 652288)
12:37:45: Total frames encoded: 2473, total frames duplicated: 6 (0.24%)
12:37:45: Total frames rendered: 2478, number of late frames: 1 (0.04%) (it's okay for some frames to be late)
12:37:45: RTMPPublisher::SocketLoop: Graceful loop exit
12:37:45: Average send payload: 11326 bytes, average send interval: 18 ms
12:37:45: Number of times waited to send: 0, Waited for a total of 0 bytes
12:37:45: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
12:37:45: Number of bytes sent: 49668275
12:37:45: 
12:37:45: Profiler time results:
12:37:45: 
12:37:45: ==============================================================
12:37:45: video thread frame - [100%] [avg time: 0.854 ms] [children: 16.7%] [unaccounted: 83.3%]
12:37:45: | scene->Preprocess - [0.117%] [avg time: 0.001 ms]
12:37:45: | GPU download and conversion - [16.6%] [avg time: 0.142 ms] [children: 14.4%] [unaccounted: 2.22%]
12:37:45: | | flush - [11.9%] [avg time: 0.102 ms]
12:37:45: | | CopyResource - [2.22%] [avg time: 0.019 ms]
12:37:45: | | conversion to 4:2:0 - [0.234%] [avg time: 0.002 ms]
12:37:45: Convert444Threads - [100%] [avg time: 0.496 ms] [children: 99.4%] [unaccounted: 0.605%]
12:37:45: | Convert444toNV12 - [99.4%] [avg time: 0.493 ms]
12:37:45: encoder thread frame - [100%] [avg time: 0.876 ms]
12:37:45: ==============================================================
12:37:45: 
12:37:45: 
12:37:45: Profiler CPU results:
12:37:45: 
12:37:45: ==============================================================
12:37:45: video thread frame - [cpu time: avg 0.075 ms, total 187.201 ms] [avg calls per frame: 1]
12:37:45: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
12:37:45: | GPU download and conversion - [cpu time: avg 0.025 ms, total 62.401 ms] [avg calls per frame: 1]
12:37:45: | | flush - [cpu time: avg 0.012 ms, total 31.2 ms] [avg calls per frame: 1]
12:37:45: | | CopyResource - [cpu time: avg 0.012 ms, total 31.201 ms] [avg calls per frame: 1]
12:37:45: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
12:37:45: Convert444Threads - [cpu time: avg 0.535 ms, total 2636.42 ms] [avg calls per frame: 2]
12:37:45: | Convert444toNV12 - [cpu time: avg 0.529 ms, total 2605.22 ms] [avg calls per frame: 2]
12:37:45: encoder thread frame - [cpu time: avg 0.076 ms, total 187.201 ms] [avg calls per frame: 1]
12:37:45: ==============================================================
12:37:45: 
12:37:45: =====Stream End: 2013-12-15, 12:37:45=================================================
 
Top