#video #multimedia #av1

app grav1synth

Grain Synth analyzer and editor for AV1 files

5 releases

Uses new Rust 2021

0.1.0-beta.1 Jul 23, 2022
0.1.0-alpha.4 Jul 21, 2022
0.1.0-alpha.3 Jul 11, 2022
0.1.0-alpha.2 Jul 10, 2022

#59 in Video

Download history 52/week @ 2022-07-07 19/week @ 2022-07-14 53/week @ 2022-07-21 18/week @ 2022-07-28

142 downloads per month

MIT license



Grain Synth analyzer and editor for AV1 files


  • Prerequisites:
    • ffmpeg headers
    • Rust compiler
  • Pull the repo
  • Run cargo build --release
  • Copy the binary from target/release/grav1synth to wherever you want


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

Known Issues

  • Currently fails to parse some video files. It is suspected that this happens on mkv files which have attachments.


~186K SLoC