Coder Social home page Coder Social logo

luckykelfor / butterflow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dthpham/sminterpolate

0.0 2.0 0.0 1.8 MB

A tool to make motion interpolated and fluid slow motion videos from the command line.

License: MIT License

Python 75.85% C 5.70% C++ 12.92% Shell 5.53%

butterflow's Introduction

Butterflow

What it can do:

  1. Make motion interpolated videos, increase a video's frame rate by rendering new frames based on motion (uses a combination of pixel-warping and blending).
  2. Make smooth motion videos (simple blending between frames).
  3. Leverage interpolated frames to make fluid slow motion videos.

How it works:

BF works by rendering intermediate frames between existing frames using a process called motion interpolation. For example, given two existing frames, A and B, this program can generate frames C.1, C.2...C.n that are positioned between the two. In contrast to other tools that can only blend or dupe frames, this program warps pixels based on motion to generate new ones.

BF uses these interpolated frames to increase a video's frame rate, which can give the perception of smoother motion and more fluid animation, an effect that most people know as the "soap opera effect".

Here's a demo of BF leveraging motion interpolation to make a fluid slow motion video:

In this example, BF has slowed a 1s video down by 10x. An additional 270 frames were interpolated from 30 original source frames giving the video a smooth feel during playback. The same video was slowed down with FFmpeg alone (shown on the right-hand side), but because it dupes frames and can't interpolate new ones, the video has a noticeable stutter.

Here's another example of the same concept. Frame-stepping through the BF'd file would make the interpolated frames, marked Int: Y, more evident.

See: The script used to generate these demos.

How to install:

Important: BF only works on 64-bit systems.

  • Mac OS X: With Homebrew, brew install homebrew/science/butterflow.
  • Windows (Portable): Download butterflow-0.2.2.7z.
    • Sha256: cb228ea8674f6ff29573c4f0b00a0ff513420021b51648ed6aad3099505f0ba5
  • Arch Linux: A package is available in the AUR under butterflow.
  • From Source (Ubuntu, Debian): Refer to the Install From Source Guide for instructions.

Setup (for Linux users):

Note: No setup is necessary on OS X or Windows. Read this if you run into a problem with OpenCL on OS X.

BF requires no additional setup to use, however it's too slow out of the box to do any serious work. It's recommended that you set up a functional OpenCL environment on your machine so you can take advantage of hardware accelerated methods that will make rendering significantly faster.

See: Setting up OpenCL for details on how to do this.

Usage:

Run butterflow -h for a full list of options. See: Example Usage for typical commands.

More documentation:

Check the docs folder.

butterflow's People

Contributors

dthpham avatar norpol avatar zflamig avatar

Watchers

James Cloos avatar KelFor 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.