Add auto-boost algorithm 2.0 + fixes
This commit is contained in:
48
README.md
48
README.md
@@ -1,9 +1,9 @@
|
||||
# Auto-boost Algorithms
|
||||
# Auto-boost Algorithm
|
||||
|
||||
## Version 1.0: brightness-based
|
||||
|
||||
> Gets the average brightness of a scene and lowers CQ/CRF/Q the darker the scene is, in a _zones.txt_ file to feed Av1an.
|
||||
Only requirements are Vapoursynth and vstools.
|
||||
The requirements are Vapoursynth, vstools and LSMASHSource.
|
||||
|
||||
__Usage:__
|
||||
```
|
||||
@@ -14,3 +14,47 @@ __Example:__
|
||||
```
|
||||
python auto-boost_1.0.py "path/to/nice_boat.mkv" "path/to/scenes.json" 30
|
||||
```
|
||||
|
||||
__Advantages:__
|
||||
- Fast
|
||||
- No bs
|
||||
- Solves one long-lasting issue of AV1 encoders: low bitrate allocation in dark scenes
|
||||
|
||||
__Known limitations:__
|
||||
- Not every dark scene is made equal, brightness is not a great enough metric to determine whether CRF should be decreased or not
|
||||
- CRF is boosted to the max during credits
|
||||
- Script now entirely irrelevant with SVT-AV1-PSY's new frame-luma-bias feature
|
||||
|
||||
_Inspiration was drawn from the original Av1an (python) boosting code_
|
||||
|
||||
## Version 2.0: SSIMULACRA2-based
|
||||
|
||||
> Does a fast encode of the provided file, calculates SSIMULACRA2 scores of each chunks and adjusts CRF per-scene to be closer to the average total score, in a _zones.txt_ file to feed Av1an.
|
||||
The requirements are Vapoursynth, vstools, LSMASHSource, Av1an and vapoursynth-ssimulacra2.
|
||||
|
||||
__Usage:__
|
||||
```
|
||||
python auto-boost_2.0.py "{animu.mkv}" "{scenes.json}" {base CQ/CRF/Q}
|
||||
```
|
||||
|
||||
__Example:__
|
||||
```
|
||||
python auto-boost_2.0.py "path/to/nice_boat.mkv" "path/to/scenes.json" 30
|
||||
```
|
||||
|
||||
__Advantages:__
|
||||
- Lower quality deviation of individual scenes in regards to the entire stream
|
||||
- Better allocates bitrate in more complex scenes and compensates by giving less bitrate to scenes presenting some headroom for further compression
|
||||
|
||||
__Known limitations:__
|
||||
- Slow process
|
||||
- No bitrate cap in place so the size of complex scenes can go out of hand
|
||||
- The SSIMULACRA2 metric is not ideal, plus the score alone is not representative enough of if a CRF adjustement is relevant in the context of that scene (AI will save)
|
||||
|
||||
_Borrowed some code from Sav1or's SSIMULACRA2 script_
|
||||
|
||||
## Version 3.0: SSIMULACRA2-based + per-scene grain synthesis strength determination
|
||||
|
||||
...and a few other improvements.
|
||||
|
||||
_Soon:tm:_
|
||||
|
||||
Reference in New Issue
Block a user