With some Mac you can use the hardware acceleration to encode and decode to H.264. This is very nice as it can lower the use of the CPU. But there are some limitations.
Computers limitations
Apple silicon Macs
All Apple Silicon computers have a hardware acceleration to encode/decode H.264 and HEVC. Depending on the model, they will have more or less of these Media Engines:
Decode Media Engines |
Encode Media Engines |
|
---|---|---|
M1/M2 | 1 | 1 |
M1/M2 Pro | 1 | 1 |
M1/M2 Max | 1 | 2 |
M1/M2 Ultra | 2 | 4 |
Note that we have seen that Apple Silicon computers have better performances to encode HEVC than H.264, we would thus recommend to use HEVC when possible.
Intel Macs
Basically all Intel computers released in or after 2016. Only computers with a Core i3, i5, i7, i9 (Mac mini, iMac, iMac Pros and MacBook Pro) can encode H.264 or H.265 (HEVC) using Intel's Quick Sync hardware acceleration.
2019 Mac Pros also have a hardware acceleration thanks to the graphics card. So depending on the graphics card that you use, you will have different performances, but note that:
- for H.264 encoding and decoding, a 2018 Mac mini will outperform a Mac Pro even with the Radeon Pro Vega II.
- for HEVC encoding and decoding, a Mac Pro with a Radeon Pro Vega II will do better.
2013 Mac Pros can not use that hardware acceleration as they are using a Xeon processor. So they are not a good fit to encode in H.264. You will have much better results with a Mac mini than with a Mac Pro when it comes to H.264 or H.265 encoding...
The hardware acceleration can happen on Intel's built-in GPU, so for example on the 2018 Mac mini, as all models have the same built-in GPU, performances will be the same, and thus the Core i3 quad core model will encode approximately the same number of H.264 or HEVC channels as the Core i7 hexa core.
A few precisions,
- eGPUs won't have an impact on the hardware acceleration
- only H.264 and H.265 (HEVC) can be hardware accelerated on Intel's Quick Sync, all other codecs encoding will be done on the CPU.
What can impact performances?
Apple silicon Macs
As the media engines are completely separated from the CPU and GPU, there will be no impact on encoding performances on encoding if you start rendering on the GPU for example.
Intel Macs
As the GPU can be used, be aware that if you start another application that is using Intel's built in GPU as well, it may lower the number of channels that you can encode. So be aware of the applications you start.
In MovieRecorder, when using effects (rotating, deinterlacing,...) or overlays (timecode, image), the GPU will be used an thus H.264 or H.265 encoding performances can be greatly impacted.
macOS limitations
Apple silicon Macs
There is no know limitation, except using a macOS supported by your Mac.
Intel Macs
- In H.264, For best performances you should use macOS 10.13 or later. Previous versions of macOS only supported 1 channel of H.264 to be hardware accelerated.
- Support for H.265 encoding is supported only with macOS 10.13 or later.
Level and Profile limitations
H.264
There can be limitations depending on the H.264 profile and level chosen. See below the Max Width, Height, fps and bitrate for each case.
Level | Max Width | Max Height | Max Frame Rate | Max Average Bitrate (kbps) - With Profile | ||
Baseline, Main | High | Extended | ||||
1.3 | 352 | 288 | 30 | 768000 | N/A | N/A |
3.0 | 720 | - | - | 10000000 | 12500000 | N/A |
3.1 | 1280 | 720 | 30 | 14000000 | 17500000 | N/A |
3.2 | 1280 | 720 | - | 20000000 | 25000000 | N/A |
4.0 | 1920 | 1080 | 30 | 20000000 | 25000000 | N/A |
4.1 | 1920 | 1080 | 30 | 50000000 | 62500000 | N/A |
4.2 | 1920 | 1080 | - | 50000000 | 62500000 | N/A |
5.0 | 2560 | 1920 | 30 | 135000000 | 1687500000 | 135000000 |
5.1 | 4096 | 2160 | 25 | 240000000 | 300000000 | N/A |
5.2 | 4096 | 2160 | - | 240000000 | 300000000 | N/A |
When you choose a profile with an "automatic level", the best level will be chosen depending on the incoming video format and the chosen bitrate.
H.265
In H.265 there is no selection of Profile and Level because only the "Main Automatic Level" is supported, so the best level will be chosen depending on the incoming video format and the chosen bitrate.
The maximum bitrate of HEVC is currently of 32 Mbit/s.
About the bitrate
The bitrate that is set is an average bitrate, and the bitrate of your recorded file will also depend on the format and frame rate of your video. We can not prevent you from setting it to an unsupported value because the AVPreset is made in the preferences where we have no idea on which type of video it will be used.
For example, in HD, HEVC encoder will produce bitrates from about 2.5Mb/s to 15Mb/s (so you won't reach the maximum of 32Mb/s). Also if you have set it to a bitrate in the range above, but he signal is very easy to compress (such as color bars), the file will have a lower bitrate than what you have set.
So we recommend that you test with your specific signal to make sure of the resulting bitrate.
Comments
0 comments
Please sign in to leave a comment.