NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.64k stars 338 forks source link

Natron

GPL2 License Contributor Covenant Build Status Coverage Status Documentation Status Packaging status OpenHub


Natron is a free, open-source (GPLv2 license) video compositor, similar in functionality to Adobe After Effects, Foundry's Nuke, or Blackmagic Fusion. It is portable and cross-platform (GNU/Linux, macOS, and Microsoft Windows).

Help wanted

Natron is looking for developers and maintainers! You can help develop and maintain Natron if you have the following skills:

For more information, see the "Contributing" section below.

If you are willing to help, please contact the development team on the pixls.us Natron forum.

Features

Requirements

A machine running one of the supported operating systems (GNU/Linux, macOS, Microsoft Windows), and a 32-bits x86 or 64-bits x86-64 processor.

An OpenGL 2.0 compatible graphics card is needed to run Natron (2.1+) with hardware-accelerated rendering. Other graphics cards work with software-only rendering (see below).

The following graphics cards are supported for hardware-accelerated rendering:

On Windows and Linux you can enable software rendering. On Linux, enable the environment variable LIBGL_ALWAYS_SOFTWARE=1 before running Natron. On Windows, enable the legacy hardware package in the installer.

Installing

Binary distribution

Standalone binary distributions of Natron are available for GNU/Linux, Windows, and macOS on GitHub, or from the Natron web site. These distributions contain Natron and four included sets of OpenFX plugins:

Alternatively, on Linux systems you can install Natron through flatpak: flatpak install fr.natron.Natron

For each architecture / operating system, you can either download a stable release, a release candidate (if available), or one of the latest snapshots. Note that snapshots contain the latest features and bug fixes, but may be unstable.

Building and installing from source

There are instructions for building Natron and the basic plugins from source is this directory on various architectures / operating systems:

This documentation may be slightly outdated, so do not hesitate to submit updated build instructions, especially for the various GNU/Linux distributions.

Automatic build scripts & other development tools

These can be found in tools/README.md

These scripts run on virtual machines running a specific operating system, setting these up is more complicated than the basic build process linked above.

Contributing

Low hanging fruits

You should start contributing to the Natron project by first picking an easy task, and then gradually taking more difficult tasks. Here are a few sample tasks, by order of difficulty (from 0 to 10):

Logistics

We coordinate development through the GitHub issue tracker.

The main development branch is called "master". The stable version is on branch RB-2.5.

Additionally, each stable release supported has a branch on its own. For example, the stable release of the v1.0. and all its bug fixes should go into that branch. At some point, a version that is no longer supported will get removed from GitHub's branches and only a release tag will be available to get the source code at that point.

Feel free to report bugs, discuss tasks, or pick up work there. If you want to make changes, please fork, edit, and send us a pull request, preferably on the "RB-2.5" branch.

There's a .git-hooks directory in the root. This contains a pre-commit hook that verifies code styling before accepting changes. You can add this to your local repository's .git/hooks/ directory by doing the following:

cd Natron
mkdir .git/hooks
ln -s ../../.git-hooks/pre-commit .git/hooks/pre-commit

Pull requests that don't match the project code style are still likely to be accepted after manually formatting and amending your changeset. The formatting tool (astyle) is completely automated; please try to use it.