What settings do you use with your 7950x? With my 5950x I have handbrake set to h265 10bit, slow, contestant quality R17 and all filters off except decomb and interlace detection set to default and all audio set to pass through. 1080p gets me around 26fps average and 4k is about 8fps.
“strange my 3900x encodes 40 to 60 fps and 7950x is 50 to 70 fps with hevc in handbrake. That is 1080p though not 4k.”
Well that’s exactly why - 1080p contains a lot less information than an HDR 4k video does.
For example, here are some rough encoding numbers on my rig, and how many frames per second I can encode:
- 4k - 50
- 1080p - 200
- 480p - 850
Oooh, interesting, I have not tried the nightly builds. I didn’t realize that Handbrake added support for Dolby Vision!
I think it was added maybe 1 week ago. I’ve tried it out on a couple of films with dolby vision and it does seem to pass though the data with no issue. Upto now I’ve had to use Dvdfab for dolby vision, which is fine, but I prefer handbrake as it has more fine control over the options exposed to the user.
I downloaded the nightly build, and unfortunately it seems that not only is h.265 required (fine for me, as that’s what I use), but you cannot use Nvidia’s encoding engine.
I’m not quite clear as to whether Nvidia doesn’t work at all, or whether it works for the overall file metadata, but not the stream itself.
I’d be lying if I claimed to really understand much about how this all works. I think for now if I really want the Dolby Vision or HDR10+ support, I’m stuck either running encodes on my CPU for 24 hours straight, or just storing the raw 4k disc rip.
That’s pretty much the conclusion I’ve come to as well. Until I can get my CPU encodes down bellow 8+ hours I’m just going to be storing the raw rips as well, I can always encode it to save space later when better hardware is available. I did give GPU encoding another go on my 6900xt and it turns out saving the encode as a mp4 rather than an mkv sorted the green mess out that I was getting, and it passed though all the dolby vision data as well, however to get the quality anywhere near good enough I had to set the CQ between 17 and 20 and the encoded file for around 3 minutes of film was coming out around 3gb, so that’s a no go.
OK thanks for starting this thread because this inspired me to go back and double-check some of my settings.
I decided to give the 4K 10 bit CPU only encoding engine a try, to see if I could get Dolby Vision/HDR10+ support within a reasonable time frame.
I started with the ‘HQ 2160p60 4K HEVC Surround’ preset. I’m testing this on my 4K copy of Platoon (the first movie I grabbed that I knew had Dolby Vision support).
I updated the preset a bit - chose variable frame rate (same as source), changed the audio to DTS passthrough, and a few other minor changes. However, I haven’t changed the video quality settings at all.
It is encoding right now and I’m actally getting about 14 frames a second, which is doable. That translates to an encode time of roughly twice as long as the movie’s duration - a bit less than that even.
I’m going to use Plex’s ‘edition’ support and upload 4 versions of the movie:
- Original rip
- 4K encode with Nvidia using the mainline Handbrake build (so no DV support)
- 4K encode with Nvidia using the nightly build (so maybe overall metadata support?)
- 4K encode using CPU with the nightly build, so I’ll get all the DV support.
I’ll do a review and see if I notice any substantial differences.
So far, here is what I’ve found via my testing:
- As I suspected, even with the nightly build and a source video with Dolby Vision support, there is no support shown on the video in Plex when encoded with the Nvidia encoder (h.265 Nvidia 10-bit).
- Similarly, with the CPU encoder on the same file, I do get DV support on the encoded file (h.265 10-bit [CPU only]).
I think that Platoon is not the best movie for looking for HDR differences, so I’m in the process of reripping & encoding the latest Batman movie. I’ll share more soon.
Try see if you can benchmark your workload on a high end Mac mini.
The m series chips and macOS are literally built for this sort of workload.
I hace crf 18 and preset medium.
Sorry to be late to the conversation. I run Handbrake only rarely.
My first choice is a free program called Tencoder. It’s abandonware, but has a slew of options that still work for me. Up to 16 CPU cores can be assigned, it supports subtitles, multiple codecs, User definable resolutions and presets for specific nodes. So if you want to encode for a specific model of TV, XBox, specific phone or whatever, you can just select your make / model and you’re away (840 presets). Single files or batch.
Occasionally, I’ll get a video file that crashes out on Tencoder. I run it through Handbrake to fix the issue, then Tencoder again for best results.
Interesting. I have switched from hevc and handbrake to av1 an av1an. Av1an is a jenk way of making av1 multithreaded, otherwise it is one threaded and second per frame vs frames per second. Chunking is what it is called. Divides chunks of video to threads of the cpu.
But I may look into tencoder.
I’m encoding x265 from Blueray 1080 source in Handbrake on a 7950x3d processor and its taking 32 minutes for a 45 minute episode. Wonder though how you control how many cores Handbrake uses? Is it automatic or do you use something like process lasso? Fwiw if I run two instances of Handbrake simultaneously it will max out almost all my cores at like 80-90 percent usage. Temps around 75 degrees. Thanks.
I have a 7950x3d with a PPT limit of 105 watts that usually does better than 30 frames per second depending on the content while encoding x265 10bit slow 1080p.
In handbrake’s “Advanced Options” field I have:
ctu=32:no-rect:numa-pools=16:asm=avx512
The numa-pools setting limits x265 to 16 cores and I have process lasso setting the affinity of HandBrake.Worker.exe to odd cores because the windows scheduler is terrible.
I’m sure there are better setups but I get decent encoding speed and the system still runs whatever else without a hitch.
@tk11 Right now mine is encoding at an avg of 32 fps. Will try out your advanced options and try process lasso. Thanks.
Over a year later and I’m still coming to the same conclusion I did before, from the hardware available for encoding (cpu / software while retaining maximum quality) it’s just easier and cheaper to rip the raw files that come out between 60gb to 90gb and buy more large Hdd’s (just picked up two 14tb Wd red pro’s) rather than buying a new PC with as many cores as possible and having it run at 80 /90% CPU load for multiple hours and all the electricity costs that go with it… Much as I did enjoy tinkering with all the settings and min maxing everything in Handbrake.
@tk11 So I was experimenting with Handbrake and process lasso and implemented your advanced option suggestions and found some very interesting results. Basically if all cores are enabled I will get like 36 fps average. Staggered cores I get 34 fps average. Only non-cache ccd cores get 24 fps average. Cached CCD cores I get 26-28 fps. So it seems handbreak prefers a mix of cached and non cached non thread cores for optimal encoding time. Going to try to run another instance of Handbrake this time encoding on the odd staggered cores and see what happens. Thanks.
Running two instances not improve but halves the performance despite using process lasso to assign odd cores or threads.
Process lasso doesn’t differentiate between instances so it’ll restrict both to using the same cores.
x265 doesn’t scale very well after 16 cores… I get slightly better speed with it limited to 16 cores and affinity set to odd cores but this mostly just frees up the system to do other stuff while encoding runs in the background.
If you need faster encodes then either reduce settings or switch to a hardware encoder.
Is this a memory bandwidth bottleneck or is it the software? Otherwise you could just do multiple encodes lasso‘d to different cores?