WIP
Since I am uploading a lot of AV1 encodings I have seen many questions about how I do it and why the file sizes are so small. This thread will be where I explain things about encoding and AV1 without trying to make it too complicated so it should not be hard to understand and neither am I that knowledgeable anyway.
What is AV1? AV1 is essentially the newest codec for videos, it means that while it is not as supported on older hardware as the older codecs such as H.264 or H.265/HEVC and is also harder to decode (play the video), the benefit is that it is MUCH more efficient. What does efficiency do for videos? Basically more efficient codec means that you can pack the same amount of data into the video but making it look better visually, so it will either look better at the same amount of space taken or it will look the same but take less space. I believe that AV1 is the way to go in the future considering it is open source while the closest competitor (HEVC/H.265) is not and that a lot of the major companies out there such as Netflix, Google, Microsoft and Apple and more all suppport/use AV1.
How do you encode videos into AV1? The easiest way that works on all hardware is to simply use CPU encoding (SVT-AV1), you can do this in a lot of different programs but the one I would recommend for the features and ease of use is to use Handbrake. Specifically I would recommend using this version of it as it has AV1-SVT-PSY specifically. That PSY version of AV1-SVT is essentially an improved version of it that is focused on psychovisually optimal AV1 encoding, that means it is meant to look better subjectively for the human eye.
After installing it, I would recommend that you create a preset that is always selected when you start it and after that you only need to adjust 2 different factors (usually).
Select MPEG-4 (mp4) and passthru common metadata in the first summary page.
In the Dimensions page if you want all your videos to be in 1080 at most, then in the “Resolution & Scaling” section select 1080p Full HD in “Resolution Limit”, if you want 1440p or 4K as max then select that or simply “none” if you do not want a limit.
Nothing else needs to be adjusted here. Cropping on Automatic is useful so I would have that on.
The Filters, Subtitles, Chapters and Tags can be left alone and skipped. You can of course adjust the tags, chapters and subs as needed but I would not do that via presets.
Now for the main thing we need to pay attention to, the Video tab.
Set the “Video Encoder” to AV1 10-bit (SVT PSY), this is for the AV1 codec using SVT-PSY variant and we also want it to be in 10bit as that is (afaik) always better than doing it in 8bit with better colors and also smaller file size sometimes, even if the original video you are re-encoding from is 8 bit you will see benefits from 10bit encoding.
Set framerate as “same as source” and have it on constant framerate.
The 2 factors that you need to pay attention are the “Preset” and “Constant Quality (RF)” factors.
Preset determines how fast it will encode, setting the preset value to a higher number (max 10) will make it run faster and lower will be slower (slowest being -3). Slower presets are slower because they basically go through the file more thoroughly and uses more advanced techniques to do so and MAY (keyword MAY) make the file size smaller and/or higher quality = more efficient encoding. So the main thing to keep in mind here is simply how much time and/or electricity cost you are willing to sacrifice for a file that MAY be smaller and/or higher quality. General advice from the Codec wiki is that you should stick to the 2-8 range for AV1-SVT-PSY.
And that going from one preset to the next generally means a 2x difference in speed. The sweet spots however are P2, P4 and P6. As going from say P2 to P1 takes more than 2x the time but the benefits are extremely small so not worth so and a similar case with P4 to P3. Anything faster than P8 however is just not good at all and you be better of using Hardware Acceleration, that is using the GPU to do the encoding instead, although if you have an AMD GPU and no Intel iGPU either I would recommend to stick with CPU encoding as AMD hardware accel is not that good (afaik). It is a completely different story if you have an Intel dGPU or Nvidia, but more on that later.
The RF value on the other hand, determines the compression, that is how small the file will end up and how much quality will be sacrificed in doing so. With a higher number meaning more compression and smaller number less compression and closer to the original file. This one will be the value you likely change the most depending on the quality, resolution and content on the original file you are working with.
For example if the original file is terrible and also using say an old coded like H.264 to begin with, you should just compress it more that way you can save a lot of space AND in some cases still looks the same as the original as AV1 shines at low file sizes compared to the older codecs.
If the original file looks good though you should not compress it as much though.
Depending on the resolution you may also compress it more or less, generally you want less compression with higher resolution files and more compression with lower resolution.
The content on the file will be a huge factor on how much you can compress though, for example with animation you can usually compress quite a bit more than live-action content without making it look worse.
RF value is pretty subjective and there is no “best” values in general as it depends on your eyes (if you can tell a bad from a good quality file apart without pausing and A/B comparing the same exact frame) and also how you consume it, be it from a smartphone where the screen is much smaller and thus has a higher PPI (pixel density) than say a big TV screen where you will have low PPI and bad quality will stick out much more.
Note that you should not re-encode the same video that often as the more times you do the more data is lost, if you want a smaller file simply start with a higher compression (quality value) instead of trying to make it smaller by re-encoding the re-encode.
^ Everything said above is essentially the basics and what seems to be the consensus. Now from here on I will talk about my own experiences and my own recommendations based on that.
For those that have either an NVIDIA or INTEL dGPU I would recommend using it for encoding, as I personally only have an Intel GPU and am on Linux I am using a script to do my encodings using Intel QSV. Here it is if you want to reference it and use it for your own (NVENC if Nvidia) and/or if on Windows, I recommend asking Gemini to do the work for you as that is what I did.
Scripts ~ pixeldrain
One is a manual script where you can input the quality yourself and the other is a more advanced one that checks the video first and determines the optimal quality value to use. I personally have them both set so they can only use a value from 20-31 as under that is just not noticeable and a waste of space and above that is where I notice the difference (with 1080p content, I have not added a way for it to be able to use more compression at lower resolution but that is a good way to do it). The one that checks the files first also makes sure that the end result is at least 5% smaller than the original file.
I downloaded some random short clips from Rule34videos and encoded them into AV1 using both CPU encoding (AV1-SVT-PSY 10bit) on my AMD Ryzen 5 7500F and using hardware acceleration using my Intel Arc B580 GPU (Intel QSV). Using VMAF as the objective way to analyze the results, VMAF is a way to estimate the quality of the video with a focus on perceived subjective quality and was made by Netflix. With Netflix afaik aiming for a value of 93 for their streams as that is the best value to them where you get best quality and file size with a value of 95 and above being essentially lossless and indistinguishable. A value of 80 being considered good and 90 and above very good.
Dark Video:
| Encoding Method | Hardware | Preset | Quality setting | Bitrate (Mbps) | File Size (MiB) | VMAF Score |
|---|---|---|---|---|---|---|
| Reference | Original Source | N/A | Original | 2,16 | 0,76 | N/A |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 47 | 0,34 | 0,12 | 93,2222 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 46 | 0,37 | 0,13 | 93,2765 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 45 | 0,39 | 0,14 | 93,3871 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 44 | 0,41 | 0,15 | 93,5246 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 43 | 0,44 | 0,16 | 93,7234 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 42 | 0,46 | 0,16 | 93,8107 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 41 | 0,51 | 0,18 | 93,9366 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 40 | 0,53 | 0,19 | 93,9986 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 39 | 0,55 | 0,19 | 94,0961 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 38 | 0,59 | 0,21 | 94,1777 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 37 | 0,63 | 0,22 | 94,2944 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 36 | 0,67 | 0,24 | 94,3956 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 35 | 0,74 | 0,26 | 94,5214 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 34 | 0,79 | 0,28 | 94,6339 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 47 | 0,48 | 0,17 | 93,1339 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 46 | 0,51 | 0,18 | 93,2778 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 45 | 0,52 | 0,18 | 93,3407 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 44 | 0,57 | 0,20 | 93,5240 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 43 | 0,61 | 0,22 | 93,6410 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 42 | 0,63 | 0,22 | 93,7887 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 41 | 0,66 | 0,23 | 93,8716 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 40 | 0,71 | 0,25 | 93,9572 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 39 | 0,72 | 0,25 | 93,9935 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 38 | 0,77 | 0,27 | 94,1069 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 37 | 0,81 | 0,29 | 94,1769 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 36 | 0,86 | 0,30 | 94,2573 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 35 | 0,91 | 0,32 | 94,3086 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 34 | 0,96 | 0,34 | 94,3536 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 6 | 47 | 0,42 | 0.15 | 92,8465 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 6 | 46 | 0,46 | 0,16 | 93,0865 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 6 | 34 | 0,84 | 0.30 | 94,2252 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 31 | 0,29 | 0,10 | 90,3107 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 30 | 0,31 | 0,11 | 90,8827 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 29 | 0,35 | 0,12 | 91,0972 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 28 | 0,39 | 0,14 | 91,9427 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 27 | 0,44 | 0,15 | 92,2590 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 26 | 0,48 | 0,17 | 92,5025 |
Contrast video:
| Encoding Method | Hardware | Preset | Quality setting | Bitrate (Mbps) | File Size (MiB) | VMAF Score |
|---|---|---|---|---|---|---|
| Reference | Original Source | N/A | Original | 6,62 | 2,8 | N/A |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 47 | 2,07 | 0,95 | 98,4619 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 46 | 2,14 | 0,984 | 98,5882 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 45 | 2,34 | 1,1 | 98,7994 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 44 | 2,42 | 1,1 | 98,8809 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 43 | 2,62 | 1,2 | 99,0978 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 42 | 2,7 | 1,2 | 99,1309 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 41 | 2,92 | 1,3 | 99,3033 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 40 | 3,0 | 1,3 | 99,3062 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 39 | 3,23 | 1,4 | 99,4313 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 38 | 3,43 | 1,5 | 99,5326 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 37 | 3,62 | 1,6 | 99,5898 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 36 | 3,78 | 1,6 | 99,6394 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 35 | 4,0 | 1,7 | 99,6908 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 34 | 4,25 | 1,8 | 99,7477 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 47 | 2,22 | 1,0 | 98,1217 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 46 | 2,38 | 1,0 | 98,1955 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 45 | 2,51 | 1,1 | 98,5222 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 44 | 2,58 | 1,2 | 98,6154 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 43 | 2,79 | 1,2 | 98,8648 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 42 | 2,9 | 1,3 | 98,9122 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 41 | 3,13 | 1,4 | 99,1219 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 40 | 3,23 | 1,4 | 99,1591 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 39 | 3,45 | 1,5 | 99,2836 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 38 | 3,68 | 1,6 | 99,4040 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 37 | 3,86 | 1,7 | 99,4608 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 36 | 3,99 | 1,7 | 99,5149 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 35 | 4,22 | 1,8 | 99,5872 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 34 | 4,49 | 1,9 | 99,6618 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 31 | 2,25 | 1,0 | 97,7989 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 30 | 2,52 | 1,1 | 98,3457 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 29 | 2,82 | 1,3 | 98,7163 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 28 | 3,23 | 1,4 | 99,1337 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 27 | 3,7 | 1,6 | 99,3723 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 26 | 4,07 | 1,8 | 99,4721 |
Bright video:
| Encoding Method | Hardware | Preset | Quality setting | Bitrate (Mbps) | File Size (MiB) | VMAF Score |
|---|---|---|---|---|---|---|
| Reference | Original Source | N/A | Original | 3,74 | 2,1 | N/A |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 47 | 1,23 | 0,81 | 92,4064 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 46 | 1,28 | 0,84 | 92,6033 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 45 | 1,39 | 0,90 | 92,9008 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 44 | 1,46 | 0,93 | 93,0006 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 43 | 1,54 | 0,97 | 93,3897 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 42 | 1,65 | 1,0 | 93,5509 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 41 | 1,77 | 1,1 | 93,9570 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 40 | 1,83 | 1,1 | 94,0648 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 39 | 1,96 | 1,2 | 94,3419 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 38 | 2,12 | 1,3 | 94,6496 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 37 | 2,25 | 1,3 | 94,8760 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 36 | 2,38 | 1,4 | 95,1027 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 35 | 2,52 | 1,5 | 95,2739 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 2 | 34 | 2,73 | 1,6 | 95,5762 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 47 | 1,34 | 0,87 | 92,0926 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 46 | 1,39 | 0,89 | 92,3913 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 45 | 1,46 | 0,93 | 92,5546 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 44 | 1,57 | 0,99 | 92,8556 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 43 | 1,66 | 1,0 | 93,0970 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 42 | 1,73 | 1,1 | 93,3317 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 41 | 1,87 | 1,1 | 93,5472 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 40 | 1,94 | 1,2 | 93,7740 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 39 | 2,05 | 1,2 | 94,0271 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 38 | 2,23 | 1,3 | 94,3230 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 37 | 2,34 | 1,4 | 94,5244 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 36 | 2,45 | 1,4 | 94,6881 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 35 | 2,60 | 1,5 | 94,9279 |
| CPU (AV1-SVT-PSY-10bit) Encoding | AMD Ryzen 5 7500F | 4 | 34 | 2,79 | 1,6 | 95,1663 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 31 | 1,32 | 0,86 | 90,4133 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 30 | 1,45 | 0,93 | 91,2654 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 29 | 1,65 | 1,0 | 92,2063 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 28 | 1,91 | 1,2 | 93,2431 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 27 | 2,18 | 1,3 | 93,9532 |
| GPU (QSV, AV1) Encoding | Intel Arc B580 | 1 | 26 | 2,41 | 1,4 | 94,4178 |
Summarized table:
| Encoding Method | Preset | Average Bitrate (Mbps) | Average File Size (MiB) | Average VMAF Score |
|---|---|---|---|---|
| CPU (AV1-SVT-PSY-10bit) Encoding | 2.0 | 1.81 | 0.89 | 95.71 |
| CPU (AV1-SVT-PSY-10bit) Encoding | 4.0 | 1.97 | 0.95 | 95.51 |
| CPU (AV1-SVT-PSY-10bit) Encoding | 6.0 | 0.66 | 0.23 | 93.86 |
| GPU (QSV, AV1) Encoding | 1.0 | 1.77 | 0.87 | 94.30 |
As you can see from the tests, using CPU encoding does indeed give a better vmaf score and tends to do so at a smaller file size making it more efficient to use CPU encoding over GPU encoding even with Intel QSV which is top class for hardware acceleration.
However, the speed is not something that was tested in these short (3 ish seconds) clips and that is where the crucial point lies. From my experiences using the slowest preset (1) on my Intel B580 has an encoding speed of around 250-350fps usually, compare that with using P4 on my 7500F which has an encoding speed of around 10fps and around 1-3fps on P2, means that even on P4 it is around 30x slower than the slowest Preset on the GPU. This essentially means that a 2 hour 1080p30fps video would take around 12 minutes on the GPU but 360 minutes on the CPU at P4 and a whopping 1080-3600 minutes on P2.
Which is why personally I would simply stick to using hardware acceleration and only switch to CPU encoding for the files you REALLY like and only use P4 or P2 for that. My advice is that you run multiple “batches” at the same time, which is what I usually do to save even more time as you can run multiple encodings at the same time without it affecting speed much at all for each individual one. I also recommend running a CPU encoding alongside the GPU ones to really maximise your encoding efficiency.
Tested files:
Emma = contrast video
Jesse = dark video
Mercy = bright video


