- 2Basic Concepts
- 3Your choices and my recommendations
- 3.1A - 3 video codecs
- 3.1.1Option 1 – H264:
- 3.1.2Option 2 – H265:
- 3.1.3Option 3 – VP9:
- 3.2B - MKV vs MP4 vs WebM
- 3.3C – Handbrake and AviDemux
- 3.4D - Constant Quality vs Constant Bitrate vs Variable Bitrate
- 3.5E – Considerations for the future
- 4Encoding comparisons to help you choose
- 4.5.1HandBrake x264:
- 4.5.2Handbrake x265:
- 4.5.3FFMPEG VP9:
- 4.5.4Premiere H264:
- 4.5.5HandBrake x264:
- 4.5.6Handbrake x265:
- 4.5.7FFMPEG VP9:
- 4.5.8Handbrake x264:
- 4.5.9Handbrake x265:
- 4.5.10FFMPEG VP9:
- 5Encoding the Video portion with Handbrake
- 5.5.1Picture Tab:
- 5.5.2Filters Tab:
- 5.5.3Video Tab:
- 5.5.4Advanced Tab:
- 5.5.5FFMPEG for VP9:
- 6Encoding the Audio portion with Handbrake
- 6.1A – Separating the myths from the facts
- 6.2B – Definitions, formats and my choices
- 6.3C – Examples of the Handbrake Audio Tab
- 7Streaming basics and a comparison – CPU vs NVENC vs Quick Sync
- 7.3.1Audio, push-to-talk and hotkeys Settings:
- 7.3.2Stream Settings:
- 7.3.3Video Settings:
- 7.3.4Output Settings:
- 8Streaming examples for CPU, NVENC & Quick Sync
- 8.3.1CPU (x264)
- 8.3.2Quick Sync (QSV)
- 9Recording examples for CPU, NVENC & Quick Sync and recording while streaming
- 9.3.1CPU (x264)
- 9.3.2Quick Sync (QSV)
- 10Buffer recording and AVIDemux
- 10.3.1Replay Buffer
Encoding comparisons to help you choose
I took a video and encoded it with various settings to show the difference in encode time and final file size. Most of the videos are such good quality that I had to intentionally look out to see the difference from the original except for the Premiere version which was much more obvious.
For testing purposes I put together some files recorded with OBS Lossless 1920×1080 Progressive 25-30FPS YUV 8-bit colour Profile High 4:4:4. They vary in time, specified at the top of each part. The audio component is specified too so that the final file size can be compared more accurately. Audio encoding could be passthrough, which means that I’m only encoding the video, the audio will remain identical to the OBS recording bit for bit. If audio encoding is specified, then the encoding FPS will show as ever so slightly slower than the true value. Basically though, you can take these numbers at face value.
Encoding method = average FPS encoded, total time taken, final encoded file size.
Heroes of the Storm original 2.17GiB, 201 seconds, 30fps, audio passthrough component is 5MiB:
RF 20 Slower Profile H5.1 = 24 FPS, 251 seconds, 205MiB. Tiny amount of distortion.
RF 21 Very Slow Profile H5.1 = 17.5 FPS, 371 seconds, 168MiB. Ever so slightly more blur than RF20 Very Slow.
RF 20 Very Slow Profile H5.1 = 17.5 FPS, 375 seconds, 193MiB. Nearly impossible to see faults.
RF 20 Placebo Profile H5.1 = 5.7 FPS, 1057 seconds, 194MiB. Nearly impossible to see faults.
RF 20 Max (see below) Profile Auto = 1.6 FPS, 3768 seconds, 197MiB. No visible faults.
RF 23 Very Slow PM = 1.0 FPS, 6100, 105MiB. Can see some blurring around heroes and effects. Minions also blocky.
RF 22 Very Slow PM = 0.9 FPS, 6800 seconds, 118MiB. Same blur as above but less noticeable.
RF 21 Very Slow PM = 0.9 FPS, 6800 seconds, 133MiB. To me appears identical to RF22.
RF 20 Very Slow PM = 0.9 FPS, 6800 seconds, 150MiB. Slightly better than RF22 but still blurring.
RF 19 Very Slow PM = 0.9 FPS, 6800 seconds, 168MiB. Appears about the same as 264 RF20 Very Slow.
RF 17 Placebo PM10 = 0.5FPS, 12200 seconds, 211MiB. Looks the same as 264 RF20 Max, no visible faults.
CQ 20 Speed 0 = 0.6 FPS, 10100 seconds, 198MiB. Some blocking on grey ground but pretty good.
CQ 22 Speed 0 = 1 FPS, 6050 seconds, 183MiB. Same blocks as above but bit more noticeable. Similar issue with the ground as Premiere version but not as frequent.
CQ 22 Speed 0 ”aq 1” = 0.9 FPS, 6720 seconds, 210MB. Slight blocks at curved fog of war otherwise fine.
CQ 26 Speed 0 = 4 FPS, 1510 seconds, 147MiB. Included this one because I noticed something interesting. Compared to x265 RF22 at 118MiB, this one has worse quality on the ground where the colours are dark and blending, but better quality on the heroes and minions where the colours are sharp and contrasting. Not the fantastic quality we’re after here, but worth putting out there.
Maximum (see below) = 33 FPS, 181 seconds, 199MiB. Most distortion of all videos.
Premiere encoding has less options. I went for H.264 29.97 FPS, Progressive VBR 2-pass, Target 8Mbps, Max 11.01 Mbps, AAC 320Kbps, 48KHz Stereo. Also ticked Render at Maximum Depth AND Use Maximum Render Quality.
Shootmania original 1.82GiB, 31 seconds, 30fps, audio PCM encoded to Vorbis 0.5MiB
RF 20 Very Slow Profile H5.1 = 4.4 FPS, 212 seconds, 79.5 MiB. Some blockiness during fast motion and also in the grey clouds. Slight blur on the brick wall during motion.
RF 20 Max (see below) Profile Auto = 0.8 FPS, 1162 seconds, 64.6 MiB. Tiny amount of blockiness during fast motion and a little in the grey clouds.
RF 20 Medium PM10 = 10 FPS, seconds, 84.6 MiB. Tiny amount of blockiness in the clouds.
RF 20 Very Slow PM10 = 4.4 FPS, 215 seconds, 79.6 MiB. Nearly impossible to see faults.
RF 20 Placebo PM10 = 1.3 FPS, 720 seconds, 80.2 MiB. Quality is sensational, no visible faults.
CQ 20 Speed 0 = 0.5 FPS, 1866 seconds, 84.2MiB. Quality is sensational, no visible faults.
Overwatch original 5.98GiB, 1449 seconds, 25fps, audio passthrough component is 36MiB
RF 20 Very Slow Profile H5.1 = 4.2 FPS, 8630 seconds, 1.71GiB. Can see blockiness on surfaces where colour blends together. However most of the video is pretty amazing quality.
RF 20 Placebo Profile H5.1 = 1.3 FPS, 27888 seconds, 1.71GiB. Looks the same as Very Slow.
RF 20 Max (see below) Profile Auto = 1.1 FPS, 33232, 1.71GiB. Same blockiness, but ever so slightly less obvious. Possibly in my imagination…
RF 20 Medium PM10 = 8.1 FPS, 4520 seconds, 1.35GiB. Appears identical to 264 Very Slow above.
RF 20 Slower PM10 = 1.0 FPS, 37334 seconds, 1.29GiB. Also identical.
CQ Speed 1 = 1.8 FPS, 20912 seconds, 1.49GiB. Appears the same as the x265 versions.
CQ Speed 0 = 0.9 FPS, 41252 seconds, 1.42GiB. Appears the same as the x265 versions.
- All sources are in 1080p lossless and either 30 or 25 FPS. This is to represent the real-world likelihood of what you, dear reader, are most likely to want to record. The results and differences are vastly varied on different types of objectives. For example, ABR at 4Mbit/sec produces significant quality drops in x264. That’s an issue Netflix and YouTube need to consider, however not us. Also, results start to vary again when considering videos in 4K @ 60 FPS, which we might update to deal with in another year or so.
- Heroes of the Storm is the only source where changing the speed also significantly changed the quality for the same RF. Considering HotS is a much more static game than Shootmania or Overwatch, this fits in with the general idea of RF, where mistakes are harder for a human to see during high motion but easy to see on static images.
- Heroes of the Storm is also the only source where x265 and VP9 didn’t offer any real file size benefit without sacrificing quality. This fits with the idea that still images are easier to compress, while the fast moving images require more work and an advanced encoder will do a better job.
- Heroes of the Storm is once again, the only source where the vast majority of encodes are able to be done in less than 1MiB/sec or 8Mbit/sec. Again, referencing the stationary screen play style of the video.
- For Shootmania, the x265 RF 20 Very Slow encodes at the same FPS as the x264 version but somehow ends up with nearly exactly the same file size. In my opinion the video is clearer but that’s very subjective. There’s no point keeping an x264 version, get into the habit of keeping x265 versions now. Uploading to YouTube however, use x264.
- Shootmania is the only source where VP9 stood out as better. The final file size isn’t the best but it’s very close. I can’t put my finger on it, but when watching that one after watching an x264 or x265 version it just somehow looks cooler. I’ve tried to screenshot frames to see what it is, but frame-to-frame it’s not visible. You have to do it yourself to see if you see the same thing I do. Sadly, I have nowhere to put these videos for direct download
- Overwatch had an interesting result for x264. The different presets produced files of identical size DOWN TO THE BYTE. I should have done a checksum on them but deleted 2 of them before I thought of it. I’m willing to bet they are identical, although something about the “Max” version made me feel like it was clearer but I can’t prove it and it would make more sense that they’re identical.
- Overwatch is where x265 really shined. With the Medium preset encoding faster than all of the x264 versions and STILL producing a smaller file size. If you have the patience, use Slower. I thought about doing a test with Placebo but my source file is over 24 minutes long and I have been encoding for days now, don’t want to spend another 2 days just on that…
Regarding HandBrake x264 RF 20 quality HotS video, I could only see the tiniest amount of distortion around diablo doing a merc camp for one moment. The rest of the video looks like it does when playing the game, fantastic. The distortion is noticeable in the Slower encode, then hardly there in Very Slow or Placebo. Max there is no distortion whatsoever, the quality appears perfect to my eyes and believe me, I looked over it many many times. Premiere quality however had something that really bugged me. Often, when the screen moves, there’s a slight pixilation applied to the ground, which comes good after about ¼ to ½ of a second. In my opinion the quality is less than any of the HandBrake encodes, which makes sense, because it happened much faster.
If you want to see the quality difference I’m talking about, pull up these 2 videos:
Handbrake Very Slow –
Make sure you set both videos to 1080p and then move to the 1:15 mark and let it buffer. At the 1:19 mark, right after I scream “YES” and just before Pointy laughs, the screen gets shifted right. Pay attention to the lines/cracks on the ground. They go blurry with the screen movement, then a fraction of a second later, they clear up and the colour of the ground enriches. This doesn’t happen on the HandBrake encode, which seems much more consistently crisp. It can be hard to tell the difference, but some people notice it more easily than others.
Regarding the quality for VP9 in the HotS video, the blocks around shadows I refer to are pretty minor. At a higher CQ I had blur around finer lines like cracks in the ground so I discounted them. At CQ 22 and 20 that blur is gone. But as characters move around the fog of war moves as a circular shadow. At least one time I could see the edge of the fog of war block up as it slowly crept over grey ground. Didn’t happen on brighter maps, but in this video I could see it on the demon side of the map. It’s pretty minor but worth mentioning.
What difference does this all really make? Well, if after a year you have 100 hours of amazing moments they could occupy 3.6TiB of HDD or they can occupy 3.2TiB. Small saving? Yeah kinda. But what are you really sacrificing here? A 10 minute clip might take 5 hours to encode, easily done overnight. But there’s one more thing to consider, the viewers who watch this. They need to DOWNLOAD the video right? If their connection is not quite fast enough, they might have to buffer. If the file size is smaller, then they might not have to. Could it make a difference? Who knows for sure… But if you can deal with encoding while you’re asleep or at work, I recommend doing the slowest method you can bear. That’s what I do.