Natron
Natron 是免费的开源(GPLv2 许可证)视频合成软件,其功能类似于 Adobe After Effects、The Foundry 的 Nuke 或 Blackmagic Fusion。
它是可移植且跨平台的(GNU/Linux、OS X、Microsoft Windows)。
- 主页:https://natrongithub.github.io
- 源代码:https://github.com/NatronGitHub/Natron
- 论坛:https://discuss.pixls.us/c/software/natron
- 用户文档:https://natron.readthedocs.io/
求助
Natron 正在寻找开发人员和维护人员。 如果您具有以下技能,则可以帮助开发和维护 Natron:
- Git 和 GitHub
- C++ (Natron 源代码仍旧是 C++98,但是如果需要,切换到 C++11 或 C++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 插件:
- TuttleOFX
- OpenFX-IO 可以读取除标准8位图像以外的任何内容
- OpenFX-Misc
- OpenFX-Vegas SDK samples
- OpenFX samples(在“Support”和“Examples”目录中)
- 支持商业 OpenFX 插件:
- All OFX products from RevisionFX
- Furnace by The Foundry
- KeyLight by The Foundry
- GenArts Sapphire
- Other GenArts products
- 还有很多。请告诉我们您是否成功测试了其他商业插件。
- 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/Linux、Windows 和 macOS 的独立二进制发行版可从 SourceForge(仅发行版和示例)或 Natron 网站上获得。这些发行版包含 Natron 和三组基本的 OpenFX 插件:
对于每种体系结构/操作系统,您都可以下载稳定版本,候选版本(如果可用)或最新快照之一。请注意,快照包含最新功能和错误修复,但可能不稳定。
从源代码构建和安装
这里有关于构建 Natron 的说明,并且从源头开始的基本插件是各种架构/操作系统上的该目录:
该文档可能有些过时,所以请毫不犹豫地提交更新的构建说明,尤其是对于各种 GNU/Linux发行版。
自动构建脚本
有用于 GNU/Linux、OS X 和 Windows 的自动构建脚本,用于构建二进制发行版和快照。
这些脚本在运行每个操作系统特定版本的虚拟机上运行,并且设置这些脚本比上述基本构建更为复杂。
对于 GNU/Linux、OS X 和 Windows,有一些文档可能已过时。
计划功能
- 光流节点: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)