GithubHelp home page GithubHelp logo

grav1ty's Introduction

grav1ty

please add more if you have any

degrain

Degrain videos and generate grain tables Example:
python3 degrain.py degrain -s script.vpy split denoised
python3 degrain.py generate --width 1920 --height 1080 --workers 8 split denoised tables
python3 degrain.py scale -s 1.2 graintables new_graintables

run python3 degrain.py --help for more

plot vmaf

Plots vmaf of two video files
Example program:
python3 plot_vmaf.py --xml plot.xml -o metrics.csv --psnr --ssim -ms_ssim
python3 plot_vmaf.py raw.mkv encoded.mkv --frames 10 -o metrics.csv
python3 plot_vmaf.py raw.mkv encoded.mkv -o image.png --csv --svg
python3 plot_vmaf.py raw.mkv encoded.mkv -o 01 --csv --png --svg

run python3 plot_vmaf.py --help for more

split

This splits a video file into segments using mkv keyframes and aom keyframes.
Strategy:

split(video, path_split, min_frames=-1, max_frames=-1, cb=None)
returns: splits, total frames, segments

splits:

{
  "00000": {                  # segment name
    "segment": "00000.mkv",   # segment file
    "start": 0,               # starting frame within the segment
    "frames": 10              # number of frames
  },
  "00001": {
    "segment": "00000.mkv",
    "start": 10,
    "frames": 20
  }
}

total frames: total number of frames in the sequence

segments: these are the split up video files

{
  "00000.mkv": {  # filename
    "start": 0,   # starting frame within the entire video
    "length": 10  # number of frames of the segment
  }
}

verify split

Verify and correct splits using segments generated by split() verify_split(video, path_split, segments, cb=None)

aom keyframes

Uses libaom 1 pass to generate a log file
get_aom_keyframes(video)
returns: list of keyframes

mkv keyframes

Uses ebml mkv header / ffmpeg to determine location of keyframes
get_mkv_keyframes(video)
returns: list of keyframes, total number of frames

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.