Code Monkey home page Code Monkey logo

keyframer's Introduction

Keyframer

A CLI tool to extract and present key frames from videos by sequentially comparing histograms.

Dependencies

Setup

pip install -r "requirements.txt"

Usage

python keyframer.py INPUT [OPTIONS]

usage: keyframer.py [-h] [-o OUTPUT] [-i INTERVAL] [-f {jpg,png,bmp}]
                    [-s {low,normal,high}] [-p] [-g GRIDSIZE GRIDSIZE]
                    INPUT

positional arguments:
  INPUT                 Input file or directory containing videos to be
                        processed.

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Output directory.
  -i INTERVAL, --interval INTERVAL
                        Get key frames every x seconds rather than through
                        comparison.
  -f {jpg,png,bmp}, --format {jpg,png,bmp}
                        Format of image frames.
  -s {low,normal,high}, --sensitivity {low,normal,high}
                        Sensitivity of comparison (higher is stricter).
                        Defaults to normal.
  -p, --purge           Remove frame and keyframe images to save space during
                        large processes.
  -g GRIDSIZE GRIDSIZE, --gridsize GRIDSIZE GRIDSIZE
                        Grid size of pdf image generated (WIDTH, HEIGHT).
                        Defaults to 3 by 3.

TODO

  • Potentially use threading to speed up frame r/w, or other solutions
  • Improve key frame detection
  • Option to get key frames every x seconds rather than by comparison
  • Option to only get pdf (avoid storage issues when working with large files or batch processing)
  • End result formats other than pdf
  • Explore realtime scene change detection (ie directly grab key frames from a video to avoid writing 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.