Question / Help OBS local recording to youtube, high motion quality

Weylander

New Member
First of all, OBS is awsome. Few months ago when I first looked into recording I tested several applications for it and landed on OBS because good quality at lower file sizes, not stressing my cpu that much and I like open source stuff.

A couple of weeks ago I started to try and help a friend record with OBS. In the end this worked out as expected and he got good recordings. Problem was that as soon as he uploaded source to youtube the quality became really bad. This led myself to scrutinize the quality of my own youtube clips and I ended up not being satisfied at all.

OBS source is as awsome, uploaded to youtube it becomes not so awsome. This led me to testing bunch of other settings, a couple of other applications and in the end I feel I can't make it happen.

I've lost track of the hours I spent trying to record different settings and uploading to youtube. Different bitrates, no buffer, CBR, no CBR, diffrent Quality Balance, CFR, Quick Sync, 30 fps, 60 fps, CFR, no CFR, crf5-20, superfast, veryfast and the combinations of all these settings. I tried out this guide I found on these forums: http://www.youtube.com/watch?v=0s-WUK22820 I read a bunch more by googling and often landing on this forum.

All in all the experience of testing has helped me understand more yet I feel frustrated. I know if I inspected the quality of all these source recordings I could find slight differences when using all these settings. But the source always looked really good regardless of settings.

Prior to this testing I always recorded 1080p, 23mbit, CBR, CBR padding, no custom buffer, 30 fps and superfast preset with no quick sync. These sources look really good. After these tests I find I can do Quick Sync recordings at 60 fps which gives a quality I'm very happy with. Quick Sync is not a must for me but I like being able to delegate the encoding stuff to my Intel 4000 gpu. I can do Quick Sync, CBR, 50mbit, 60 fps, no problems.

I know youtube encodes in its own way, quality is reduced and also only allows a certain amount of bitrate. I've seen enough youtube recording to know it can look better than what I get. I feel the biggest issue I encounter is that as soon as motion happens, quality goes out the window. Blocky, bad looking textures.

Here are some examples.
CBR and CBR padding used in all recordings. No other options touched.

https://www.youtube.com/watch?v=S3S598XUn30 - Quick Sync used, 43mbit bitrate, 60 fps
https://www.youtube.com/watch?v=2ievLc3AMzg - Quick Sync used, 43mbitt bitrate, 30 fps
https://www.youtube.com/watch?v=nvHviGS8hrI - x264 preset superfast, 25mbit bitrate, 60 fps
https://www.youtube.com/watch?v=uxqsvUl78lI - x264 preset superfast, 25mbit bitrate, 30 fps

If any of these samples does not help provide any information let me know. I can record with certain settings, trying to capture something wanted and upload it for view.

Specs:
i5 3770k clocked to 4,3ghz
16gb ram
Gigabyte GTX 770 2gb
250gb ssd for os/game
3tb 5400rpm drive for recordings.
Dell u2711 monitor, native 2560x1440 but I play at 1920x1080
Windows 7 64bit home premium (~1 week since reinstall)
OBS 64bit v0.591b
250mbit/100mbit connection

I play and record for the game Planetside 2 (http://www.planetside2.com) and I run every setting in the game at max except 1080p res instead of 1440p. I can play at 1440p but recording at same time is a bit over the top and quick sync don't work over 1080p from what I understand.

I own Sony Movie Studio Platinum 12 and use ffmpeg whenever I need to cut out parts of recording. I'm trying to learn a bit of handbrake to. I usually never modify OBS source as that takes a lot of time in render. However I'm willing to render it if it helps me out.

http://www.youtube.com/user/WeylanderPS2 -- All public recordings are recorded with 1080p, 23mbit, CBR, CBR padding, no custom buffer, 30 fps, superfast and rest at default.


TL;DR: What can I do to increse quality during high motion scenes so that quality turns out better on youtube. By recording settings or post recording rendering of source.
 

Sapiens

Forum Moderator
Weylander said:
TL;DR: What can I do to increse quality during high motion scenes so that quality turns out better on youtube. By recording settings or post recording rendering of source.
Nothing. Youtube re-encodes the videos you upload to it and you don't have any control over that process.
 

Boildown

Active Member
Sapiens said:
Weylander said:
TL;DR: What can I do to increse quality during high motion scenes so that quality turns out better on youtube. By recording settings or post recording rendering of source.
Nothing. Youtube re-encodes the videos you upload to it and you don't have any control over that process.

Well, there's some things you can do. First, follow YouTube's best practices for the video you upload to it. For H.264 video, use the settings YouTube wants, and you'll get the least (in theory) decrease in quality when YouTube re-encodes it.

However, using Quicksync takes control of these settings out of your hands. If you're taking the video file you saved to your hard drive and uploading it to YouTube without further editing, then you need to set OBS to save in the format YouTube wants from the get-go. That means no Quicksync. If you edit in Vegas before uploading, then you don't have to do this at this step and Quicksync is fine to use.

2 consecutive B frames
Closed GOP. GOP of half the frame rate.
CABAC

These can be troublesome to set in OBS, see my post here: viewtopic.php?f=18&t=2972&start=60#p46066 , and check that entire thread if you elect not to use Quicksync.

Now if you're using Vegas to edit the "footage" first, then there's a better way to keep the quality than what you're currently doing. And that is to use an "intermediate file" output from Vegas and then transcode that file using Handbrake.

Check this video guide: http://www.youtube.com/watch?&v=rWMX5lSvEgY
And my post on the subject here: viewtopic.php?f=18&t=2972&start=70#p48617

The problem with using Vegas to encode your .MP4 directly using H.264, is that its version of H.264 is horribad and it will destroy the quality. Handbrake (and OBS) use the best-in-the-world x264 implementation of H.264, and that's what you want to do.
 

Sapiens

Forum Moderator
Boildown said:
2 consecutive B frames
Closed GOP. GOP of half the frame rate.
CABAC

These can be troublesome to set in OBS, see my post here: viewtopic.php?f=18&t=2972&start=60#p46066 , and check that entire thread if you elect not to use Quicksync.
CABAC and closed GOP are already defaults (--no-cabac is only called by the ultrafast preset and --open-gop would have to be used manually). GOP interval is --keyint as you suspected in your link.

That said, using those options is not going to work any miracles on Youtube's re-encode of a 25 Mbps or 43 Mbps video in terms of how they compare to the originals. Particularly in high motion scenes, the transcode is simply going to be too bitrate-limited to avoid some compression artifacts.
 
Top