Question / Help Text quality in stream ?

Jumaxas

New Member
Hello,
What needs to change, to get a better text quality ?

example frm my stream:

4hhz.png


My log:
10:57:34: Server Ping plugin strings not found, dynamically loading 24 strings
10:57:45: Open Broadcaster Software v0.613b - 64bit ( ^ω^)
10:57:45: -------------------------------
10:57:45: CPU Name: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
10:57:45: CPU Speed: 3293MHz
10:57:45: Physical Memory: 8174MB Total, 4595MB Free
10:57:45: stepping id: 7, model 42, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
10:57:45: monitor 1: pos={0, 0}, size={1680, 1050}
10:57:45: Windows Version: 6.2 Build 9200
10:57:45: Aero is Enabled
10:57:45: -------------------------------
10:57:45: OBS Modules:
10:57:45: Base Address Module
10:57:45: 00000000B9680000 OBS.exe
10:57:45: 0000000058E00000 OBSApi.dll
10:57:45: 000000005B250000 DShowPlugin.dll
10:57:45: 000000005E390000 GraphicsCapture.dll
10:57:45: 000000005D380000 NoiseGate.dll
10:57:45: 000000005D320000 PSVPlugin.dll
10:57:45: 000000005B5C0000 ServerPingPlugin.dll
10:57:45: ------------------------------------------
10:57:45: Adapter 1
10:57:45: Video Adapter: NVIDIA GeForce GTX 560 Ti
10:57:45: Video Adapter Dedicated Video Memory: 1018621952
10:57:45: Video Adapter Shared System Memory: 3221106688
10:57:45: Video Adapter Output 1: pos={0, 0}, size={1680, 1050}, attached=true
10:57:45: =====Stream Start: 2014-03-19, 10:57:45===============================================
10:57:45: Multithreaded optimizations: On
10:57:45: Base resolution: 1680x1050
10:57:45: Output resolution: 1680x1050
10:57:45: ------------------------------------------
10:57:45: Loading up D3D10 on NVIDIA GeForce GTX 560 Ti (Adapter 1)...
10:57:45: ------------------------------------------
10:57:45: Audio Format: 44100 Hz
10:57:45: ------------------------------------------
10:57:45: Audio Channels: 2 Ch
10:57:45: Playback device Default
10:57:45: ------------------------------------------
10:57:45: Using desktop audio input: Speakers (Realtek High Definition Audio)
10:57:45: ------------------------------------------
10:57:45: Using auxilary audio input: Microphone (Realtek High Definition Audio)
10:57:45: ------------------------------------------
10:57:45: Audio Encoding: AAC
10:57:45: bitrate: 96
10:57:45: Using graphics capture
10:57:45: Scene buffering time set to 700
10:57:45: ------------------------------------------
10:57:45: Video Encoding: x264
10:57:45: fps: 30
10:57:45: width: 1680, height: 1050
10:57:45: preset: veryfast
10:57:45: profile: main
10:57:45: keyint: 60
10:57:45: CBR: yes
10:57:45: CFR: no
10:57:45: max bitrate: 2500
10:57:45: buffer size: 2500
10:57:45: ------------------------------------------
10:57:46: SharedTexCapture hooked
10:58:36: Total frames encoded: 1515, total frames duplicated: 4 (0.26%)
10:58:36: Total frames rendered: 1519, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
10:58:36:
10:58:36: Profiler time results:
10:58:36:
10:58:36: ==============================================================
10:58:36: video thread frame - [100%] [avg time: 0.769 ms] [children: 13.4%] [unaccounted: 86.6%]
10:58:36: | scene->Preprocess - [0.13%] [avg time: 0.001 ms]
10:58:36: | GPU download and conversion - [13.3%] [avg time: 0.102 ms] [children: 10.1%] [unaccounted: 3.12%]
10:58:36: | | flush - [7.02%] [avg time: 0.054 ms]
10:58:36: | | CopyResource - [2.99%] [avg time: 0.023 ms]
10:58:36: | | conversion to 4:2:0 - [0.13%] [avg time: 0.001 ms]
10:58:36: Convert444Threads - [100%] [avg time: 1.055 ms] [children: 99.4%] [unaccounted: 0.569%]
10:58:36: | Convert444toNV12 - [99.4%] [avg time: 1.049 ms]
10:58:36: encoder thread frame - [100%] [avg time: 1.518 ms] [children: 0.132%] [unaccounted: 99.9%]
10:58:36: | sending stuff out - [0.132%] [avg time: 0.002 ms]
10:58:36: ==============================================================
10:58:36:
10:58:36:
10:58:36: Profiler CPU results:
10:58:36:
10:58:36: ==============================================================
10:58:36: video thread frame - [cpu time: avg 0.174 ms, total 265.625 ms] [avg calls per frame: 1]
10:58:36: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
10:58:36: | GPU download and conversion - [cpu time: avg 0.072 ms, total 109.375 ms] [avg calls per frame: 1]
10:58:36: | | flush - [cpu time: avg 0.061 ms, total 93.75 ms] [avg calls per frame: 1]
10:58:36: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
10:58:36: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
10:58:36: Convert444Threads - [cpu time: avg 0.951 ms, total 2843.75 ms] [avg calls per frame: 2]
10:58:36: | Convert444toNV12 - [cpu time: avg 0.945 ms, total 2828.13 ms] [avg calls per frame: 2]
10:58:36: encoder thread frame - [cpu time: avg 1.139 ms, total 1703.13 ms] [avg calls per frame: 1]
10:58:36: | sending stuff out - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
10:58:36: ==============================================================
10:58:36:
10:58:36: =====Stream End: 2014-03-19, 10:58:36=================================================
12:01:24: Using fixed low latency mode, factor 20
12:01:24: =====Stream Start: 2014-03-19, 12:01:24===============================================
12:01:24: Multithreaded optimizations: On
12:01:24: Base resolution: 1680x1050
12:01:24: Output resolution: 1680x1050
12:01:24: ------------------------------------------
12:01:24: Loading up D3D10 on NVIDIA GeForce GTX 560 Ti (Adapter 1)...
12:01:25: ------------------------------------------
12:01:25: Audio Format: 44100 Hz
12:01:25: ------------------------------------------
12:01:25: Audio Channels: 2 Ch
12:01:25: Playback device Default
12:01:25: ------------------------------------------
12:01:25: Using desktop audio input: Speakers (Realtek High Definition Audio)
12:01:25: ------------------------------------------
12:01:25: Using auxilary audio input: Microphone (Realtek High Definition Audio)
12:01:25: ------------------------------------------
12:01:25: Audio Encoding: AAC
12:01:25: bitrate: 96
12:01:25: Using graphics capture
12:01:25: Scene buffering time set to 700
12:01:25: ------------------------------------------
12:01:25: Video Encoding: x264
12:01:25: fps: 30
12:01:25: width: 1680, height: 1050
12:01:25: preset: veryfast
12:01:25: profile: main
12:01:25: keyint: 60
12:01:25: CBR: yes
12:01:25: CFR: no
12:01:25: max bitrate: 2500
12:01:25: buffer size: 2500
12:01:25: ------------------------------------------

13:20:14: Profiler CPU results:
13:20:14:
13:20:14: ==============================================================
13:20:14: video thread frame - [cpu time: avg 0.222 ms, total 31531.3 ms] [avg calls per frame: 1]
13:20:14: | scene->Preprocess - [cpu time: avg 0 ms, total 62.5 ms] [avg calls per frame: 1]
13:20:14: | GPU download and conversion - [cpu time: avg 0.07 ms, total 9984.38 ms] [avg calls per frame: 1]
13:20:14: | | flush - [cpu time: avg 0.055 ms, total 7812.5 ms] [avg calls per frame: 1]
13:20:14: | | CopyResource - [cpu time: avg 0.002 ms, total 359.375 ms] [avg calls per frame: 1]
13:20:14: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 93.75 ms] [avg calls per frame: 1]
13:20:14: Convert444Threads - [cpu time: avg 0.766 ms, total 217109 ms] [avg calls per frame: 2]
13:20:14: | Convert444toNV12 - [cpu time: avg 0.764 ms, total 216422 ms] [avg calls per frame: 2]
13:20:14: encoder thread frame - [cpu time: avg 1.33 ms, total 188750 ms] [avg calls per frame: 1]
13:20:14: | sending stuff out - [cpu time: avg 0.012 ms, total 1734.38 ms] [avg calls per frame: 1]
13:20:14: ==============================================================
13:20:14:
13:20:14: =====Stream End: 2014-03-19, 13:20:14=================================================
 

Sapiens

Forum Moderator
Retaining text clarity in a live stream can be difficult due to bitrate limitations, and in this case it looks like you're losing some quality during colorspace conversion as well (muddy red text). There's not a lot that can be done other than downscaling your stream resolution to help improve overall quality, which in this case is probably a good idea anyway. 2500 Kbps is a bit low for a 1680x1050.
 

FerretBomb

Active Member
Do be aware that downscaling is also known to blur text quite badly.
Really the only way to retain clear, sharp text is to run the game at a lower resolution on your monitor, and stream at that resolution, so you're sending 'native' but still at a respectable bitrate for your resolution.
 

Sapiens

Forum Moderator
Smaller text tends to be affected much more than larger text when downscaling. It would be worth comparing the results of both to see whether one provides better results than the other, especially given the current resolution/bitrate combination in the log file.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
If it's red, expect distortion. Red has issues due to chroma subsampling.

Anyway, setting the downscale filter to lanczos is probably the only thing you can do.
 

Jumaxas

New Member
Problem with twitch is hight bitrate, if up 4500-5000 laging. But thanks, maybe i will try change game resoliution.

Q: Filter who have best quality (text): bilinear or lanczos ? :)

And optimal downscale for my resoliution ? 1.25 or 1.50 ?

tb0Uv4a.png
 

Sapiens

Forum Moderator
- You shouldn't use more than 3500 Kbps with Twitch.

- There is no "best quality" filter, it varies depending on the content you're streaming. Test them and see which looks best to you.

- There is no "optimal" downscale resolution, again this depends on the content you're streaming and whether you're happy with the quality. Try with 1.50 (1120x700) at your original bitrate of 2500 Kbps and see how things look, make further adjustments from there if necessary.
 
Top