11 releases
0.1.0-beta.7 | May 11, 2024 |
---|---|
0.1.0-beta.6 | Feb 9, 2023 |
0.1.0-beta.5 | Nov 9, 2022 |
0.1.0-beta.4 | Oct 1, 2022 |
0.1.0-beta.1 | Jul 23, 2022 |
#77 in Video
3MB
4K
SLoC
Grav1synth
Grain Synth analyzer and editor for AV1 files
Build
- Prerequisites:
- ffmpeg headers
- Rust compiler
- Pull the repo
- Run
cargo build --release
- Copy the binary from
target/release/grav1synth
to wherever you want
Usage
grav1synth inspect my_encode.mkv -o grain_file.txt
Reads my_encode.mkv
and outputs a film grain table file at grain_file.txt
grav1synth apply my_encode.mkv -o grainy_encode.mkv -g grain_file.txt
Reads my_encode.mkv
, adds film grain to it based on grain_file.txt
, and outputs the video to grainy_encode.mkv
grav1synth generate my_encode.mkv -o grainy_encode.mkv --iso 400 --chroma
Reads my_encode.mkv
, adds photon-noise-based film grain to it based on the strength provided by --iso
(up to 6400
), and outputs the video to grainy_encode.mkv
. By default applies grain to only the luma plane. --chroma
enables grain on chroma planes as well.
grav1synth remove my_encode.mkv -o clean_encode.mkv
Reads my_encode.mkv
, removes all synthesized film grain, and outputs the video at clean_encode.mkv
grav1synth diff my_source.mkv denoised_source.mkv -o grain_file.txt
Compares my_source.mkv
and denoised_source.mkv
and generates a film grain table at grain_file.txt
based on the difference between them. This will provide the most accurate estimation of source film grain.
Known Issues
- There have been reports that certain videos will fail to apply film grain properly. This is likely related to aomenc's
--keyframe-filtering=2
.
Dependencies
~11–22MB
~319K SLoC