Natron

开源合成软件。基于 Node-graph。在功能上类似于 Adobe After Effects 和 The Foundry 的 Nuke。「Open-source compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.」

  • 所有者: NatronGitHub/Natron
  • 平台: Linux, Mac, Windows
  • 許可證: GNU General Public License v2.0
  • 分類:
  • 主題:
  • 喜歡:
    2
      比較:

Github星跟蹤圖

Natron

Natron 是免费的开源(GPLv2 许可证)视频合成软件,其功能类似于 Adobe After Effects、The Foundry 的 Nuke 或 Blackmagic Fusion。

它是可移植且跨平台的(GNU/Linux、OS X、Microsoft Windows)。

求助

Natron 正在寻找开发人员和维护人员。 如果您具有以下技能,则可以帮助开发和维护 Natron:

  • GitGitHub
  • C++ (Natron 源代码仍旧是 C++98,但是如果需要,切换到 C++11C++14 应该很简单。
  • 设计模式
  • Qt (Natron 仍使用 Qt4,因为 Qt5 中缺少对 PySide 的支持,应该在 Qt 5.12 发布后不久将其集成。)
  • OpenGL 的基本知识
  • Python 的基本知识。

有关更多信息,请参见下面的“贡献”部分。

如果您愿意提供帮助,请在 pixls.us Natron forum 上与开发团队联系。

特性

  • 32 位浮点线性彩色处理流水线。
  • 由 OpenColorIO 库处理的色彩空间管理。
  • 支持数十种文件格式:EXR,DPX,TIFF,JPG,PNG…感谢 OpenImageIO 和 FFmpeg。
  • 支持许多免费和开源的 OpenFX 插件:
  • 支持商业 OpenFX 插件:
  • OpenFX:目前支持 OpenFX v1.4 的几乎所有功能
  • 直观的用户界面:Natron 旨在通过提供直观而熟悉的用户界面来不改变习惯。可以在任意数量的屏幕上自定义和分离图形用户界面。您可以重新使用布局并共享布局文件(.nl)。
  • 性能:永远不要等待任何东西被渲染。在 Natron 中,由于其优化的多线程渲染管道以及对代理渲染的支持(即可以以较低的分辨率计算渲染管道以加快渲染速度),您所做的任何事情都会产生实时反馈。
  • 多任务:Natron 可以同时渲染多个图形。在没有任何显示支持的情况下(例如用于渲染场),它也可以在命令行模式下用作后台进程。
  • 从错误中轻松恢复:Natron 有时会崩溃。不用担心,自动保存系统会检测到不活动状态并为您自己保存工作。 Natron还提供了在单独的过程中渲染图形的选项,这意味着主应用程序中的任何崩溃都不会使正在进行的渲染崩溃(反之亦然)。
  • 用 XML 编写的项目格式,人类可以轻松编辑。
  • 快速且交互式的查看器 -- 即使对于非常大的图像尺寸(在 27k x 30k 图像上测试),也可以进行平滑且准确的缩放/平移。
  • 实时回放:Natron 凭借其 RAM/磁盘缓存技术提供了最佳性能的实时回放。渲染一帧后,即使是大尺寸图像,也可以在其后立即进行复制。
  • 较低的硬件要求:您只需要一个 x86 64位或32位处理器,至少 3GB 的 RAM 和一个支持 OpenGL 2.0 或 OpenGL 1.5 并带有某些扩展的图形卡。
  • 为您的视觉效果赋予动画效果:Natron 提供了一种简单而有效的方式来处理关键帧,它具有非常准确和直观的“曲线编辑器”以及可快速编辑运动图形的“摄影表”。
  • 用于执行项目文件的命令行工具。命令行版本在计算机上是可执行的,没有任何显示。因此,可以使用渲染场来渲染 Natron 的项目。
  • 旋转摄影,旋转绘画和跟踪支持
  • 多视图工作流:Natron 通过将所有视图保持在同一流中来节省时间。您可以随时使用 OneView 节点分隔视图。
  • Python 2 脚本集成:
  • 参数表达式
  • 用户定义的参数
  • 节点组作为 Python 脚本
  • 脚本编辑器可整体控制应用程序
  • 用户定义的 python 回调,用于响应软件内部的特定检查点(更改参数,渲染框架之前等)。
  • Pyside 与 GUI 的集成,因此该界面可通过新菜单和窗口扩展
  • 多平面:由于有了 OpenImageIO,Natron 能够处理多层 EXR 文件。它已被深度集成到工作流中,用户可以选择在任何节点上的任何层(或平面)上工作。也可以创建新的自定义层。

要求

一台运行受支持的操作系统(GNU/Linux、OS X、Microsoft Windows)和 32 位 x86 或 64 位 x86-64 处理器的计算机。

要运行具有硬件加速渲染功能的 Natron(2.1+),需要兼容 OpenGL 2.0 的图形卡。其他图形卡只能用于软件渲染(请参见下文)。

支持以下图形卡进行硬件加速渲染:

  • 英特尔 GMA 3150(仅 Linux)
  • 英特尔 GMA X3xxx(仅 Linux)
  • 英特尔 GMA X4xxx(Windows 7 和 Linux)
  • 英特尔高清(Ironlake)(Windows 7和Linux)
  • Intel HD 2000/3000(Sandy Bridge)(Windows 7 / Linux / Mac)
  • Intel HD 4000 及更高版本(所有平台)
  • Nvidia GeForce 6 系列及更高版本
  • Nvidia Quadro FX 及更高版本
  • Nvidia Quadro NVS 285 及更高版本
  • ATI/AMD Radeon R300 及更高版本
  • ATI/AMD FireGL T2-64 及更高版本(FirePro)

在 Windows 和 Linux 上,您可以启用软件渲染。在 Linux 上,在运行 Natron 之前启用环境变量 LIBGL_ALWAYS_SOFTWARE=1。在 Windows 上,在安装程序中启用旧版硬件软件包。

安装

二进制发布包

Natron 用于 GNU/LinuxWindowsmacOS 的独立二进制发行版可从 SourceForge(仅发行版和示例)或 Natron 网站上获得。这些发行版包含 Natron 和三组基本的 OpenFX 插件:

对于每种体系结构/操作系统,您都可以下载稳定版本,候选版本(如果可用)或最新快照之一。请注意,快照包含最新功能和错误修复,但可能不稳定。

从源代码构建和安装

这里有关于构建 Natron 的说明,并且从源头开始的基本插件是各种架构/操作系统上的该目录:

该文档可能有些过时,所以请毫不犹豫地提交更新的构建说明,尤其是对于各种 GNU/Linux发行版。

自动构建脚本

有用于 GNU/LinuxOS XWindows 的自动构建脚本,用于构建二进制发行版和快照。

这些脚本在运行每个操作系统特定版本的虚拟机上运行,并且设置这些脚本比上述基本构建更为复杂。

对于 GNU/LinuxOS XWindows,有一些文档可能已过时。

计划功能

  • 光流节点:VectorGenerator,MotionBlur,RollingShutter,Retiming
  • 3D工作区:支持相机,3D卡,测绘相机,3D跟踪器
  • 自然消光:无需绿色/蓝色屏幕作为背景就提取前景的过程
  • 深度数据:支持深度数据(每个像素多个样本)
  • 另请参阅https://github.com/NatronGitHub/Natron/wiki/Google...

贡献

举手之劳的事情

您应该通过首先选择一个简单的任务,然后逐渐执行更困难的任务来开始为Natron项目做贡献。以下是一些示例任务,按难度顺序(从0到10):

2:pyplugs,shadertoys(仍然有开发者,请参见https://github.com/NatronGitHub/natron-plugins)
4:编写一个OpenFX插件,从openfx-misc中的示例开始,或者从官方OpenFX实例开始,例如,尝试使用广泛使用的PyPlug制作OpenFX插件。社区中有一些OFX插件开发人员。
5:在任何系统上本地构建Natron
7:编译可再发行的Natron二进制文件(Linux更加容易,因为我们使用构建脚本来构建和交付大多数依赖项)
9:修复一个简单的Natron错误
10:向Natron添加新功能(请参阅问题)

后勤

我们通过 GitHub issue tracker 协调开发。

主要的开发分支称为 "master" 。稳定版本在分支 RB-2.3 上。

此外,受支持的每个稳定版本都有自己的分支。例如 v1.0 的稳定版本。并且其所有错误修复均应进入该分支。在某个时候,不再受支持的版本将从 github 的分支中删除,并且此时只有一个 release 标签可用于获取源代码。

随时报告错误,讨论任务或在那接手工作。如果要进行更改,请分叉,编辑并向我们发送拉取请求,最好在 "RB-2.3" 分支上。

根目录中有一个 .git-hooks 目录。它包含一个预提交钩子,该钩子在接受更改之前会验证代码样式。您可以将其添加到本地存储库的 .git/hooks/ 目录中,如下所示:

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

在手动格式化和修改变更集之后,与项目代码风格不匹配的拉请求仍然有可能被接受。格式化工具(astyle)是完全自动化的;请试着用一下。


(The first version translated by vz on 2020.07.26)

概覽

名稱與所有者NatronGitHub/Natron
主編程語言C++
編程語言Shell (語言數: 17)
平台Linux, Mac, Windows
許可證GNU General Public License v2.0
發布數70
最新版本名稱windows-mingw-package-repo (發布於 )
第一版名稱v0.9.3 (發布於 )
創建於2018-01-10 10:15:28
推送於2024-04-04 13:53:57
最后一次提交2021-03-28 21:51:20
星數4.4k
關注者數105
派生數318
提交數14.6k
已啟用問題?
問題數708
打開的問題數231
拉請求數203
打開的拉請求數3
關閉的拉請求數42
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

Natron GPL2 License Contributor Covenant Open Hub Build Status Coverage Status Coverity Scan Build Status Documentation Status Packaging status BountySource Status

Natron is a free open-source (GPLv2 license) video compositing
software, similar in functionality to Adobe After Effects, Nuke by The
Foundry, or Blackmagic Fusion.

It is portable and cross-platform (GNU/Linux, OS X, Microsoft Windows).

Help wanted

Natron is looking for developers and maintainers. You can help developing and maintaining 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

  • 32-bit floating point linear colour processing pipeline.

  • Colorspace management handled by the OpenColorIO library.

  • Dozens of file formats supported: EXR, DPX,TIFF, JPG, PNG…thanks to OpenImageIO and FFmpeg.

  • Support for many free and open-source OpenFX plugins:

  • Support for commercial OpenFX plugins:

  • OpenFX: Currently almost all features of OpenFX v1.4 are supported

  • Intuitive user interface: Natron aims not to break habits by providing an intuitive and familiar user
    interface. It is possible to customize and separate the graphical user interface on any number of screens.
    You can re-use your layouts and share your layout files (.nl).

  • Performance: Never wait for anything to be rendered. In Natron, anything you do produces
    real-time feedback thanks to its optimised multi-threaded rendering pipeline and its support for proxy rendering (i.e the render pipeline can be computed at lower res to speed-up rendering).

  • Multi-task: Natron can render multiple graphs at the same time. It can also be used
    as a background process in command-line mode without any display support (e.g. for render farm purpose).

  • Recover easily from bugs: Natron sometimes crashes. Fear not, an auto-save system
    detects inactivity and saves your work for yourself. Also Natron provides the option to render
    a graph in a separate process, meaning that any crash in the main application
    would not crash the ongoing render (and the other way around).

  • Project format written in XML and easily editable by humans.

  • Fast & interactive Viewer - Smooth & accurate zooming/panning even for very large image sizes
    (tested on 27k x 30k images).

  • Real-time playback: Natron offers a real-time playback with best performances thanks to its
    RAM/Disk cache technology. Once a frame is rendered, it can be reproduced instantly afterwards, even
    for large image sizes.

  • Low hardware requirements: All you need is an x86 64 bits or 32 bits processor, at least
    3 GB of RAM and a graphic card that supports OpenGL 2.0 or OpenGL 1.5 with some extensions.

  • Animate your visual effects: Natron offers a simple and efficient way to deal with keyframes
    with a very accurate and intuitive Curve Editor as well as a Dope Sheet to quickly edit your motion graphics.

  • Command line tool for execution of project files. The command line version is executable
    on a computer without any display. Hence it is possible to use a render farm
    to render Natron's projects.

  • Rotoscoping, rotopainting and tracking support

  • Multi-view workflow: Natron saves time by keeping all the views in the same stream. You can separate
    the views at any time with the OneView node.

  • Python 2 scripting integration:

    • Parameters expressions
    • User-defined parameters
    • Nodes groups as Python scripts
    • Script editor to control the application overall
    • User-defined python callbacks to respond to particular checkpoints of the internals of the software (change of a parameter, before rendering a frame, etc…)
    • Integration of Pyside to the GUI so that the interface is extensible with new menus and windows
  • Multi-plane: Natron is able to deal with multi-layered EXR files thanks to OpenImageIO. It is deeply integrated into the workflow and the user can choose to work with any layer (or plane) on any node. New custom layers can also be created.

Requirements

A machine running one of the supported operating systems (GNU/Linux, OS X,
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:

  • Intel GMA 3150 (Linux-only)
  • Intel GMA X3xxx (Linux-only)
  • Intel GMA X4xxx (Windows 7 & Linux)
  • Intel HD (Ironlake) (Windows 7 & Linux)
  • Intel HD 2000/3000 (Sandy Bridge) (Windows 7/Linux/Mac)
  • Intel HD 4000 and greater (All platforms)
  • Nvidia GeForce 6 series and greater
  • Nvidia Quadro FX and greater
  • Nvidia Quadro NVS 285 and greater
  • ATI/AMD Radeon R300 and greater
  • ATI/AMD FireGL T2-64 and greater (FirePro)

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 from SourceForge (releases and examples only) or from the Natron web site. These distributions contain Natron and three basic sets of OpenFX plugins:

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

There are automatic build scripts for GNU/Linux, OS X, and Windows, which are used to build the binary distributions and the snapshots.

These scripts are run on virtual machines running a specific version of each operating system, and setting these up is more complicated than for the basic builds described above.

There is some documentation, which is probably outdated, for GNU/Linux, OS X, and Windows.

Planned features

  • Optical Flow nodes: VectorGenerator, MotionBlur, RollingShutter, Retiming

  • 3D workspace: support for Cameras, 3D Cards, Camera mapping, 3D tracker

  • Natural matting: process of extracting a foreground without necessarily a green/blue-screen as background

  • Deep data: Support for deep data (multiple samples per pixel)

  • See also https://github.com/NatronGitHub/Natron/wiki/Google-Summer-of-Code-GSoC-ideas

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):

  • 2: pyplugs, shadertoys (there are still developers for these, see https://github.com/NatronGitHub/natron-plugins )
  • 4: write an OpenFX plugin, starting from an example in openfx-misc or from the official OpenFX examples, for example try to make an OpenFX plugin from a widely-used PyPlug. There are a few OFX plugin developers in the community.
  • 5: build Natron locally (on any system)
  • 7: compile a redistributable Natron binary (Linux is easier, since we build and ship most dependencies using the build scripts)
  • 9: fix a simple Natron bug
  • 10: add new functionality to Natron (see issues)

Logistics

We coordinate development through the GitHub issue
tracker
.

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

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, version which are 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.3"
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 like:

$ 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.

去到頂部