Question / Help Tearing/Artifacting?

Holophonist

New Member
Hi guys, I don't know if I'm using the terminology correctly but I'm refering to the phenomenon where the screen gets pixelated and blurry particularly when stuff is happening on the screen. Most commonly I would say it's from people looking around quickly in games.

My questions are what settings should I be tweaking to fix this, and is there a difference in troubleshooting between live streaming and local recording?
 

Holophonist

New Member
Hi -

Thanks for the reply. I used this guide: https://obsproject.com/forum/viewtopic.php?f=18&t=2972

I was able to get rid of all tearing effects. I'm now just trying to get my FPS up. I'm recording at 60fps and I have more than that in game, but the video doesn't seem to be 60fps.

Here's a link to an example:

http://www.youtube.com/watch?v=W8Ph-y5FcLQ

I didn't post a log because I was mainly just looking for what settings I should be tweaking to get the desired result.

Code:
17:52:52: =====Stream Start: 2013-06-09, 17:52:52===============================================
17:52:52:   Multithreaded optimizations: On
17:52:52:   Base resolution: 1440x900
17:52:52:   Output resolution: 1440x900
17:52:52: ------------------------------------------
17:52:52: Loading up D3D10...
17:52:52: Playback device {0.0.0.00000000}.{a8e6c634-5dc6-4cfa-bdf0-2017869b865c}
17:52:52: ------------------------------------------
17:52:52: Using desktop audio input: Speakers (High Definition Audio Device)
17:52:52: ------------------------------------------
17:52:52: Using auxilary audio input: Microphone (Blue Snowball)
17:52:52: ------------------------------------------
17:52:52: Audio Encoding: AAC
17:52:52:     bitrate: 192
17:52:52: Using graphics capture
17:52:52: Using custom x264 settings: "crf=20"
17:52:52: x264: VBV maxrate specified, but no bufsize, ignored
17:52:52: ------------------------------------------
17:52:52: Video Encoding: x264
17:52:52:     fps: 60
17:52:52:     width: 1440, height: 900
17:52:52:     preset: veryfast
17:52:52:     CBR: no
17:52:52:     CFR: yes
17:52:52:     max bitrate: 1000
17:52:52:     buffer size: 0
17:52:52:     quality: 12
17:52:52: ------------------------------------------
17:52:52: SharedTexCapture hooked
17:52:54: GraphicsCaptureSource::NewCapture:  eliminating old capture
17:52:54: SharedTexCapture hooked
17:53:07: Total frames rendered: 886, number of frames that lagged: 2 (0.23%) (it's okay for some frames to lag)
17:53:07: Total duplicated frames: 0 (0.00%)
17:53:07: =====Stream End: 2013-06-09, 17:53:07=================================================
17:53:16: 
17:53:16: Profiler results:
17:53:16: 
17:53:16: ==============================================================
17:53:16: frame - [100%] [avg time: 1.947 ms] [avg calls per frame: 1] [children: 81.3%] [unaccounted: 18.7%]
17:53:16: | scene->Preprocess - [0.0514%] [avg time: 0.001 ms] [avg calls per frame: 1]
17:53:16: | video encoding and uploading - [81.2%] [avg time: 1.581 ms] [avg calls per frame: 1] [children: 77.8%] [unaccounted: 3.44%]
17:53:16: | | CopyResource - [0.36%] [avg time: 0.007 ms] [avg calls per frame: 0]
17:53:16: | | conversion to 4:2:0 - [0.0514%] [avg time: 0.001 ms] [avg calls per frame: 0]
17:53:16: | | call to encoder - [76.9%] [avg time: 1.498 ms] [avg calls per frame: 0]
17:53:16: | | sending stuff out - [0.411%] [avg time: 0.008 ms] [avg calls per frame: 0]
17:53:16: ==============================================================
17:53:16:

I've changed multiple settings many many times today but this is based off of typically what I've been working with.
 

FerretBomb

Active Member
Well, you're running only 1000kbps with no buffer and a quality level of 12, at 1440x900@60fps. That isn't going to work out well at all. You don't have enough bandwidth to make that large of a resolution at that framerate look good, frankly.

1) Set your base resolution to your screen resolution (I haven't heard of a monitor running at 1440x900... not a widely-used res at the least)
2) Run the 6MB test at http://testmy.net/upload (post results here, this is your constant bitrate, which is what matters for livestreaming, rather than your peak which speedtest.net will give you... peak is only useful for dead-file transfers)
3) Set your buffer to equal your bitrate (it will help keep the stream from jerking)
4) Drop your quality to 8 (at most, if you actually only have 1000kbps available).
5) Consider downscaling by 1.5
6) Drop your audio to 128kbps; AAC is already MUCH better than MP3, you don't need to be using almost 200kbps of your already extremely-limited bandwidth budget for that.
7) Turn off CFR unless you are also recording locally for later editing. It's not needed for pure livestreaming.

Then run a streaming test and post the log from THAT here, and we'll be able to go forward from that point. The log above looks to be incomplete, or a 'testing' run at best.
 

Holophonist

New Member
I'm sorry, I should've clarified. Those settings are for local recording only. I'll answer your points now but I believe some of them may be obsolete now that I've cleard that up.

1) 1400x900 is my desktop resolution. Basically to increase my in-game FPS, I had to drop the resolution. Normally I would drop it to 1280x720 but I found out that my monitor (AOC e2343Fk) somehow DOESN'T support 16:9 resolutions under 1920x1080. So I'm forced to use an off aspect ratio, and 1400x900 gives me a good amount of FPS so that's what I chose.

2) I did that test earlier today after reading a post of yours to somebody else and the result was 7.5.

3) If I were live streaming that's what I would normally do. I usually have 3500 bitrate and 3500 buffer.

4) Given my high upload I still do keep the quality at 9 or 10

5) I think I did try this and it didn't seem to increase the recording's FPS.

6) Will do.

7) self explanatory
 

FerretBomb

Active Member
Ahh, you hadn't mentioned in the initial post that you were doing this specifically for local recording. That does make a significant difference in what settings you will use.

Most here (myself included) are more concerned with the livestreaming side... good livestreaming results are all about using the constant bitrate you have available to manage the tradeoff between image fidelity, motion fluidity, stream stability, audio clarity, and game alacrity.
When recording locally only, you can more or less 'crank it to 11' for all settings, as your bitrate is only really limited by your hard drive's throughput (MB/s rather than Mb/s) and CPU processing. So yeah, go nuts. Bitrate/buffer to 320000 (40MB/s write, most HDDs can swing that easily). Drop the x264 preset to Fast (assuming it doesn't bottleneck your game). AAC audio? Max out its bitrate. 60fps (or 90, or 120 with the 'allow' checkbox set), and all the bells and whistles.

Livestreaming, you need to bear your bitrate (and your viewers' bitrate) in mind at all times. Locally recording, editing, then uploading a dead file? Not a concern. So yeah, if you're just recording local? Set all options to VERY YES. Unfortunately, there is no ability to record locally, and stream at different rates (yet?). So it's either going all-out for a local, or living with the quality of the streamed version.

Can help tune your streaming settings more though (still not clear on if you're ONLY recording locally, or trying for a hybrid local/stream).
 

Holophonist

New Member
Thanks very much for the help.

Just to summarize: I'm having no problem with OBS. I'm able to record to my computer at a very high quality, no artifacting/tearing, and the FPS is quite high. I don't think it's 60fps, but I have no problems with it.

Now if only OBS had video editing software!
 
Top