1050 Ti - YouTube preset with hevc_nvenc

So to start this, here are my settings:

Video mode = automatic
Display method = DirectX (Angle)

Operating system = Windows 10

Processor = AMD Athlon X4 880K, 4.0 Ghz, 2 cores, 4 logical
RAM = 16 GB DDR3
Available RAM = 11.1 GB

I’m using the Youtube preset because I make videos for youtube, but I noticed the default setup was too slow and/or took up too much space, so I’ve been playing around with other presets, mixing and matching and reading the forums on here to try and determine the best looking/fastest processing/least storage consuming export setup.

One of the things I’ve been testing is using the hardware codec, because my CPU alone does the processing and the GPU (1050 Ti) doesn’t get involved.

One post mentioned (and the comments seemed to reaffirm) that the best coded is the hevc_nvenc.
Well, for some reason…
having the “use hardware encoder” checkbox checkmarked causes the entire Youtube preset to
run slower
still use all of my CPU and barely half of my GPU (but at least it uses it this time :angry:)
take up MORE storage space (I’m talking double the storage, from the average recorded video space of
5 GB - 10)
simply enabling and using a codec (even if leaving the Quality (under Codec) at 59%) makes everything WORSE than leaving the codec at the youtube default (clicked the reset button to determine this) disabling the hardware encoder, and changing the Quality to 100% still somehow takes up less space, runs faster, AND leaves teh video better looking than trying to make the software work with my 1050 Ti.

Can anyone explain this? or help me determine if there’s a better setup (I like to make nice long videos, sometimes only using the editor to take out certain parts so YT doesn’t drop the ban hammer on me)

I want to thank everyone who uses, administrates, and teaches others on here, you’re an invaluable asset and deserve the support you get and probably more. Thank you

EDIT: I read your replies, and I realize I should have listed what the video quality is that I want. Its nothing particularly crazy, 720p 60FPS. I can record this on OBS without it taking much more than ~5% of my total CPU power. When I used Movie Maker I was easily able to export that same quality in a little less time, however MM doesn’t have any sort of way to utilize the GPU to render faster, which makes everything to me seem so ridiculous.

I sorry This sounds blunt But you are trying to make a silk purse out of a sows ear. Computers change every 6 months may it be time to get a new one. Your Rams OK but you really need i 5 or i 7 processor and a tbt of storage. if you lived in Wiltshire U.K I could sell you my other PC for £250 i5 2 terabytes of hard drive. just that I have pur

You don’t need a new computer. You have 4 GHz cores, which is a thing of beauty. The problem is that you don’t have a lot of them, and the libx264 Fast preset used for exporting YouTube videos would ideally like more cores than you have.

I’m not able to make an ideal recommendation for you because it sounds like you’re trying to get excellent video quality in the smallest file while using the least processing time. Those are conflicting goals. :slight_smile: Excellent quality requires a big file. Shrink the file and you lose quality. Limit the processing time, and either the file size goes up because mild lossless compression was used, or the quality goes down because rash decisions were made for lossy compression. If you tell us which property is most valuable to you, we can recommend settings that will max out that property.

Here is a general purpose recommendation, though… Start with the YouTube preset as a base, open the Export > Advanced tabs, then make these changes:

  • Codec > Quality: See if 54% is good enough for you
  • Codec > GOP: Set to 149, which exceeds YouTube’s recommendation, but they accept it anyway
  • Codec > B frames: Set to 3
  • Other: Change the preset=fast line to preset=veryfast

The longer GOP should save space, the 54% quality setting is hopefully “good enough without going over”, and the veryfast preset will give you a smaller file in less time for an almost visually indistinguishable drop in quality.

EDIT: I use the terms libx264 and libx265 interchangeably from here on because the YouTube preset is libx264 but your hardware encoding is HEVC/libx265.

As for hevc_nvenc not meeting your expectations, that is not really a surprise. There are very few hardware encoders that actually look good while producing a small file. That’s why the NVIDIA RTX 2060 (specifically the Turing architecture) is considered such a big deal for hardware encoding on a budget. They finally got the quality to approach libx264 at the Fast preset. Prior to that, the hardware was simply not optimized enough to match libx264.

Hardware speed comes from breaking a frame into small tiles and working on the tiles in parallel. But working in parallel means limited (or zero) visibility into what neighboring tiles look like, which can miss opportunities for more compression. When video isn’t fully compressed, it takes more bitrate to get the same quality as libx264. Or, if the bitrate is constrained, then the quality can’t match libx264 because fewer pixels can be represented with the same bitrate. Achieving optimal compression in parallel hardware is actually a very tough challenge, and only recently has NVENC gotten good at it. This is why so many people (myself included) have stuck with libx264 for videos of any importance because the quality of libx264 (up until recently) was simply that much better.

If export speed is really that big a deal to you even after the recommendations above, then your next option might be to get a new video card from the RTX 20xx series.

1 Like

Hey man, thanks for the tips. To be clearer I was looking for 720p 60fps, and playing around with the settings caused this strange behavior which makes no sense to me. I have worked with other editors before and never had this kind of problem with the export system, so setting the Quality Codec to something like 54% causes the video to turn out looking worse than 480p, this to me is just unacceptable. especially since export systems have generally worked just fine with me, from simple Movie Maker to Lightworks (the new update is such a shame, the engine is too laggy to use now.) and again have never had such strange issues. It shouldn’t take me 1 hour to churn out a 10 minute video when other editors have performed just fine by comparison.

I’m going to test out your recommendations but I won’t accept less than 720p, which means I’ll have to leave the Codec > Quality at 100%. Thank you for your suggestions and your time, I really appreciate it. Your comments on libx264 were especially helpful.

1 Like

@Hudson555x is right, switching to 100% quality actually tells the system to use a lossless 4:4:4 profile rather than the usual 4:2:0 with lossy compression. This is probably not what you want. The files will be massive.

When you say 54% quality looked worse than 480p, was that 54% quality using libx264/libx265 software encoding, or 54% hardware HEVC encoding? If 54% hardware, that kinda makes sense. The hardware scale doesn’t achieve the same quality as software encoders for the same quality percent. I meant 54% using a software encoder to see if CPU-only rendering could be fast enough for you while achieving high quality. I’m not sure what the equivalent hardware percent would be as it depends heavily on your specific GPU. Finding the best quality percent would take experimentation, but I would expect it to be at least 68%. There is still a major difference in file size between a 68% export and a 100% export.

Another way to approach it would be average bitrate rather than quality percent. If you know a bitrate target that gave you good results with Movie Maker or Lightworks, multiply it by three and try hardware encoding at that bitrate. That’s a pretty loose rule of thumb for achieving equivalent quality between software and hardware encoders prior to Turing GPUs.

1 Like

Thank you, I’m going to try that!

I’m not really sure if the problem came from using libx or HEVC. I’m going to have to keep playing around and figure out what settings work best for my system. First I’ll try the default option thats appearing for Quality (59%) and try your recommendations, using the HEVC Hardware encoder with Nvenc as the Codec.

+1 to what Peter Dore said. Even though you are using the GPU, shotcut still uses the CPU. And it sounds like you need a beefier CPU. Try and get an Intel CPU if you are planning to upgrade it, Intel seems to perform better with Nvidia GPUs. Especially for gaming.

My systems

i7 4790 with GTX 1080
i7 6700K with RTX 2080

no can do with my wallet. I have to swap out and get a whole new motherboard in order to use a stronger CPU that’ll be compatible. those two things together are too costly for me atm.