You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-5Lines changed: 15 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,10 +18,6 @@ For using prebuilt binaries from releases, you just need to download the executa
18
18
> [!NOTE]
19
19
> You may view if your Nvidia GPU supports NVENC [here](https://developer.nvidia.com/video-encode-decode-support-matrix) and keep your Nvidia GPU driver version 570.0 or higher.
20
20
21
-
> [!CAUTION]
22
-
> The script currently does not support other GPU vendors besides NVIDIA. It will fall back to CPU encoding if no compatible NVIDIA GPU is found.
23
-
> AMD (`hevc_amf`) and Intel (`hevc_qsv`) GPU acceleration support may be added in future updates.
24
-
25
21
## How to use
26
22
- In Windows:
27
23
- Download any of the target filesize build from [releases](<https://github.com/SimpNick6703/Video-Compression/releases>).
- Download your desired build from [releases](<https://github.com/SimpNick6703/Video-Compression/releases>).
34
30
- Make your downloaded file executable: `chmod +x {size}mb-linux`
35
-
- Run in terminal as `./{size}mb-linux <input.mp4> [output.mp4]`
31
+
- Run in terminal as `./{size}mb-linux <input.mp4> [output.mp4] [target_size_in_mb]`
36
32
37
33
## How to Build
38
34
@@ -56,3 +52,17 @@ To keep build artifacts for debugging:
56
52
```bash
57
53
python build.py --verbose
58
54
```
55
+
56
+
## Encoder Priority Logic
57
+
Platform | Encoder Priority Chain | Notes
58
+
--- | --- | ---
59
+
Windows | `hevc_nvenc` -> `hevc_amf` -> `hevc_qsv` -> `libx265` (CPU) | Explicit vendor-specific encoders are required.
60
+
Linux | `hevc_nvenc` -> `hevc_vaapi` -> `libx265` (CPU) | `vaapi` covers both AMD and Intel integrated/dedicated.
61
+
MacOS | `hevc_videotoolbox` -> `libx265` (CPU only) | VideoToolbox automatically handles AMD, Intel, & Apple Silicon. Older Nvidia GPUs aren't used by Nvidia Video Codec SDK on MacOS and handled by VideoToolbox if supported.
62
+
63
+
Considering the wide variety of hardware configurations, the script uses the following priority logic to select the best available encoder on majority of users' systems (fallback logic):
> Only NVENC supports Two-Pass encoding among the listed encoders. Other encoders use Single-Pass encoding only.
68
+
> If your dedicated GPU is being bypassed in favor of integrated GPU or CPU encoding, you'll need to manually change the priority logic in the script to suit your hardware setup. Or, you may simply remove unwanted encoders from the priority list in the script, build the executable again, and use that custom build.
0 commit comments