Question / Help Incressing the quality of my Stream? FPS vs Quality of video

Vulcanlive

New Member
Hi

I have been streaming with OBS for a little while now and I love it!

I have been streaming at 25fps and at 360p but I would like to increase the quality of my Stream.

What will effect my system and upload requirement more FPS increased to 30 or decrease the down-scaling rate to 480p.

I also struggle some times to get a good frame rate but I change the resolution on my motor to help with this. My CPU is good its 4 core 4.2 Ghz but my Graphics card SUCKS so With is the best way to improve the quality of my Stream?

-Vulcan
 

Vulcanlive

New Member
Re: Incressing the quality of my Stream? FPS vs Quality of v

Hi,

Here you go, this is the log from my Last Stream with was last night :)

Code:
18:00:34: Open Broadcaster Software v0.583b - 64bit ( ^ω^)
18:00:34: -------------------------------
18:00:34: CPU Name: AMD FX(tm)-4170 Quad-Core Processor
18:00:34: CPU Speed: 4219MHz
18:00:34: Physical Memory:  7934MB Total, 5454MB Free
18:00:34: stepping id: 2, model 1, family 21, type 0, extmodel 0, extfamily 3, HTT 1, logical cores 4, total cores 2
18:00:34: monitor 1: pos={-1280, 0}, size={1280, 1024}
18:00:34: monitor 2: pos={0, 0}, size={1920, 1080}
18:00:34: Windows Version: 6.1 Build 7601 S
18:00:34: Aero is Disabled
18:00:34: -------------------------------
18:00:34: OBS Modules:
18:00:34: Base Address     Module
18:00:34: 000000003F870000 OBS.exe
18:00:34: 00000000F15E0000 OBSApi.dll
18:00:34: 00000000F3910000 DShowPlugin.dll
18:00:34: 00000000F38C0000 GraphicsCapture.dll
18:00:34: 00000000F3650000 NoiseGate.dll
18:00:34: 00000000F24B0000 PSVPlugin.dll
18:00:34: ------------------------------------------
18:00:34: Adapter 1
18:00:34:   Video Adapter: AMD Radeon HD 6450
18:00:34:   Video Adapter Dedicated Video Memory: 1061101568
18:00:34:   Video Adapter Shared System Memory: 3891509248
18:00:34:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
18:00:34: ------------------------------------------
18:00:34: Adapter 2
18:00:34:   Video Adapter: NVIDIA GeForce 7025 / NVIDIA nForce 630a
18:00:34:   Video Adapter Dedicated Video Memory: 261083136
18:00:34:   Video Adapter Shared System Memory: 2130116608
18:00:34:   Video Adapter Output 1: pos={-1280, 0}, size={1280, 1024}, attached=true
18:00:34: Using fixed low latency mode, factor 20
18:00:34: =====Stream Start: 2013-10-29, 18:00:34===============================================
18:00:34:   Multithreaded optimizations: On
18:00:34:   Base resolution: 1920x1080
18:00:34:   Output resolution: 640x360
18:00:34: ------------------------------------------
18:00:34: Loading up D3D10 on AMD Radeon HD 6450...
18:00:34: ------------------------------------------
18:00:34: Audio Format: 48000hz
18:00:34: Playback device {0.0.0.00000000}.{f039ba88-72f9-437c-93ec-90d2047aff6e}
18:00:34: ------------------------------------------
18:00:34: Using desktop audio input: Speakers (Plantronics GameCom 780)
18:00:34: Using 5.1 surround speaker setup
18:00:34: ------------------------------------------
18:00:34: Using auxilary audio input: Microphone (Plantronics GameCom 780)
18:00:34: ------------------------------------------
18:00:34: Audio Encoding: AAC
18:00:34:     bitrate: 96
18:00:34: Using text output
18:00:34: Using bitmap image
18:00:34: Using bitmap image
18:00:34: Scene buffering time set to 700
18:00:34: ------------------------------------------
18:00:34: Video Encoding: x264
18:00:34:     fps: 25
18:00:34:     width: 640, height: 360
18:00:34:     preset: veryfast
18:00:34:     profile: high
18:00:34:     keyint: 50
18:00:34:     CBR: yes
18:00:34:     CFR: yes
18:00:34:     max bitrate: 850
18:00:34:     buffer size: 850
18:00:34: ------------------------------------------
18:00:34: MMDeviceAudioSource: Frequency for device 'Speakers (Plantronics GameCom 780)' is 1058400, samples per sec is 44100
18:00:34: MMDeviceAudioSource: Frequency for device 'Microphone (Plantronics GameCom 780)' is 352800, samples per sec is 44100
18:00:37: Using RTMP service: Twitch / Justin.tv
18:00:37:   Server selection: rtmp://live-lhr.justin.tv/app
18:00:37:   Interface: NVIDIA nForce Networking Controller (ethernet, 100 mbps)
18:00:37: Completed handshake with rtmp://live-lhr.justin.tv/app in 412 ms.
18:00:38: SO_SNDBUF was at 8192
18:00:38: SO_SNDBUF is now 65536
18:05:03: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
18:05:03:   New Scene
18:05:03: Using Monitor Capture
18:05:03: Using text output
18:05:44: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
18:05:44:   New Scene
18:05:44: Using bitmap image
18:05:44: Using text output
18:05:45: Using text output
18:05:45: Using graphics capture
18:05:46: SharedTexCapture hooked
18:10:19: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 492 / 131072)
18:19:01: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 0 / 131072)
19:36:31: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
19:36:31:   New Scene
19:36:31: Using text output
19:36:31: Using bitmap image
19:36:31: Using bitmap image
19:39:03: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
19:39:03:   New Scene
19:39:03: Using bitmap image
19:39:03: Using text output
19:39:03: Using text output
19:39:03: Using graphics capture
19:39:05: Using graphics capture
19:39:05: SharedTexCapture hooked
19:58:50: Capture window 0x001302F4 invalid or changing, terminating capture
19:58:58: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
19:58:58:   New Scene
19:58:58: Using Monitor Capture
19:58:58: Using text output
19:59:00: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
19:59:00:   New Scene
19:59:00: Using text output
19:59:00: Using bitmap image
19:59:01: Using bitmap image
19:59:04: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
19:59:04:   New Scene
19:59:04: Using Monitor Capture
19:59:04: Using text output
19:59:10: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
19:59:10:   New Scene
19:59:10: Using bitmap image
19:59:11: Using text output
19:59:11: Using text output
19:59:11: Using graphics capture
19:59:11: SharedTexCapture hooked
19:59:17: GraphicsCaptureSource::NewCapture:  eliminating old capture
19:59:17: SharedTexCapture hooked
20:52:06: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
20:52:06:   New Scene
20:52:06: Using text output
20:52:06: Using bitmap image
20:52:06: Using bitmap image
20:54:35: Total frames encoded: 260985, total frames duplicated: 14016 (5.37%)
20:54:35: Total frames rendered: 260576, number of late frames: 284 (0.11%) (it's okay for some frames to be late)
20:54:35: RTMPPublisher::SocketLoop: Graceful loop exit
20:54:35: Average send payload: 6038 bytes, average send interval: 50 ms
20:54:35: Number of times waited to send: 488, Waited for a total of 1598034 bytes
20:54:35: Number of b-frames dropped: 69 (0.026%), Number of p-frames dropped: 46 (0.018%), Total 115 (0.044%)
20:54:35: Number of bytes sent: 1254836788
20:54:35: 
20:54:35: Profiler time results:
20:54:35: 
20:54:35: ==============================================================
20:54:35: video thread frame - [100%] [avg time: 6.439 ms] [children: 29.8%] [unaccounted: 70.2%]
20:54:35: | scene->Preprocess - [1.12%] [avg time: 0.072 ms]
20:54:35: | GPU download and conversion - [28.7%] [avg time: 1.846 ms] [children: 13.8%] [unaccounted: 14.9%]
20:54:35: | | flush - [13.4%] [avg time: 0.861 ms]
20:54:35: | | CopyResource - [0.342%] [avg time: 0.022 ms]
20:54:35: | | conversion to 4:2:0 - [0.0466%] [avg time: 0.003 ms]
20:54:35: Convert444Thread - [100%] [avg time: 0.515 ms] [children: 98.4%] [unaccounted: 1.55%]
20:54:35: | Convert444toNV12 - [98.4%] [avg time: 0.507 ms]
20:54:35: encoder thread frame - [100%] [avg time: 0.654 ms]
20:54:35: ==============================================================
20:54:35: 
20:54:35: 
20:54:35: Profiler CPU results:
20:54:35: 
20:54:35: ==============================================================
20:54:35: video thread frame - [cpu time: avg 0.306 ms, total 79934.9 ms] [avg calls per frame: 1]
20:54:35: | scene->Preprocess - [cpu time: avg 0.035 ms, total 9328.87 ms] [avg calls per frame: 1]
20:54:35: | GPU download and conversion - [cpu time: avg 0.076 ms, total 20030.5 ms] [avg calls per frame: 1]
20:54:35: | | flush - [cpu time: avg 0.056 ms, total 14679.7 ms] [avg calls per frame: 1]
20:54:35: | | CopyResource - [cpu time: avg 0.007 ms, total 1950.01 ms] [avg calls per frame: 1]
20:54:35: | | conversion to 4:2:0 - [cpu time: avg 0.001 ms, total 358.806 ms] [avg calls per frame: 1]
20:54:35: Convert444Thread - [cpu time: avg 0.332 ms, total 86596.2 ms] [avg calls per frame: 1]
20:54:35: | Convert444toNV12 - [cpu time: avg 0.329 ms, total 85925.4 ms] [avg calls per frame: 1]
20:54:35: encoder thread frame - [cpu time: avg 0.056 ms, total 14710.9 ms] [avg calls per frame: 1]
20:54:35: ==============================================================
20:54:35: 
20:54:35: =====Stream End: 2013-10-29, 20:54:35=================================================


Last game capture log:
2013-10-29, 19:59:11: we're booting up: 
19:59:11: NV Capture available
19:59:11: FBO available
19:59:11: GL Present
19:59:11: (half life scientist) everything..  seems to be in order
19:59:11: SwapBuffers(2130774941) Called
19:59:11: setting up gl data
19:59:11: share device: 331928264
19:59:11: share texture: 369949040
19:59:11: share device handle: 370692224
19:59:11: share texture handle: 370786704
19:59:11: DoGLGPUHook: success
19:59:11: wglSwapBuffers(2130774941) Called
19:59:14: ---------------------- Cleared OpenGL Capture ----------------------
19:59:14: wglSwapBuffers(2130774941) Called
19:59:14: setting up gl data
19:59:14: SwapBuffers(2130774941) Called
19:59:17: reacquiring gl due to resize...
19:59:17: share device: 369713176
19:59:17: share texture: 369946224
19:59:17: share device handle: 370693584
19:59:17: share texture handle: 370786704
19:59:17: DoGLGPUHook: success
20:52:06: stop requested, terminating gl capture
20:52:06: ---------------------- Cleared OpenGL Capture ----------------------
20:52:06: wglSwapBuffers(2130774941) Called
20:52:06: setting up gl data
20:52:06: SwapBuffers(2130774941) Called
 

dodgepong

Administrator
Community Helper
Re: Incressing the quality of my Stream? FPS vs Quality of v

Even with such low settings, you're getting some duplicated frames. It may be difficult to increase your quality.

Increasing bit rate requires more upload speed, but would do the most to improve picture quality.

You could also try downscaling to only 480p, or increasing bit rate to 30fps, but those will demand more CPU utilization.

Those are probably the only things you should bother trying.
 

Vulcanlive

New Member
Re: Incressing the quality of my Stream? FPS vs Quality of v

Thanks a lot for the help.

What are duplicated frames?

I have changed one of my monitors resolution. So I now capture at a lower resolution with helps a lot with me ingame FPS. The only real time I see the FPS not hitting 25 is at the very start of my Stream where I have my intro image and some music playing but there is no action so im not worried.

I will bump up my bit rate and see what that does for me.

Thanks Again
 

dodgepong

Administrator
Community Helper
Re: Incressing the quality of my Stream? FPS vs Quality of v

CFR is Constant Frame Rate, which you have enabled (and you should keep it that way). OBS tries to make sure the frame rate on the stream stays constant. If it takes your CPU too long to encode a particular frame, OBS will abandon that frame and just send a duplicate of the last frame instead to keep framerate constant. So duplicate frames (and late frames) both mean your CPU isn't working fast enough to keep up with the encoding demands you're placing on it.
 

Vulcanlive

New Member
Re: Incressing the quality of my Stream? FPS vs Quality of v

I right I understand. But the thing that is puzzling me is that my CPU doesn't seem to work as hard when I stream with OBS but with something like Xsplit or FFsplit it work a lot harder for no gain?

I tried increasing my max bitrate to : 950kb/s and the same for my Buffer Size : 950kbit. It seem ok.. but in high action sections I would drop frames. I will try 900kb/s and see how that goes.

Thanks a lot
- Vulcan
 
Top