Skip to content

WackyPyWebM is a tool that allows you to create WebM videos with changing aspect ratios.

License

Notifications You must be signed in to change notification settings

iAmNikola/WackyPyWebM

Repository files navigation


Project license Pull Requests welcome code with love by iAmNikola

Table of Contents

About

WackyPyWebM is a tool that allows you to create WebM videos with changing aspect ratios.

This is a Python implementation of OIRNOIR's WackyWebM in hopes of making the tool more accessible.

The current implementation is 5-10% faster then its javascript counterpart.

Getting Started

Prerequisites

Installation

If you don't want to use console commands skip this part and go to Usage.

Install required python packages by running this command:

pip install -r requirements_no_term.txt

You can also install requirements.txt instead if you plan on running Terminal UI in the future

Note: Using a virtual environment is highly recommended.

Usage

You can use this tool in two different ways.

  1. Terminal UI
  2. Console commands

Terminal UI

You can run Terminal UI by running one of the run scripts. If you are on Windows double-click run.bat. Otherwise, type bash run.sh or sh run.sh in the terminal.

Console commands

If you want full control, console commands are the way to go about using WackyPyWebM.

  • Create a webm with the bounce effect applied to it.

    python wackypywebm.py path/to/video.mp4
  • Create a webm with the shrink effect applied to it.

    python wackypywebm.py path/to/video.mp4 shrink
  • Create a webm with the shutter and audiobounce effects applied to it.

    python wackypywebm.py path/to/video.mp4 shutter+audiobounce
  • Create a webm with the rotate effect applied to it, rotating 50 degrees per second.

    python wackypywebm.py path/to/video.mp4 rotate --angle 50
  • Create a webm with the bounce effect applied to it, bouncing with a speed of 3, outputting the video to a custom path and using 8 threads in the process.

    python wackypywebm.py path/to/video.mp4 --tempo 3 --output path/to/output/video.webm --threads 8
  • Create a webm with the keyframes effect applied to it, using the keyframes from the provided file.

    python wackypywebm.py path/to/video.mp4 keyframes --keyframes path/to/keyframes.txt

Note: Run python wackypywebm.py --help for a full list of options.

Modes

  • bounce (Default): The video's height periodically increases and decreases.
  • shutter: The video's width periodically increases and decreases.
  • sporadic: The video glitches and wobbles randomly.
  • shrink: The video shrinks vertically from full height to just one pixel over its entire duration.
  • audiobounce: The video's height changes relative to the current audio level compared to the highest within the video.
  • audioshutter: The video's width changes relative to the current audio level compared to the highest within the video.
  • keyframes: The video's height and width change based on a number of keyframes outlined in the file given as an argument. The format for said file is Described Here.

Support

Reach out by opening a support question at GitHub issues

Project assistance

If you want to say thank you or/and support active development of WackyPyWebM star the project.

Contributing

First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please read our contribution guidelines, and thank you for being involved!

Authors & contributors

The original setup of this repository is by Nikola Damjanović.

For a full list of all authors and contributors, see the contributors page.

License

This project is licensed under the GPL-3.0 license.

See LICENSE for more information.

Acknowledgements

OIRNOIR's WackyWebM - The original tool on which this one is based on, with personal touches and improvements.

About

WackyPyWebM is a tool that allows you to create WebM videos with changing aspect ratios.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks