Question / Help What causes this text issue?

Roalith

New Member
First image is my actual monitor at 2560x1440 (native) and the second picture is from full-screen stream, notice the text is barely legible and also sometimes the stream gets pixelated (zoom on the pics after opening, tried to use imgur but pics were too small).

https://www.dropbox.com/s/5hucizqqk8u4j04/Monitor 1.jpg
https://www.dropbox.com/s/8tqdg74asga2vvb/Stream.jpg

My specs are:

i7-3820K
16GB Ram (OBS only shows 4GB, OBS is 32-bit when it installs instead of 64)
Sapphire Vapor-X 7970 Ghz Edition with 3GB VRAM
Windows 8.1 (OBS shows Windows 6.2)
OBS and games on an SSD
50/3.5 internet (bandwidth settings tried from 2000 to the estimator-suggested 2900 with no change)
Have tried 1080p at 30fps and 720p at 30fps
I lowered audio bitrate.
I am on Windows 8.1 but the issue was there on Windows 8 I believe.
The log shows Aero enabled but again I am on Windows 8.1.
Log Analyzer showed 0 issues found.

Final Log of a short stream session to replicate the issue shown above:
Code:
21:18:30: Open Broadcaster Software v0.591b - 32bit (´・ω・`)
21:18:30: -------------------------------
21:18:30: CPU Name: Intel(R) Core(TM) i7-3820 CPU @ 3.60GHz
21:18:30: CPU Speed: 3602MHz
21:18:30: Physical Memory:  4095MB Total, 4095MB Free
21:18:30: stepping id: 7, model 45, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
21:18:30: monitor 1: pos={0, 0}, size={2560, 1440}
21:18:30: monitor 2: pos={2560, 0}, size={2560, 1440}
21:18:30: Windows Version: 6.2 Build 9200 
21:18:30: Aero is Enabled
21:18:30: -------------------------------
21:18:30: OBS Modules:
21:18:30: Base Address     Module
21:18:30: 00E40000         OBS.exe
21:18:30: 64950000         OBSApi.dll
21:18:30: 64CF0000         DShowPlugin.dll
21:18:30: 67AF0000         GraphicsCapture.dll
21:18:30: 64CD0000         NoiseGate.dll
21:18:30: 64CB0000         PSVPlugin.dll
21:18:30: ------------------------------------------
21:18:30: Adapter 1
21:18:30:   Video Adapter: AMD Radeon HD 7900 Series
21:18:30:   Video Adapter Dedicated Video Memory: 3194118144
21:18:30:   Video Adapter Shared System Memory: 1100783616
21:18:30:   Video Adapter Output 1: pos={0, 0}, size={2560, 1440}, attached=true
21:18:30:   Video Adapter Output 2: pos={2560, 0}, size={2560, 1440}, attached=true
21:18:30: Using fixed low latency mode, factor 20
21:18:30: =====Stream Start: 2013-12-28, 21:18:30===============================================
21:18:30:   Multithreaded optimizations: On
21:18:30:   Base resolution: 2560x1440
21:18:30:   Output resolution: 1280x720
21:18:30: ------------------------------------------
21:18:30: Loading up D3D10 on AMD Radeon HD 7900 Series (Adapter 1)...
21:18:30: ------------------------------------------
21:18:30: Audio Format: 44100hz
21:18:30: Playback device {0.0.0.00000000}.{0d37f0c6-3780-4bb2-9217-6f480774c184}
21:18:30: ------------------------------------------
21:18:30: Using desktop audio input: Speakers (Realtek High Definition Audio)
21:18:30: Using 5.1 speaker setup
21:18:30: ------------------------------------------
21:18:30: Using auxilary audio input: Microphone (Logitech G930 Headset)
21:18:30: ------------------------------------------
21:18:30: Audio Encoding: AAC
21:18:30:     bitrate: 96
21:18:30: Using Monitor Capture
21:18:30: Scene buffering time set to 700
21:18:30: ------------------------------------------
21:18:30: Video Encoding: x264
21:18:30:     fps: 30
21:18:30:     width: 1280, height: 720
21:18:30:     preset: veryfast
21:18:30:     profile: main
21:18:30:     keyint: 60
21:18:30:     CBR: yes
21:18:30:     CFR: yes
21:18:30:     max bitrate: 2500
21:18:30:     buffer size: 2500
21:18:30: ------------------------------------------
21:18:30: MMDeviceAudioSource: Frequency for device 'Speakers (Realtek High Definition Audio)' is 1152000, samples per sec is 48000
21:18:30: MMDeviceAudioSource: Frequency for device 'Microphone (Logitech G930 Headset)' is 64000, samples per sec is 16000
21:18:32: Using RTMP service: Twitch / Justin.tv
21:18:32:   Server selection: rtmp://live-jfk.justin.tv/app
21:18:32:   Interface: Realtek PCIe GBE Family Controller (ethernet, 1000 mbps)
21:18:33: Completed handshake with rtmp://live-jfk.justin.tv/app in 233 ms.
21:18:33: SO_SNDBUF was at 65536
21:18:33: SO_SNDBUF is now 65536
21:23:36: Total frames encoded: 9161, total frames duplicated: 12 (0.13%)
21:23:36: Total frames rendered: 9165, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
21:23:36: RTMPPublisher::SocketLoop: Graceful loop exit
21:23:36: Average send payload: 16189 bytes, average send interval: 51 ms
21:23:36: Number of times waited to send: 0, Waited for a total of 0 bytes
21:23:36: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
21:23:36: Number of bytes sent: 95777858
21:23:36: 
21:23:36: Profiler time results:
21:23:36: 
21:23:36: ==============================================================
21:23:36: video thread frame - [100%] [avg time: 0.701 ms] [children: 46.5%] [unaccounted: 53.5%]
21:23:36: | scene->Preprocess - [33.1%] [avg time: 0.232 ms]
21:23:36: | GPU download and conversion - [13.4%] [avg time: 0.094 ms] [children: 10.7%] [unaccounted: 2.71%]
21:23:36: | | flush - [9.27%] [avg time: 0.065 ms]
21:23:36: | | CopyResource - [1.14%] [avg time: 0.008 ms]
21:23:36: | | conversion to 4:2:0 - [0.285%] [avg time: 0.002 ms]
21:23:36: Convert444Threads - [100%] [avg time: 0.327 ms] [children: 98.8%] [unaccounted: 1.22%]
21:23:36: | Convert444toNV12 - [98.8%] [avg time: 0.323 ms]
21:23:36: encoder thread frame - [100%] [avg time: 0.838 ms]
21:23:36: ==============================================================
21:23:36: 
21:23:36: 
21:23:36: Profiler CPU results:
21:23:36: 
21:23:36: ==============================================================
21:23:36: video thread frame - [cpu time: avg 0.02 ms, total 187.5 ms] [avg calls per frame: 1]
21:23:36: | scene->Preprocess - [cpu time: avg 0.006 ms, total 62.5 ms] [avg calls per frame: 1]
21:23:36: | GPU download and conversion - [cpu time: avg 0.003 ms, total 31.25 ms] [avg calls per frame: 1]
21:23:36: | | flush - [cpu time: avg 0.003 ms, total 31.25 ms] [avg calls per frame: 1]
21:23:36: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
21:23:36: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
21:23:36: Convert444Threads - [cpu time: avg 0.066 ms, total 1218.75 ms] [avg calls per frame: 2]
21:23:36: | Convert444toNV12 - [cpu time: avg 0.066 ms, total 1218.75 ms] [avg calls per frame: 2]
21:23:36: encoder thread frame - [cpu time: avg 0.092 ms, total 843.75 ms] [avg calls per frame: 1]
21:23:36: ==============================================================
21:23:36: 
21:23:36: =====Stream End: 2013-12-28, 21:23:36=================================================

https://www.dropbox.com/s/5hucizqqk8u4j04/Monitor 1.jpg

https://www.dropbox.com/s/8tqdg74asga2vvb/Stream.jpg

I plan to overclock my processor again soon to see if that helps, but I reverted my CPU and GPU overclocks in an effort to see if returning to stock would help the issue. I believe I have followed the proper instructions and thanks for any help!

Also, on the how to get a log page, it shows the log directory as %appdata%/OBS/Logs and it should be %appdata%/Roaming/OBS/Logs maybe?
 

FerretBomb

Active Member
You're downscaling. It will cause pretty bad text fuzzing under the best circumstances possible. Overclocking will do nothing for you whatsoever in regards to this issue. The only way to fix it is to stream at your native resolution. I'd also recommend trying to run your main monitor at quarter-resolution (1280x720)... it won't look AS bad that way, and the stream will take a native output for very sharp and clear text.

I know it sounds goofy, but it's really the only way you're going to get CLEAR text on your livestream.
 

Roalith

New Member
Dang, that's a real bummer. I tried streaming without downscaling at 30fps and it was causing issues with latency even with MNI ticked. Unfortunately there is also no option in the software at all to downscale from 1440 to 1080p, which I think would help a bit (instead of downscaling to 1/4 like you just said).

I just tried setting my monitor itself to 720p and all icons and text are looking like butt, I'll tinker some more thanks!

Edit - Setting monitor resolutions down from 2560x1440 to 1920x1080 and streaming with no downscaling seems to be working out. I wish we had a downscale option from 1440 to 1080, but my next question is can I just set the OBS resolution to custom 1920x1080 with no downscaling while I am at 1440p since they are the same aspect ratio?
 

Roalith

New Member
I went in OBS and set base resolution to 1920x1080 then set downscaling to none and it seems to be streaming extremely well but some of the video is offscreen so guess that answers that question :(
 

FerretBomb

Active Member
No, a partial downscale would be even worse; at the moment you were downscaling power-of-two, which should give you the best possible results.
Setting 1080p as a custom resolution and resizing the sources down in the preview window (after hitting the 'edit scene' button) would give worse visual fidelity still.
The reason you're getting good text clarity running your monitor+streaming at 1080 is because you're streaming 'native' (no downscale)... not because you're streaming at 1080 specifically. The downscale is what messes up the text.

Really, the question would be do you want the stream to look good, or what you see to look good? Setting your monitor res to 1080p is not a power-of-two downscale so you'll get some weirdness on the screen, but if you're casting at 1080p it'll look fine on the stream. Going down to 720p on your monitor would give accurate reproduction on both the monitor and stream, but you may not like it.

Really, I'd see about shelling out for a cheap 720p monitor just to use as a secondary, and put the game on that, instead. Or just live with the poor text clarity. Bit of a catch-22.

Out of curiosity, are you using the Lanczos or Bicubic downscaler? I'd recommend setting your native back to the monitor native, downscale to 2.0 again, and try the other downscaler method. Might give better results.
 

Roalith

New Member
I did try both of those settings with pretty much the same result. I also tried setting my monitor resolutions down to 1080p and streaming native which seems to be the best result (crisp stream and monitors still look good since it's the same aspect ratio).

At this point I am considering selling these 1440 IPS monitors and buying some cheapo 1080 ones just for compatibility with more games and streaming, at a loss of 79% pixels displaying :(

Do you know how to install OBS in 64-bit? It says on the download page that it is available in 32 and 64 bit but mine only installs at 32.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
You could always try upscaling the lobby source when out of game. Capture the lobby via window capture, increase the size of the source to fit the stream screen, and then it'll probably get rid of the text issue. Capturing your entire monitor might not be ideal if you want people to see the text on a larger monitor, as most people are running 1080p monitors and are forced to watch it downscaled otherwise.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Also, OBS comes with 64bit. It's already on your system. Just check your start menu or metro.
 

FerretBomb

Active Member
Seconding what Jim said.
Use a Window Capture for the PVP.net client (assuming LoL), and a Game Capture for the in-game executable. Set the in-game resolution to 1920x1080, it'll automatically change the resolution when the game loads in if you use normal fullscreen mode (not sure about fullscreen windowed mode). The just run OBS at 1920x1080 and stream 'native' gameplay.

And yep, 64-bit is already installed. Depending on when you installed it, it's either in a '64-bit' subdirectory inside the main install location, or in your non-x86 'Program Files' directory (I believe, anyway).
 

Roalith

New Member
Hey guys thanks so much. I set the LoL login screen to fit to screen (didn't even know of this option) and the same for the lobby client then game captured the game itself. With resolution set to 1080 it's still blurry but if I set my monitor's resolution to 1080 instead of 1440 it is perfectly clear and amazing.

Now I pretty much have to decide if I want to use the 1440p that I paid $1200 for but have a crappy stream or if I should sell these monitors and take a $200 loss for selling used and buy some 1080p monitors instead... I do not make money from streaming but I have a small group of friends that enjoy being on a group call and watching me stream and the quality has been quite bad.
 

FerretBomb

Active Member
Have you tried using fullscreen windowed mode? I'm not sure if it would just give you an inset window, so the game is smaller but still at full resolution.

Down side to jumping on the newest thing... few people have it, if you're trying to appeal to a mass audience. :)
Personally, I'd keep the monitors, run the game at 1080 and deal. After all, it's not a professional casting setup, and you'll likely get more enjoyment out of the monitors while you're not livestreaming, than irritation when you are.
 

Roalith

New Member
Yeah actually I run the game full-time in borderless window mode, full screen at 1080p in-game resolution works out ok for streaming but makes alt-tabbing a super pain. I wish the software offered the option to downscale to 1080p as it is the same aspect ratio as 720 and 1440 I thought. I did try the 1706x960 and it was better than 720 but still a bit blurry due to downscale.

My only other problem is I have been working really hard for weeks now on some Skyrim mod stuff to do a new playthrough with about 320+ mods with a core group of friends able to watch while on Skype and I also was trying to stream Max Payne 3 and another game for a friend that is deployed right now so the issue with 2 1440 monitors vs 2 1080 monitors issue is more than just something occasional unfortunately :(
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
I'll make sure that off-scale resolutions like 1080p are something you can do in future versions.
 

FerretBomb

Active Member
Thing is, even with off-scale downscaling available, it won't fix the blurry text. The act of downscaling is what's causing the problem. Downscaling to 1080p will not magically fix the issue, it's running the program at a native 1080 and streaming at 1080 that is fixing the problem.
 
Top