Question / Help Issue with Stream, not at 30FPS

TheDarkRider

New Member
Hey,

So I had used OBS for a while to stream a few games a while ago(about 45 days or so) and it seemed to be working fine, but now it seems to be having issues. My AFK(Overlay) Scene is run fine at 30FPS, but my ingame is shown by OBS to be at around 18FPS ( I have it set to 30). I am wondering what the problem could be. I am attaching the log file here. I am using it to stream StarCraft 2.

I used the log analyzer and it tell me about 30% of my frames were late. Wondering what is happening there.

Code:
20:30:44: =====Stream End: 2014-02-13, 20:30:44=================================================
20:30:45: =====Stream Start: 2014-02-13, 20:30:45===============================================
20:30:45:   Multithreaded optimizations: On
20:30:45:   Base resolution: 1920x1080
20:30:45:   Output resolution: 852x480
20:30:45: ------------------------------------------
20:30:45: Loading up D3D10 on NVIDIA GeForce 9800 GT (Adapter 1)...
20:30:45: D3D10CreateDeviceAndSwapChain1: Failed on NVIDIA GeForce 9800 GT: 0x80004002. Trying compatibility mode
20:30:45: ------------------------------------------
20:30:45: Audio Format: 48000hz
20:30:45: Playback device Default
20:30:45: ------------------------------------------
20:30:45: Using desktop audio input: Speakers (Corsair Vengeance 1500 Headset)
20:30:45: Using 7.1 surround speaker setup
20:30:45: ------------------------------------------
20:30:45: Using auxilary audio input: Microphone (Corsair Vengeance 1500 Headset)
20:30:45: ------------------------------------------
20:30:45: Audio Encoding: AAC
20:30:45:     bitrate: 96
20:30:45: Using graphics capture
20:30:45: ------------------------------------------
20:30:45:     device: \\?\usb#vid_046d&pid_080f&mi_00#6&35a171c3&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global,
20:30:45:     device id \\?\usb#vid_046d&pid_080f&mi_00#6&35a171c3&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global,
20:30:45:     chosen type: YUY2, usingFourCC: false, res: 640x480 - 640x480, frameIntervals: 333333-2000000
20:30:45:     use buffering: false - 0, fourCC: 'YUY2'
20:30:45:     audio device: Disable,
20:30:45:     audio device id Disabled,
20:30:45: 
20:30:45: Using directshow input
20:30:45: Using bitmap image
20:30:45: Scene buffering time set to 400
20:30:45: ------------------------------------------
20:30:45: Video Encoding: x264
20:30:45:     fps: 30
20:30:45:     width: 852, height: 480
20:30:45:     preset: faster
20:30:45:     profile: high
20:30:45:     keyint: 60
20:30:45:     CBR: yes
20:30:45:     CFR: yes
20:30:45:     max bitrate: 500
20:30:45:     buffer size: 500
20:30:45: ------------------------------------------
20:30:45: SharedTexCapture hooked
20:30:47: Using RTMP service: Twitch / Justin.tv
20:30:47:   Server selection: rtmp://live-sin-backup.justin.tv/app
20:30:47:   Interface: Realtek PCIe GBE Family Controller (ethernet, 100 mbps)
20:30:48: Completed handshake with rtmp://live-sin-backup.justin.tv/app in 570 ms.
20:30:49: SO_SNDBUF was at 8192
20:30:49: SO_SNDBUF is now 65536
20:30:53: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 0 / 131072)
20:31:04: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
20:31:04:   New Scene
20:31:04: Using bitmap image
20:31:56: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
20:31:56:   New Scene
20:31:56: Using bitmap image
20:32:01: Total frames encoded: 2263, total frames duplicated: 577 (25.50%)
20:32:01: Total frames rendered: 1720, number of late frames: 501 (29.13%) (it's okay for some frames to be late)
20:32:01: RTMPPublisher::SocketLoop: Graceful loop exit
20:32:02: Average send payload: 2247 bytes, average send interval: 29 ms
20:32:02: Number of times waited to send: 0, Waited for a total of 0 bytes
20:32:02: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
20:32:02: Number of bytes sent: 5354120
20:32:02: 
20:32:02: Profiler time results:
20:32:02: 
20:32:02: ==============================================================
20:32:02: video thread frame - [100%] [avg time: 28.712 ms] [children: 97.5%] [unaccounted: 2.47%]
20:32:02: | scene->Preprocess - [1.93%] [avg time: 0.554 ms]
20:32:02: | GPU download and conversion - [95.6%] [avg time: 27.45 ms] [children: 96.4%] [unaccounted: -0.763%]
20:32:02: | | flush - [0.261%] [avg time: 0.075 ms]
20:32:02: | | CopyResource - [96%] [avg time: 27.571 ms]
20:32:02: | | conversion to 4:2:0 - [0.0801%] [avg time: 0.023 ms]
20:32:02: Convert444Threads - [100%] [avg time: 0.314 ms] [children: 97.1%] [unaccounted: 2.87%]
20:32:02: | Convert444toNV12 - [97.1%] [avg time: 0.305 ms]
20:32:02: encoder thread frame - [100%] [avg time: 0.745 ms]
20:32:02: ==============================================================
20:32:02: 
20:32:02: 
20:32:02: Profiler CPU results:
20:32:02: 
20:32:02: ==============================================================
20:32:02: video thread frame - [cpu time: avg 2.893 ms, total 4976.43 ms] [avg calls per frame: 1]
20:32:02: | scene->Preprocess - [cpu time: avg 0.526 ms, total 904.805 ms] [avg calls per frame: 1]
20:32:02: | GPU download and conversion - [cpu time: avg 1.995 ms, total 3432.02 ms] [avg calls per frame: 1]
20:32:02: | | flush - [cpu time: avg 0.036 ms, total 62.4 ms] [avg calls per frame: 1]
20:32:02: | | CopyResource - [cpu time: avg 1.967 ms, total 3354.02 ms] [avg calls per frame: 1]
20:32:02: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
20:32:02: Convert444Threads - [cpu time: avg 0.233 ms, total 795.604 ms] [avg calls per frame: 2]
20:32:02: | Convert444toNV12 - [cpu time: avg 0.233 ms, total 795.604 ms] [avg calls per frame: 2]
20:32:02: encoder thread frame - [cpu time: avg 0.076 ms, total 171.601 ms] [avg calls per frame: 1]
20:32:02: ==============================================================
20:32:02: 
20:32:02: =====Stream End: 2014-02-13, 20:32:02=================================================
 

Krazy

Town drunk
Your GPU is ancient, and it's choking your system. I suspect your CPU may also not be up to snuff for using the Faster x264 preset, either. Downscale way more, and lower FPS to 25 or so, but really you need some hardware upgrades if you want to stream properly.
 

TheDarkRider

New Member
Yeah. I was thinking it might be my GPU. I dont play a lot of GPU intensive games and SC2 was running at 100+ fps at medium just fine, but might have to change it now. Do you think a 650ti or AMD 7790 would cut it? I dont want to get a higher end GPU because I dont play a lot of high end games, and I'm fine with medium settings at 1080p, game quality over video quality! :)
 

Boildown

Active Member
Both those GPUs should be fine for streaming. You might want to wait a few days, on the 17th, I think, Nvidia is coming out with new video cards at a price point close to what those ones currently sit at.
 

Boildown

Active Member
Ok, but for whatever reason, that log omits which CPU you're using, which as Krazy mentioned could also be a bottleneck for you.
 

TheDarkRider

New Member
The desktop itself is pretty recent. Its a AMD FX8350, with about 16GB of RAM, just haven't updated the GPU in a while, didn't have a reason to. Hopefully it wont be a bottleneck.
 

Krazy

Town drunk
Ok, cool, the FX8350 will be more than enough for what you want to do. That GPU will be a huge upgrade for your OBS performance.
 

Krazy

Town drunk
Well, unfortunately that is an extremely low upload rate that you're not going to be able to do much with. You'll want to stick to 480p30fps or lower. You should be able to lower the x264 preset to Fast or Medium with that CPU to get some additional quality, but bitrate is going to be an extremely limiting factor for you.
 

TheDarkRider

New Member
480p30fps with medium preset should work with 600 bitrate right? and Audio at 96. Trying to get a better internet connection, but this will have to do till I can get fiber around here. I have 16 down, but only 700kbps up :(
 

Boildown

Active Member
That's extremely tight, being that close to your cap. Are you playing internet games? You might be ok with single player games (or a local lan party), but if you're playing an internet game then you need to leave some bandwidth for it as well. And people rarely get their full theoretical bandwidth (although some people get even more). You'll just have to experiment to zero in on your best bitrate, worry about the resolution, fps, preset once you have that figured out.
 

Krazy

Town drunk
You *might* be ok. But you'll really have to tweak bitrate settings until everything is right
 

TheDarkRider

New Member
Got the 260x today and the FPS was fine at 30FPS constant, but having other weird issues with SC2 instead. Off to blizzard for support help now! My SC2 performance is worse now. At medium settings barely manage 40FPS mid game (got 70+ with the 9800GT)
 
Top