Thursday, 14 April 2016

Trying to use OBS to create game videos for YouTube

Problem

  • I am finding difficulty with editing the recordings from games.
  • I also want to create the best possible YouTube footage for games such as Fallout 4 using open source software for windows


    When I try to edit the h264 files to remove pauses within the game, e.g. from zoning, Avidemux crashes, apparently from problems with the way keyframes are handled.

    One guide recommended recording everything first in AVI, but that's not an option. Is FLV the next best choice? I suspect FLV is just a wrapper around AVI but I'm too rusty and inexperienced at this stuff to be sure.

    Hmm. I do not see FLV as an option in OBS? Maybe that's a recommendation for an older version, and no longer valid.

Settings:


Encoding
Bitrate: 1000 is recommended? (see below)

The recommended value isn't an option.


I checked - I am using the latest version as of this date.

Maybe I need to change the keyframe value from auto to 1 second? Is 0.5 seconds good for editing but bad for the final product? doesn't seem to be an option in OBS, it only works in whole second increments. :P

Advanced settings
"I honestly can't recommend avidemux (2.5.4 in Ubuntu 14.04) as a frontend for x264. It's pretty essential to have something with a slider for slow to fast presets" (source)

The slider issue is pretty important. I will have to try with a keyframe setting of 1 second to see if that lets me use avidemux - otherwise, perhaps there's an alternative?

Result of setting keyframe to 1 was that I didn't get the crash from avidemux when i was editing, but wow, the size of the file has increased. See the result of the test below.






It's really annoying that I can't create a lossless file with OBS, then do my editing and then re-encode in the YouTube friendly settings.


Recommended settings:



How to make high quality local recordings

Settings for local recording only, not for streaming, x264 encoder


Here are the settings you are required to change to get high quality local recordings (using the x264 encoder). Do not attempt to use these settings for live streaming!

Encoding
Use CBR: Disabled
Quality Balance: 10
Bitrate: 1000
Use custom buffer size: Enabled
Buffer size: 0

Advanced Options
x264 CPU Preset: Ultrafast
Use custom x264 parameters: Enabled
Custom x264 parameters: crf=X
Where X is anywhere from 1-20, lower being higher quality / higher CPU usage. A good place to start is the 15 - 20 range. A CRF of 0 enables lossless recording which will have very high file size and CPU requirements and introduces compatibility issues, so be careful!

Explanation:


Setting the buffer size to zero disables the VBV system, allowing x264 to hit any bitrate necessary to achieve the quality (CRF) specified. If you wish to increase quality further, you need to use advanced options - quality 10 is equal to a CRF of 22, which is fine for live streams but not so good for local recording.

For compatibility with various editing software, it's also recommended to enable CFR (advanced options) and do not use CRF 0. CRF 0 uses "High 444" mode which a lot of editing software (and some video players) cannot handle.

For best results, set your output file format in broadcast settings to FLV. You can convert it to MP4 afterwards if you need to. Recording directly to MP4 is very risky, as if OBS or your PC crashes, the whole recording is useless. FLV on the other hand will keep everything up until the crash.

If you use QuickSync, NVenc or AMD VCE as your encoder, these settings will not work.

No comments:

Post a Comment

Please try to avoid logical fallacies!