Question / Help Inconsistent Frame Drops

paragong

New Member
My issue is that sometimes I can successfully stream without any dropped frames and sometimes they will drop immediately once I launch. My fps in game is fine but only the frames in obs are being dropped. I've tried so many different settings and such. My upload speed is never below 10. The thing that confuses me the most is that my brother, who happens to run on the same internet as me can stream without an issue while having a slightly less powerful computer. Also the game I'm trying to stream is Team Fortress 2.

Below is the log from my most recent stream (which I shut off after a couple minutes after seeing the dropped frames). Any help or suggestions would be appreciated

Code:
21:05:16: Open Broadcaster Software v0.592b - 64bit ( ^ω^)
21:05:16: -------------------------------
21:05:16: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
21:05:16: CPU Speed: 3410MHz
21:05:16: Physical Memory:  8141MB Total, 5436MB Free
21:05:16: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
21:05:16: monitor 1: pos={0, 0}, size={1920, 1080}
21:05:16: monitor 2: pos={1920, 0}, size={1680, 1050}
21:05:16: Windows Version: 6.2 Build 9200 
21:05:16: Aero is Enabled
21:05:16: -------------------------------
21:05:16: OBS Modules:
21:05:16: Base Address     Module
21:05:16: 00000000934E0000 OBS.exe
21:05:16: 0000000087620000 OBSApi.dll
21:05:16: 0000000093820000 DShowPlugin.dll
21:05:16: 0000000093790000 GraphicsCapture.dll
21:05:16: 0000000094560000 NoiseGate.dll
21:05:16: 00000000944D0000 PSVPlugin.dll
21:05:16: ------------------------------------------
21:05:16: Adapter 1
21:05:16:   Video Adapter: AMD Radeon HD 7700 Series
21:05:16:   Video Adapter Dedicated Video Memory: 2128809984
21:05:16:   Video Adapter Shared System Memory: 4000112640
21:05:16:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
21:05:16:   Video Adapter Output 2: pos={1920, 0}, size={1680, 1050}, attached=true
21:05:16: Using fixed low latency mode, factor 20
21:05:16: =====Stream Start: 2014-01-14, 21:05:16===============================================
21:05:16:   Multithreaded optimizations: On
21:05:16:   Base resolution: 1920x1080
21:05:16:   Output resolution: 1280x720
21:05:16: ------------------------------------------
21:05:16: Loading up D3D10 on AMD Radeon HD 7700 Series (Adapter 1)...
21:05:16: ------------------------------------------
21:05:16: Audio Format: 48000hz
21:05:16: Playback device Default
21:05:16: ------------------------------------------
21:05:16: Using desktop audio input: Speakers (2- High Definition Audio Device)
21:05:16: ------------------------------------------
21:05:16: Using auxilary audio input: Microphone (2- High Definition Audio Device)
21:05:16: ------------------------------------------
21:05:16: Audio Encoding: AAC
21:05:16:     bitrate: 128
21:05:16: Using graphics capture
21:05:16: Scene buffering time set to 400
21:05:16: ------------------------------------------
21:05:16: Video Encoding: x264
21:05:16:     fps: 30
21:05:16:     width: 1280, height: 720
21:05:16:     preset: veryfast
21:05:16:     profile: main
21:05:16:     keyint: 60
21:05:16:     CBR: yes
21:05:16:     CFR: yes
21:05:16:     max bitrate: 3000
21:05:16:     buffer size: 3000
21:05:16: ------------------------------------------
21:05:16: MMDeviceAudioSource: Frequency for device 'Speakers (2- High Definition Audio Device)' is 352800, samples per sec is 44100
21:05:16: MMDeviceAudioSource: Frequency for device 'Microphone (2- High Definition Audio Device)' is 352800, samples per sec is 44100
21:05:18: SharedTexCapture hooked
21:05:21: Using RTMP service: Twitch / Justin.tv
21:05:21:   Server selection: rtmp://live-jfk.justin.tv/app
21:05:21:   Interface: Realtek PCIe GBE Family Controller (ethernet, 1000 mbps)
21:05:21: Completed handshake with rtmp://live-jfk.justin.tv/app in 251 ms.
21:05:22: SO_SNDBUF was at 65536
21:05:22: SO_SNDBUF is now 65536
21:05:23: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 181793 / 400384)
21:05:56: Total frames encoded: 1193, total frames duplicated: 5 (0.42%)
21:05:56: Total frames rendered: 1194, number of late frames: 2 (0.17%) (it's okay for some frames to be late)
21:06:01: RTMPPublisher::SocketLoop: Aborting due to WSAEnumNetworkEvents failure, 10038
21:06:01: Average send payload: 21577 bytes, average send interval: 101 ms
21:06:01: Number of times waited to send: 248, Waited for a total of 913245 bytes
21:06:01: Number of b-frames dropped: 395 (34%), Number of p-frames dropped: 369 (32%), Total 764 (66%)
21:06:01: Number of bytes sent: 8220881
21:06:01: 
21:06:01: Profiler time results:
21:06:01: 
21:06:01: ==============================================================
21:06:01: video thread frame - [100%] [avg time: 0.82 ms] [children: 35.9%] [unaccounted: 64.1%]
21:06:01: | scene->Preprocess - [0.244%] [avg time: 0.002 ms]
21:06:01: | GPU download and conversion - [35.6%] [avg time: 0.292 ms] [children: 28.2%] [unaccounted: 7.44%]
21:06:01: | | flush - [27%] [avg time: 0.221 ms]
21:06:01: | | CopyResource - [0.976%] [avg time: 0.008 ms]
21:06:01: | | conversion to 4:2:0 - [0.244%] [avg time: 0.002 ms]
21:06:01: Convert444Threads - [100%] [avg time: 0.351 ms] [children: 97.2%] [unaccounted: 2.85%]
21:06:01: | Convert444toNV12 - [97.2%] [avg time: 0.341 ms]
21:06:01: encoder thread frame - [100%] [avg time: 0.795 ms]
21:06:01: ==============================================================
21:06:01: 
21:06:01: 
21:06:01: Profiler CPU results:
21:06:01: 
21:06:01: ==============================================================
21:06:01: video thread frame - [cpu time: avg 0.052 ms, total 62.5 ms] [avg calls per frame: 1]
21:06:01: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
21:06:01: | GPU download and conversion - [cpu time: avg 0.026 ms, total 31.25 ms] [avg calls per frame: 1]
21:06:01: | | flush - [cpu time: avg 0.013 ms, total 15.625 ms] [avg calls per frame: 1]
21:06:01: | | CopyResource - [cpu time: avg 0.013 ms, total 15.625 ms] [avg calls per frame: 1]
21:06:01: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
21:06:01: Convert444Threads - [cpu time: avg 0.092 ms, total 218.75 ms] [avg calls per frame: 2]
21:06:01: | Convert444toNV12 - [cpu time: avg 0.092 ms, total 218.75 ms] [avg calls per frame: 2]
21:06:01: encoder thread frame - [cpu time: avg 0.079 ms, total 93.75 ms] [avg calls per frame: 1]
21:06:01: ==============================================================
21:06:01: 
21:06:01: =====Stream End: 2014-01-14, 21:06:01=================================================


Last game capture log:
2014-01-14, 21:05:16: we're booting up: 
21:05:16: CaptureThread: attached to process hl2.exe
21:05:16: D3D9 Present
21:05:16: D3D9EndScene called
21:05:16: D3DPRESENT_PARAMETERS {
21:05:16: 	BackBufferWidth: 1920
21:05:16: 	BackBufferHeight: 1080
21:05:16: 	BackBufferFormat: D3DFMT_A8R8G8B8
21:05:16: 	BackBufferCount: 1
21:05:16: 	MultiSampleType: D3DMULTISAMPLE_NONE
21:05:16: 	MultiSampleQuality: 0
21:05:16: 	SwapEffect: D3DSWAPEFFECT_DISCARD
21:05:16: 	hDeviceWindow: 787952
21:05:16: 	Windowed: false
21:05:16: 	EnableAutoDepthStencil: true
21:05:16: 	AutoDepthStencilFormat: D3DFMT_D24S8
21:05:16: 	Flags: None
21:05:16: 	FullScreen_RefreshRateInHz: 144
21:05:16: 	PresentationInterval: 2147483648
21:05:16: };
21:05:16: successfully set up d3d9 hooks
21:05:16: NV Capture available
21:05:16: FBO available
21:05:16: GL Present
21:05:16: (half life scientist) everything..  seems to be in order
21:05:18: D3D9Present called
21:05:18: DoD3D9GPUHook: success - d3d9ex
21:05:18: D3DSURFACE_DESC {
21:05:18: 	Format: D3DFMT_A8R8G8B8
21:05:18: 	Type: D3DRTYPE_SURFACE
21:05:18: 	Usage: D3DUSAGE_RENDERTARGET 
21:05:18: 	Pool: D3DPOOL_DEFAULT
21:05:18: 	MultiSampleType: D3DMULTISAMPLE_NONE
21:05:18: 	MultiSampleQuality: 0
21:05:18: 	Width: 1920
21:05:18: 	Height: 1080
21:05:18: };
21:05:18: successfully capturing d3d9 frames via GPU
 

FerretBomb

Active Member
Dropped frames = network issue. Normally caused by trying to use a bitrate higher than your connection can actually provide, consistently. You need to lower your bitrate... and from those counts, by a significant amount. Note that speedtest.net is almost worthless when it comes to livestreaming; if you're basing your connection expectations off those results? Forget it. Nearly zero correlation between their testing methods, and the connection type used by livestreaming.

For 720p@30fps, 2000kbps should give quite good quality (and is coincidentally the Twitch-recommended maximum for non-partnered streamers); my own baseline for 720p@30 is 1500kbps though, and you're currently set to double that.

Drop your bitrate to 2000, and try again.
 

paragong

New Member
Using testmy.net my upload showed up as 21.8. I'll try with that lower bitrate tomorrow though when I get a chance.
 

paragong

New Member
Just tried with 2000 bitrate with no luck, immediate dropping of frames. I don't think it's a network issue because my brother is able to successfully stream without any dropped frames with a 3000 bitrate.

Here's the log of my most recent test:
Code:
20:49:49: Open Broadcaster Software v0.592b - 64bit ( ^ω^)
20:49:49: -------------------------------
20:49:49: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
20:49:49: CPU Speed: 3410MHz
20:49:49: Physical Memory:  8141MB Total, 5868MB Free
20:49:49: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
20:49:49: monitor 1: pos={0, 0}, size={1920, 1080}
20:49:49: monitor 2: pos={1920, 0}, size={1680, 1050}
20:49:49: Windows Version: 6.2 Build 9200 
20:49:49: Aero is Enabled
20:49:49: -------------------------------
20:49:49: OBS Modules:
20:49:49: Base Address     Module
20:49:49: 00000000790E0000 OBS.exe
20:49:49: 000000008A6B0000 OBSApi.dll
20:49:49: 0000000094540000 DShowPlugin.dll
20:49:49: 0000000094360000 GraphicsCapture.dll
20:49:49: 0000000094CB0000 NoiseGate.dll
20:49:49: 0000000094C80000 PSVPlugin.dll
20:49:49: ------------------------------------------
20:49:49: Adapter 1
20:49:49:   Video Adapter: AMD Radeon HD 7700 Series
20:49:49:   Video Adapter Dedicated Video Memory: 2128809984
20:49:49:   Video Adapter Shared System Memory: 4000112640
20:49:49:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
20:49:49:   Video Adapter Output 2: pos={1920, 0}, size={1680, 1050}, attached=true
20:49:49: Using fixed low latency mode, factor 20
20:49:49: =====Stream Start: 2014-01-15, 20:49:49===============================================
20:49:49:   Multithreaded optimizations: On
20:49:49:   Base resolution: 1920x1080
20:49:49:   Output resolution: 1280x720
20:49:49: ------------------------------------------
20:49:49: Loading up D3D10 on AMD Radeon HD 7700 Series (Adapter 1)...
20:49:49: ------------------------------------------
20:49:49: Audio Format: 48000hz
20:49:49: Playback device Default
20:49:49: ------------------------------------------
20:49:49: Using desktop audio input: Speakers (2- High Definition Audio Device)
20:49:49: ------------------------------------------
20:49:49: Using auxilary audio input: Microphone (2- High Definition Audio Device)
20:49:49: ------------------------------------------
20:49:49: Audio Encoding: AAC
20:49:49:     bitrate: 128
20:49:49: Using graphics capture
20:49:49: Scene buffering time set to 400
20:49:49: ------------------------------------------
20:49:49: Video Encoding: x264
20:49:49:     fps: 30
20:49:49:     width: 1280, height: 720
20:49:49:     preset: veryfast
20:49:49:     profile: main
20:49:49:     keyint: 60
20:49:49:     CBR: yes
20:49:49:     CFR: yes
20:49:49:     max bitrate: 2000
20:49:49:     buffer size: 2000
20:49:49: ------------------------------------------
20:49:49: MMDeviceAudioSource: Frequency for device 'Speakers (2- High Definition Audio Device)' is 352800, samples per sec is 44100
20:49:49: MMDeviceAudioSource: Frequency for device 'Microphone (2- High Definition Audio Device)' is 352800, samples per sec is 44100
20:49:54: Using RTMP service: Twitch / Justin.tv
20:49:54:   Server selection: rtmp://live-jfk.justin.tv/app
20:49:54:   Interface: Realtek PCIe GBE Family Controller (ethernet, 1000 mbps)
20:49:54: Completed handshake with rtmp://live-jfk.justin.tv/app in 244 ms.
20:49:55: SO_SNDBUF was at 65536
20:49:55: SO_SNDBUF is now 65536
20:49:55: SharedTexCapture hooked
20:50:02: GraphicsCaptureSource::NewCapture:  eliminating old capture
20:50:02: SharedTexCapture hooked
20:50:22: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 159267 / 272384)
20:51:40: Total frames encoded: 3308, total frames duplicated: 18 (0.54%)
20:51:40: Total frames rendered: 3300, number of late frames: 3 (0.09%) (it's okay for some frames to be late)
20:51:44: RTMPPublisher::SocketLoop: Socket error, send() returned -1, GetLastError() 10038
20:51:44: Average send payload: 14547 bytes, average send interval: 61 ms
20:51:44: Number of times waited to send: 686, Waited for a total of 2409514 bytes
20:51:44: Number of b-frames dropped: 264 (8.1%), Number of p-frames dropped: 261 (8%), Total 525 (16%)
20:51:44: Number of bytes sent: 25923263
20:51:44: 
20:51:44: Profiler time results:
20:51:44: 
20:51:44: ==============================================================
20:51:44: video thread frame - [100%] [avg time: 0.942 ms] [children: 31.7%] [unaccounted: 68.3%]
20:51:44: | scene->Preprocess - [0.212%] [avg time: 0.002 ms]
20:51:44: | GPU download and conversion - [31.5%] [avg time: 0.297 ms] [children: 25.8%] [unaccounted: 5.73%]
20:51:44: | | flush - [24.5%] [avg time: 0.231 ms]
20:51:44: | | CopyResource - [0.955%] [avg time: 0.009 ms]
20:51:44: | | conversion to 4:2:0 - [0.318%] [avg time: 0.003 ms]
20:51:44: Convert444Threads - [100%] [avg time: 0.365 ms] [children: 97.3%] [unaccounted: 2.74%]
20:51:44: | Convert444toNV12 - [97.3%] [avg time: 0.355 ms]
20:51:44: encoder thread frame - [100%] [avg time: 0.797 ms]
20:51:44: ==============================================================
20:51:44: 
20:51:44: 
20:51:44: Profiler CPU results:
20:51:44: 
20:51:44: ==============================================================
20:51:44: video thread frame - [cpu time: avg 0.052 ms, total 171.875 ms] [avg calls per frame: 1]
20:51:44: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
20:51:44: | GPU download and conversion - [cpu time: avg 0.033 ms, total 109.375 ms] [avg calls per frame: 1]
20:51:44: | | flush - [cpu time: avg 0.023 ms, total 78.125 ms] [avg calls per frame: 1]
20:51:44: | | CopyResource - [cpu time: avg 0.009 ms, total 31.25 ms] [avg calls per frame: 1]
20:51:44: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
20:51:44: Convert444Threads - [cpu time: avg 0.102 ms, total 671.875 ms] [avg calls per frame: 2]
20:51:44: | Convert444toNV12 - [cpu time: avg 0.102 ms, total 671.875 ms] [avg calls per frame: 2]
20:51:44: encoder thread frame - [cpu time: avg 0.047 ms, total 156.25 ms] [avg calls per frame: 1]
20:51:44: ==============================================================
20:51:44: 
20:51:44: =====Stream End: 2014-01-15, 20:51:44=================================================


Last game capture log:
2014-01-15, 20:49:55: we're booting up: 
20:49:55: CaptureThread: attached to process hl2.exe
20:49:55: D3D9 Present
20:49:55: D3D9EndScene called
20:49:55: D3DPRESENT_PARAMETERS {
20:49:55: 	BackBufferWidth: 1920
20:49:55: 	BackBufferHeight: 1080
20:49:55: 	BackBufferFormat: D3DFMT_A8R8G8B8
20:49:55: 	BackBufferCount: 1
20:49:55: 	MultiSampleType: D3DMULTISAMPLE_NONE
20:49:55: 	MultiSampleQuality: 0
20:49:55: 	SwapEffect: D3DSWAPEFFECT_DISCARD
20:49:55: 	hDeviceWindow: 67078
20:49:55: 	Windowed: false
20:49:55: 	EnableAutoDepthStencil: true
20:49:55: 	AutoDepthStencilFormat: D3DFMT_D24S8
20:49:55: 	Flags: None
20:49:55: 	FullScreen_RefreshRateInHz: 144
20:49:55: 	PresentationInterval: 2147483648
20:49:55: };
20:49:55: successfully set up d3d9 hooks
20:49:55: D3D9Present called
20:49:55: DoD3D9GPUHook: success - d3d9ex
20:49:55: NV Capture available
20:49:55: FBO available
20:49:55: GL Present
20:49:55: (half life scientist) everything..  seems to be in order
20:50:00: D3DSURFACE_DESC {
20:50:00: 	Format: D3DFMT_A8R8G8B8
20:50:00: 	Type: D3DRTYPE_SURFACE
20:50:00: 	Usage: D3DUSAGE_RENDERTARGET 
20:50:00: 	Pool: D3DPOOL_DEFAULT
20:50:00: 	MultiSampleType: D3DMULTISAMPLE_NONE
20:50:00: 	MultiSampleQuality: 0
20:50:00: 	Width: 1920
20:50:00: 	Height: 1080
20:50:00: };
20:50:00: successfully capturing d3d9 frames via GPU
20:50:01: D3D9Reset called
20:50:01: ---------------------- Cleared D3D9 Capture ----------------------
20:50:01: successfully set up d3d9 hooks
20:50:02: D3D9EndScene called
20:50:02: D3D9Present called
20:50:02: DoD3D9GPUHook: success - d3d9ex
20:50:02: D3DSURFACE_DESC {
20:50:02: 	Format: D3DFMT_A8R8G8B8
20:50:02: 	Type: D3DRTYPE_SURFACE
20:50:02: 	Usage: D3DUSAGE_RENDERTARGET 
20:50:02: 	Pool: D3DPOOL_DEFAULT
20:50:02: 	MultiSampleType: D3DMULTISAMPLE_NONE
20:50:02: 	MultiSampleQuality: 0
20:50:02: 	Width: 1920
20:50:02: 	Height: 1080
20:50:02: };
20:50:02: successfully capturing d3d9 frames via GPU
 

TOYBOXX

New Member
In my experience with massive frame drops while streaming, I chose a different server closer to me. It worked fine after that. Give that a try and see what happens.
 
Top