Question / Help High motion blurriness - is anything possible?

topstreamsnet

New Member
Hi All!

I am trying to stream some Magicka: Wizard Wars. I am not going for 1080p, but want to have a good quality 720p stream. So far I was able to achieve good quality for low motion scenes - like initial screen and score screen look really good and sharp and colors are right, but as soon as game starts and everything gets in motion - stream quality drops severely. Can somebody help and provide some advice on what I might try, test, change?

Here is a one hour stream log (ignore time stamp it was started long ago and log is for latest stream:
Code:
19:47:57: Open Broadcaster Software v0.584b - 32bit (´・ω・`)
19:47:57: -------------------------------
19:47:57: CPU Name: Intel(R) Core(TM) i7-4930MX CPU @ 3.00GHz
19:47:57: CPU Speed: 3193MHz
19:47:57: Physical Memory:  4095MB Total, 4095MB Free
19:47:57: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
19:47:57: monitor 1: pos={0, 0}, size={1920, 1080}
19:47:57: Windows Version: 6.2 Build 9200 
19:47:57: Aero is Enabled
19:47:57: -------------------------------
19:47:57: OBS Modules:
19:47:57: Base Address     Module
19:47:57: 00F50000         OBS.exe
19:47:57: 619A0000         OBSApi.dll
19:47:57: 62E40000         DShowPlugin.dll
19:47:57: 63FF0000         GraphicsCapture.dll
19:47:57: 627D0000         NoiseGate.dll
19:47:57: 627B0000         PSVPlugin.dll
19:47:57: 61D70000         scenesw.dll
19:47:57: ------------------------------------------
19:47:57: Adapter 1
19:47:57:   Video Adapter: NVIDIA GeForce GTX 780M
19:47:57:   Video Adapter Dedicated Video Memory: 3221225472
19:47:57:   Video Adapter Shared System Memory: 1073676288
19:47:57:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
19:47:57: ------------------------------------------
19:47:57: Adapter 2
19:47:57:   Video Adapter: NVIDIA GeForce GTX 780M
19:47:57:   Video Adapter Dedicated Video Memory: 3221225472
19:47:57:   Video Adapter Shared System Memory: 1073676288
16:30:41: =====Stream Start: 2013-12-11, 16:30:41===============================================
16:30:41:   Multithreaded optimizations: On
16:30:41:   Base resolution: 1920x1080
16:30:41:   Output resolution: 1280x720
16:30:41: ------------------------------------------
16:30:41: Loading up D3D10 on NVIDIA GeForce GTX 780M...
16:30:41: ------------------------------------------
16:30:41: Audio Format: 48000hz
16:30:41: Playback device Default
16:30:41: ------------------------------------------
16:30:41: Using desktop audio input: Speakers (Realtek High Definition Audio)
16:30:41: ------------------------------------------
16:30:41: Using auxilary audio input: Mic in at rear panel (black) (Realtek High Definition Audio)
16:30:41: ------------------------------------------
16:30:41: Audio Encoding: AAC
16:30:41:     bitrate: 128
16:30:41: Using Window Capture
16:30:41: Using graphics capture
16:30:41: Scene buffering time set to 400
16:30:41: ------------------------------------------
16:30:41: Video Encoding: x264
16:30:41:     fps: 30
16:30:41:     width: 1280, height: 720
16:30:41:     preset: faster
16:30:41:     profile: high
16:30:41:     keyint: 60
16:30:41:     CBR: yes
16:30:41:     CFR: yes
16:30:41:     max bitrate: 2500
16:30:41:     buffer size: 2500
16:30:41: ------------------------------------------
16:30:41: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 384000, samples per sec is 48000
16:30:41: MMDeviceAudioSource: Frequency for device 'Mic in at rear panel (black) (Realtek High Definition Audio)' is 352800, samples per sec is 44100
16:30:41: SharedTexCapture hooked
16:30:43:   Interface: Killer Wireless-N 1202 (2.4GHz and 5GHz) (802.11, 54 mbps)
16:30:44: Completed handshake with rtmp://publish.dailymotion.com/publish-dm in 116 ms.
16:30:44: SO_SNDBUF was at 65536
16:30:44: SO_SNDBUF is now 65536
16:30:46: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 131072 (buffer: 1300 / 335872)
16:30:48: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 262144 (buffer: 40340 / 335872)
16:30:50: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 524288 (buffer: 0 / 335872)
16:53:21: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
16:53:21:   New Scene
16:53:21: Using Window Capture
16:53:22: Using Slide Show
16:53:23: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
16:53:23:   New Scene
16:53:23: Using Window Capture
16:53:23: Using graphics capture
16:53:23: SharedTexCapture hooked
16:53:27: Exit signal received, terminating capture
16:53:31: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
16:53:31:   New Scene
16:53:31: Using Window Capture
16:53:31: Using Slide Show
16:53:57: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
16:53:57:   New Scene
16:53:57: Using Window Capture
16:53:57: Using graphics capture
16:53:57: SharedTexCapture hooked
17:26:39: RTMPPublisher::SocketLoop: Increasing send buffer to ISB 1048576 (buffer: 0 / 335872)
17:51:34: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
17:51:34:   New Scene
17:51:34: Using Window Capture
17:51:34: Using Slide Show
17:51:42: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
17:51:42:   New Scene
17:51:42: Using Window Capture
17:51:42: Using graphics capture
17:51:42: SharedTexCapture hooked
17:51:48: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
17:51:48:   New Scene
17:51:48: Using Window Capture
17:51:48: Using Slide Show
17:52:04: Total frames encoded: 146453, total frames duplicated: 13 (0.01%)
17:52:04: Total frames rendered: 146457, number of late frames: 1 (0.00%) (it's okay for some frames to be late)
17:52:04: RTMPPublisher::SocketLoop: Graceful loop exit
17:52:04: Average send payload: 7253 bytes, average send interval: 22 ms
17:52:04: Number of times waited to send: 0, Waited for a total of 0 bytes
17:52:04: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
17:52:04: Number of bytes sent: 1607074104
17:52:04: 
17:52:04: Profiler time results:
17:52:04: 
17:52:04: ==============================================================
17:52:04: video thread frame - [100%] [avg time: 1.304 ms] [children: 55.5%] [unaccounted: 44.5%]
17:52:04: | scene->Preprocess - [50.8%] [avg time: 0.663 ms]
17:52:04: | GPU download and conversion - [4.68%] [avg time: 0.061 ms] [children: 3.37%] [unaccounted: 1.3%]
17:52:04: | | flush - [2.61%] [avg time: 0.034 ms]
17:52:04: | | CopyResource - [0.613%] [avg time: 0.008 ms]
17:52:04: | | conversion to 4:2:0 - [0.153%] [avg time: 0.002 ms]
17:52:04: Convert444Threads - [100%] [avg time: 0.53 ms] [children: 99.2%] [unaccounted: 0.755%]
17:52:04: | Convert444toNV12 - [99.2%] [avg time: 0.526 ms]
17:52:04: encoder thread frame - [100%] [avg time: 1.096 ms]
17:52:04: ==============================================================
17:52:04: 
17:52:04: 
17:52:04: Profiler CPU results:
17:52:04: 
17:52:04: ==============================================================
17:52:04: video thread frame - [cpu time: avg 0.604 ms, total 88468.8 ms] [avg calls per frame: 1]
17:52:04: | scene->Preprocess - [cpu time: avg 0.044 ms, total 6484.38 ms] [avg calls per frame: 1]
17:52:04: | GPU download and conversion - [cpu time: avg 0.066 ms, total 9796.88 ms] [avg calls per frame: 1]
17:52:04: | | flush - [cpu time: avg 0.039 ms, total 5734.38 ms] [avg calls per frame: 1]
17:52:04: | | CopyResource - [cpu time: avg 0.008 ms, total 1187.5 ms] [avg calls per frame: 1]
17:52:04: | | conversion to 4:2:0 - [cpu time: avg 0.002 ms, total 437.5 ms] [avg calls per frame: 1]
17:52:04: Convert444Threads - [cpu time: avg 0.6 ms, total 175797 ms] [avg calls per frame: 2]
17:52:04: | Convert444toNV12 - [cpu time: avg 0.598 ms, total 175219 ms] [avg calls per frame: 2]
17:52:04: encoder thread frame - [cpu time: avg 0.45 ms, total 66031.3 ms] [avg calls per frame: 1]
17:52:04: ==============================================================
17:52:04: 
17:52:04: =====Stream End: 2013-12-11, 17:52:04=================================================

Corresponding video can be found here:
http://video.gamecreds.com/1hpbyjfjysyz ... Wars-12-11

Beginning of the video is really flawless - all fonts are clear and all the details can be seen well and colors are right. Quality stays pretty good for a while, but the problem I am talking about is well seen at 4:00 onwards - where image becomes blurry. I completely understand that there is a lot of motion there at a time, but I've seen some starcraft battles with lots of units which still were not as blurry - so would it be possible to sequeeze some sharpness somehow? Or is this the best I can get?

Thanks and regards
 

dodgepong

Administrator
Community Helper
Well, you could increase your bit rate, I suppose, but that will make it harder for some people to watch the stream. You could change your x264 preset to fast, but I'm not sure how your CPU will handle it (though that is a very good CPU for video encoding) and the improvement might not be as pronounced as you might want. Make sure you're downscaling with the Lanczos filter, which will give better quality. But you might just have to live with it...there's really not a lot you can do.
 

topstreamsnet

New Member
dodgepong said:
Well, you could increase your bit rate, I suppose, but that will make it harder for some people to watch the stream. You could change your x264 preset to fast, but I'm not sure how your CPU will handle it (though that is a very good CPU for video encoding) and the improvement might not be as pronounced as you might want. Make sure you're downscaling with the Lanczos filter, which will give better quality. But you might just have to live with it...there's really not a lot you can do.

Thanks, I'll try fast, already switched to faster and that seemed to help. Yeah the reason for 720p is exactly that based on testing we did most of my target audience can't really pull 3.5 Mb streams and that is why I am trying to get get quality with 720p.

I was also planning to try the following x264 options, which might help somewhat - at least what I read about them - what do you think?
subme=9 ref=5 bframes=16 b-adapt=1 me=umh merange=32 deblock=-1:-1

Thanks!
 
Top