GithubHelp home page GithubHelp logo

framer's Introduction

Framer

Pick the best frame from every second of video, for an extremely naive definition of best. There are two filtering options available. By default the script uses edge detection, however when using compressed image types, you may want to use image size as a fast a dirty approiximation for clarity.

$ ./framer.sh
Usage: framer.sh [-f <edges|size>] [-o <output_path>] [-t <jp[e]g|p[i]ng|tif[f]>] -i <input_file>

$ ./framer.sh -i input.mov # generate ping frames using image edges
$ ./framer.sh -f edges -t tif -i input.mov # generate tiff frames using image edges
$ ./framer.sh -f size -t jpg -i input.mov # generate jpeg frames using image size
$ ./framer.sh -f size -t png -i input.mov # generate ping frames using image size

Runtime Dependencies

  1. *nixish environment
  2. ffmpeg
  3. imagemagick
  4. GNU Parallel

Installation

Using the Homebrew package manager

  1. Open Terminal.app on macOS, or equivalent on any other *nixish platform

  2. Install Homebrew by following the instructions @ https://brew.sh/

  3. In the terminal type:

    $ brew install ffmpeg imagemagick parallel git
    
  4. Download framer from https://github.com/ryanbooker/Framer/archive/master.zip, and unzip it in your home folder (or wherever you want to install it)

    Or in the terminal type:

    git clone https://github.com/ryanbooker/Framer.git ~/framer
    
  5. Run framer as described in the first section, above. Enjoy. :)

Using the Nix package manager

  1. Open Terminal.app on macOS, or equivalent on any other *nixish platform

  2. Install Nix by following the instructions @ https://nixos.org/nix/

  3. Download framer from https://github.com/ryanbooker/Framer/archive/master.zip, and unzip it in your home folder (or wherever you want to install it)

    Or in the terminal type:

    git clone https://github.com/ryanbooker/Framer.git ~/framer
    
  4. Run framer as described in the first section, above. Either via the nix-shell command

    $ nix-shell --run "./framer.sh -i input.mov"
    

    Or inside an actual nix-shell

    $ nix-shell
    [nix-shell]$ ./framer.sh -i input.mov
    

framer's People

Contributors

ryanbooker avatar pimbongaerts avatar

Watchers

 avatar James Cloos avatar

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.