Natron (logiciel)

logiciel de post-production vidéo
Natron
Description de l'image Natron icon.svg.
Description de l'image Natron screenshot 20141220.png.
Informations
Développé par Alexandre Gauthier, Frédéric Devernay
Première version le 22 octobre 2014, il y a 5 ans
Dernière version 2.3.15 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/NatronGitHub/NatronVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en Python, C++ et QtVoir et modifier les données sur Wikidata/ QtVoir et modifier les données sur Wikidata
Supporte les langages / QtVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows, macOS, FreeBSD et LinuxVoir et modifier les données sur Wikidata
Type Logiciel de compositing (en)Voir et modifier les données sur Wikidata
Politique de distribution Gratuit (logiciel libre)
Licence Licence publique générale GNUVoir et modifier les données sur Wikidata
Site web NatronGitHub.github.ioVoir et modifier les données sur Wikidata

Natron est un logiciel libre de compositing nodal open-source.

Se situant dans la lignée des logiciels de trucage nodaux (SoftEddie, Avid Media Illusion, Apple Shake, Blackmagic Fusion, Autodesk Flame), il est largement inspiré de Nuke dont il reprend de nombreux concepts et s'inspire pour son interface.

Natron supporte les plugin OpenFX 1.4, beaucoup de plugin open-source et commerciaux sont supportés.

Origine du nomModifier

Natron tirerait son nom du Lac Natron en Tanzanie qui, selon Alexandre Gauthier, le principal programmeur du logiciel, créerait naturellement des effets spéciaux[2].

HistoireModifier

Alexandre Gauthier a démarré la programmation de Natron en en tant que projet personnel. Le projet a remporté l'édition 2013 du concours Boost Your Code de l'Inria. Le prix offrait 12 mois de développement payé pour le logiciel.

La première release publique fut la version 0.92 (sortie le ), qui offrait des fonctionnalités telles que la rotoscopie ou l'incrustation[3]. Les versions suivantes apportèrent de nouvelles fonctionnalités telles que le flou de mouvement, la gestion des couleurs via OpenColorIO et le tracking vidéo.

La version 1.0 est sortie le [4] en même temps qu'un projet exemple par François "CoyHot" Grassard, artiste et enseignant, démontrant que Natron peut exécuter interactivement des graphes avec plus de 100 nodes. En le département ATI (Arts et Technologies de l'image) de l'université Paris 8 a annoncé qu'ils se baseraient désormais sur des logiciels libres de qualité professionnelle tels que Blender, Krita et Natron pour leur enseignement[5],[6]

Le logiciel n'ayant plus de financement public le logiciel cherche à continuer à exister au travers de sa communauté[7].

LicenceModifier

Avant la version 2.0, Natron utilisait la Mozilla Public License version 2.0, qui autorisait sa distribution avec des plugins qui n'étaient pas open source.

Depuis la version 2.0, la GNU General Public License (GPL) version 2 ou ultérieure est employée. Donc tous les plugins distribués avec les binaires doivent être compatibles avec la GPL. Les autres plugins, notamment closed source, ou les commerciaux peuvent néanmoins toujours être utilisés tant qu'ils sont distribués séparément (même si théoriquement la GPL n'autorise pas l'appel ou le chargement de plugin non open-source[8][source insuffisante]).

Blender, un autre logiciel open source d'effets spéciaux et de composition utilise également la licence GPL.

Les données générées par ces logiciels n'ont pas besoin d'être distribuées selon les termes de la GPL et les utilisateurs desdits logiciels peuvent très bien mettre un copyright sur leurs créations et/ou les utiliser dans un but commercial.

FonctionnalitésModifier

HardwareModifier

Moteur de renduModifier

OutilsModifier

  • Transformations d'image (position, rotation, taille, torsion).
  • Tracking et stabilisation multipoint.
  • Incrustation : Keyer, Chroma Keyer, Difference Keyer, Hue Keyer, PIK Keyer.
  • Paint : Solid, Pencil, Eraser, Clone, Reveal, Blur, Smear, Dodge, Burn.
  • Rotoscopie manuelle en utilisant des courbes de Bézier.
  • Effets standards de la post-production numérique (étalonnage, filtres, générateurs, etc.).
  • Animation des paramètres en keyframe (positions intermédiaires) et des Polynômes de Bernstein (la formule utilisée par les courbes de Bézier) pour l'interpolation.
  • Editeur de courbes d'animation : Curve Editor.
  • Editeur de clés d'animation : Dope Sheet.
  • Support de la stéréoscopie et du traitement multi-vues.

AvancéModifier

  • Support du rendu en ligne de commande, notamment pour calculer sur des fermes de rendu.
  • Projets sauvegardés au format XML, facilement lisibles et éditables en cas de besoin.
  • Presets import/export au format XML.
  • Langage de script Python (Python 2.7).
  • Langage de script SeExpr (Walt Disney Animation Studios).
  • Langage de script WebGL 1.0 (Shadertoy) pour développement d'effets visuels 2D/3D accélérés hardware.
  • Interface personnalisable.
  • Système de PyPlugs (équivalent des Gizmos de Nuke).

EffetsModifier

ImageModifier

  • CheckerBoard
  • ColorBars
  • ColorWheel
  • Constant
  • OpenRaster
  • Read
  • ReadCDR
  • ReadFFmpeg
  • ReadKrita
  • ReadMisc
  • ReadOIIO
  • ReadPDF
  • ReadPFM
  • ReadPNG
  • ReadPSD
  • ReadSVG
  • RunScript
  • Solid
  • Write
  • WriteFFmpeg
  • WriteOIIO
  • WritePFM
  • WritePNG

DrawModifier

  • LightWrap
  • Noise
  • Plasma
  • Radial
  • Ramp
  • Rand
  • Rectangle
  • Roto
  • RotoPaint
  • SeGrain
  • SeNoise
  • Text

TimeModifier

  • AppendClip
  • Deinterlace
  • FrameBlend
  • FrameHold
  • FrameRange
  • NoTimeBlur
  • Retime
  • SlitScan
  • TimeBlur
  • TimeOffset

ChannelModifier

  • Shuffle

ColorModifier

  • Add
  • Clamp
  • ClipTest
  • ColorCorrect
  • ColorLookup
  • ColorMatrix
  • ColorSuppress
  • Equalize
  • Gamma
  • Grade
  • HSIToRGB
  • HSLToRGB
  • HSVToRGB
  • HSVTool
  • HistEQ
  • HueCorrect
  • Invert
  • LabToRGB709
  • LabToXYZ
  • Log2Lin
  • Multiply
  • OCIOCDLTransform
  • OCIOColorSpace
  • OCIODisplay
  • OCIOFileTransform
  • OCIOLogConvert
  • OCIOLookTransform
  • PLogLin
  • Quantize
  • RGB709ToLab
  • RGB709ToXYZ
  • RGBToHSI
  • RGBToHSL
  • RGBToHSV
  • RGBToYCbCr601
  • RGBToYCbCr709
  • RGBToYPbPr601
  • RGBToYPbPr709
  • RGBToYUV601
  • RGBToYUV709
  • Saturation
  • VectorToColor
  • XYZToLab
  • XYZToRGB709
  • XYZToxyY
  • YCbCrToRGB601
  • YCbCrToRGB709
  • YPbPrToRGB601
  • YPbPrToRGB709
  • YUVToRGB601
  • YUVToRGB709
  • xyYToXYZ

FilterModifier

  • AngleBlur
  • Bloom
  • Blur
  • ChromaBlur
  • DenoiseSharpen
  • Dilate
  • DirBlur
  • Distance
  • DropShadow
  • EdgeBlur
  • EdgeDetect
  • EdgeExtend
  • Erode
  • ErodeBlur
  • ErodeSmooth
  • Fill
  • GMICExpr
  • Glow
  • GodRays
  • Inpaint
  • Laplacian
  • Matrix3x3
  • Matrix5x5
  • Median
  • Shadertoy
  • Sharpen
  • SharpenInvDiff
  • SharpenShock
  • SmoothAnisotropic
  • SmoothBilateral
  • SmoothBilateralGuided
  • SmoothGuided
  • SmoothPatchBased
  • SmoothRollingGuidance
  • Soften
  • ZMask
  • ZRemap

KeyerModifier

  • ChromaKeyer
  • Despill
  • Difference
  • HueKeyer
  • Keyer
  • MatteMonitor
  • PIK
  • PIKColor

MergeModifier

  • Absminus
  • ContactSheet
  • CopyRectangle
  • Dissolve
  • In
  • KeyMix
  • LayerContactSheet
  • Matte
  • Max
  • Merge
  • Min
  • Multiply
  • Out
  • Plus
  • Premult
  • RotoMerge
  • Screen
  • SeExpr
  • SeExprSimple
  • Switch
  • TimeDissolve
  • Unpremult

TransformModifier

  • AdjustRoD
  • Card3D
  • CornerPin
  • CornerPinMasked
  • Crop
  • IDistort
  • LensDistortion
  • Mirror
  • Position
  • Reformat
  • Resize
  • STMap
  • SpriteSheet
  • Tracker
  • Transform
  • TransformMasked

ViewsModifier

  • Anaglyph
  • JoinViews
  • MixViews
  • OneView
  • SideBySide

OtherModifier

  • Backdrop
  • DiskCache
  • Dot
  • Group
  • ImageStatistics
  • Input
  • NoOp
  • Output
  • Precomp

CommunityModifier

ExtraModifier

  • Arc
  • Charcoal
  • Edges
  • Implode
  • Modulate
  • Oilpaint
  • Polar
  • Polaroid
  • Reflection
  • Roll
  • Sketch
  • Swirl
  • Texture
  • Tile
  • Wave

ShadertoyModifier

BlurModifier

  • Bilateral
  • Bloom
  • Bokeh Disc
  • Circular Blur
  • Fast Blur
  • Gaussian Blur
  • HDR Bloom
  • Mipmap Blur
  • Monte-Carlo Blur
  • Poisson Disc
  • Simple Radial Blur

EffectModifier

  • Anaglyphic
  • Ball
  • Barrel Blur Chroma
  • Bloom Paint
  • C64
  • Chromatic Aberration
  • CMYK Halftone
  • CRT
  • DawnBringer 4bit
  • Film Grain
  • Fisheye
  • Glitch 01
  • Glitch 02
  • Glitch A
  • Glitch B
  • Image Cel Shade
  • Kaleidoscope
  • Lumidots
  • Median Filter
  • Money Filter
  • Noisy Distortion
  • Old Video
  • Quad Mirror
  • Postprocessing
  • Q*Bert-ify
  • Sharpen
  • Stripes
  • TV Snow
  • Van Gogh

SourceModifier

  • Bleepy Blocks
  • Bubbles
  • Cellular
  • Checkerboard
  • Cloud
  • Cloudy Sky
  • Color Grid
  • Coloured Circles
  • Deform Flower
  • Disks
  • Dot Dot Dot
  • Fireball
  • Fireball2
  • Flaring
  • Flash
  • Basic Fractal
  • Fractal Tiling
  • Juliasm
  • Julia Bulb
  • Julia Trap
  • Mandelbrot Distance
  • Mandelbrot Orbit Trap
  • Glowing Thing
  • Infinite Fall
  • Input Time
  • Interstellar
  • Interweaving Sine bands
  • Coral
  • Guts
  • Inversion
  • Shiny
  • Trigonometric
  • Worms
  • Lens Flare
  • Noise
  • Noise Animation Electric
  • Noise Animation Lava
  • Noise Animation Watery
  • Plasma Triangle
  • Seascape
  • Silexars Creation
  • Simple Fire
  • Sky at Night
  • Spiral
  • Star Nest
  • Venus
  • Voronoi
  • Procedural 1
  • Procedural 2
  • Procedural 3
  • Procedural 4

WarpingModifier

  • Warp
  • Texture

DiversModifier

  • Noise Blur
  • Notebook Drawings
  • Plasma 2
  • Star Tunnel

PluginsModifier

OpenFx open-sourceModifier

OpenFx commerciauxModifier

VersionsModifier

Version 2.0.0Modifier

date de sortie : 13-03-2016

Correctifs / nouveautés :

  • Python : Les PyPlugs peuvent désormais être utilisés pour créer des toolsets, tels que Split And Join dans les menus "Views".
  • HSVTool : nouvelle fonction "analysis" pour régler les couleurs en entrée.
  • Amélioration des performances de la fenêtre de navigation de fichiers.
  • Windows : Dans la fenêtre de dialogue, il est désormais possible de lister tous les disques disponibles sur le système.
  • Nouveau panneau de progression de rendu, avec les options suivantes : Cancel, Queue, Pause, Restart.
  • Amélioration importante de la vitesse en lecture/écriture des fichiers EXR.
  • Amélioration des performances des nodes ReadFFMPEG et WriteFFMPEG.
  • WriteFFMPEG : interface améliorée listant les différents formats et codecs.
  • Le rafraichissement du viewer peut désormais être mis en pause.
  • Interface utilisateur améliorée.
  • Amélioration importante de la réactivité de l'éditeur de courbes d'animation lors de la manipulation de plusieurs milliers d'images clé.
  • Le niveau de zoom de la "Dope Sheet" est désormais cohérent, même avec les images fixes.
  • Sur les écrans high DPI, l'interface s'affiche désormais correctement (Linux/Windows).
  • Windows : les chemins de fichiers comportant des caractères non ASCII sont désormais enregistrés correctement.
  • Windows : la lecture/écriture sur un réseau partagé fonctionne désormais correctement.
  • Les paramètres de valeur peuvent désormais être définis par des expressions en Python.
  • Nouveau projet démo de Francois Grassard disponible sur downloads.natron.fr. Il contient un projet complet mettant en avant l'utilisation d'un node-graph complexe, avec utilisation de PyPlugs.

Plugins :

  • Nouveau plugin "Glow".
  • Nouveau plugin "Bloom".

Sources :

Version 2.0.1Modifier

date de sortie : 18-03-2016

Correctifs / nouveautés :

  • Amélioration importante des performances des nodes ReadFFMPEG et WriteFFMPEG.
  • Meilleure stabilité de l'application.
  • Bug corrigé : Roto : interaction avec le feather.
  • Bug corrigé : Roto : il est désormais possible d'ajouter des points à une roto en appuyant sur CTRL+ALT+clic.
  • Bug corrigé : Roto : l'application plantait lorsque n'importe quel paramètre d'une roto était animé.
  • Bug corrigé : Python : l'argument saveProject(filename) était ignoré.
  • Python : possibilité d'interroger active project (top level window) grâce à la fonction NatronEngine.natron.getActiveInstance().

Version 2.0.2Modifier

date de sortie : 19-04-2016

Correctifs / nouveautés :

  • Correction de divers bugs et problèmes de compatibilité.
  • Améliorations diverses.

Version 2.0.3Modifier

date de sortie : 10-05-2016

Correctifs / nouveautés :

  • Bug corrigé : la lecture de certaines séquences d'images échouait lorsque la première image était manquante.
  • Bug corrigé : un PyPlug contenant un autre PyPlug faisait planter l'application.
  • Bug corrigé : lorsque plusieurs viewers étaient en lecture en même temps, le bouton play n'était pas en mode lecture.
  • Python : ajout d'une fonction aux paramètres des fichiers pour les recharger.
  • Bug corrigé : l'interface graphique se figeait durant certains rendus.
  • CTRL + clic gauche de la souris sur les sliders réinitialise leur valeur.
  • Bug corrigé : Python : le callback onProjectSave ne fonctionnait pas.

Version 2.2.7Modifier

date de sortie : 15-04-2017

Correctifs / nouveautés :

  • Réduction du bruit sur les bords des rotos.

Plugins :

  • ReadOIIO : correction d'un bug lors de la lecture de fichiers EXR (datawindow différent de displaywindow).
  • Inpaint (version béta) : remplit les zones de l'image spécifiées par l'entrée "Mask" en utilisant un algorithme de patch.

Version 2.2.8Modifier

date de sortie : 02-06-2017

Correctifs / nouveautés :

  • L'interaction OpenGL est désormais toujours affectée par les transformations, même lorsque le motion blur est activé.

Plugins :

  • Radial, Rectangle et generators : quand le paramètre "Extent" est réglé sur "Size" et que "Reformat" n'est pas coché, les paramètres "Bottom Left" et "Size" peuvent être animés.
  • Transform, CornerPin, GodRays et tous les nœuds de Distorsion disposent désormais de l'échantillonage "Box".
  • ContactSheet, LayerContactSheet : créer une planche contact à partir de plusieurs entrées, images ou layers (version béta).

Version 2.2.9Modifier

date de sortie : 29-06-2017

Correctifs / nouveautés :

  • Bug corrigé : le channel selector dysfonctionnait lors de l'ouverture d'anciens projets Natron.

Plugins :

  • SpriteSheet: convertit une planche de sprites en animation.

Version 2.3.0Modifier

date de sortie : 04-07-2017

Correctifs / nouveautés :

  • Nombreux bugs corrigés concernant l'ouverture d'anciens projets Natron.
  • Changements internes : implémentation de la suite multiplane OpenFX.

Version 2.3.1Modifier

date de sortie : 26-07-2017

Correctifs / nouveautés :

  • Bug corrigé : Python : correction de la fonction setTable() appartenant à la classe PathParam.

Version 2.3.2Modifier

date de sortie : 13-08-2017

Correctifs / nouveautés :

  • Bug corrigé : Merge : l'alpha de l'entrée B était utilisé pour tous les Merge suivants, au lieu d'être mis à jour à chaque opération. #1648

Version 2.3.3Modifier

date de sortie : 08-11-2017

Correctifs / nouveautés :

  • Bug corrigé : calcul du temps de rendu restant.
  • Bug corrigé concernant le chargement de plugins tiers sous Linux #1682

Plugins :

  • ColorLookup : ajout du paramètre "Master Curve Mode" permettant de choisir entre différents algorithmes de correction colorimétrique. Ces différents modes sont inspirés par [RawTherapee](http://rawpedia.rawtherapee.com/Exposure#Curve_Mode). Possibilité d'afficher l'histogramme de la source.
  • WriteFFmpeg : ajout des encodages 10-bit DNxHR 444 et DNxHR HQX (et correction de quelques bugs liés à FFmpeg).
  • Shadertoy : nombreux presets réécrits et optimisés pour Natron, particulièrement ceux des catégories Blur, Effect et Source. La plupart des effets de Blur peuvent désormais être modulés grâce à l'option "Modulate".
  • Shadertoy : nouveaux presets : Blur/Bokeh Disc, Blur/Mipmap Blur, Effect/Anaglyphic, Effect/Bloom Paint, Effect/Sawnbringer 4bit, Effect/Sharpen, Effect/CRT, Effect/Fisheye, Effect/Image Cel Shade, Effect/Kaleidoscope, Effect/Noisy Mirror, Effect/Quad Mirror, Effect/Q*Bert-ify, Effect/Stripes, Effect/Vignette, Source/Cloud, Source/Cloudy Sky, Source/Disks, Source/Fireball, Source/Flash, Source/Seascape, Source/Star Nest, Source/Voronoi.
  • Shadertoy : nouveau preset "iChannelOffset" (décalage de couche).
  • LensDistorsion : nouveau paramètres "cropToFormat" (activé par défaut), pour éviter de calculer les pixels hors du cadre.

Source :

Version 2.3.4Modifier

date de sortie : 11-12-2017

Correctifs / nouveautés :

  • Les fichiers binaires distribués sur le site de Natron permettent l'encodage en 8-bit x264, remplaçant l'encodage en 10-bit x264 (introduit avec la version 2.2.6) qui causait de nombreux problèmes de compatibilité. D'autres codecs disposent de l'encodage en 10-bit (ProRes, vc2, libopenjpeg, libvpx-vp9, et x265 sur d'autres systèmes). Pour encoder en 10-bit x264, il est recommandé de calculer en non compressé ou quasi non compressé en utilisant un de ces codecs, puis d'encoder en 10-bit x264 avec ffmpeg.
  • Contournement d'un bug lié à Qt/Linux : sur les tablettes Wacom Intuos, la pression du stylet pouvaient prendre une valeur négative. #1697
  • Fichiers binaires : ajout des encodages 10-bit HEVC, Cisco openh264 et VidVox Hap.

Plugins :

  • SeExpr : passe en version 2.11.
  • Grade : ajout de la fonctionnalité "Normalize" pour ajuster automatiquement les blancs et les noirs.
  • Matrix3x3, Matrix5x5 : nouveaux plugins.
  • ColorCorrect : correction de bug pour les valeurs hors de [0-1]. #1703
  • ReadOIIO : le paramètres "Adjust Maximum Thr." (pour la lecture de fichiers camera RAW) vaut désormais 0.0 par défaut. #1705

Source :

Version 2.3.5Modifier

date de sortie : 22-02-2018

Version 2.3.6Modifier

date de sortie : 28-02-2018

Version 2.3.7Modifier

date de sortie : 14-03-2018

Version 2.3.8Modifier

date de sortie : 22-03-2018

Version 2.3.9Modifier

date de sortie : 29-03-2018

Futurs développementsModifier

Natron 3.0Modifier

  • Utilisation du format YAML pour la plupart des fichiers (projets, pyplugs, presets). Réduction par 10 de la taille des fichiers.
  • Sauvegarde des préférences Natron, au format YAML, dans un fichier settings.txt enregistré dans le dossier suivant :

Linux

/home/<username>/NatronUserData

Windows :

C:\Documents and Settings\<username>\NatronUserData

macOS :

/home/<username>/NatronUserData
  • Réécriture complète du système de cache. Optimisation en termes de réutilisation des données et d'empreinte mémoire. Le cache est désormais partagé entre tous les processus Natron : si plusieurs occurrences de Natron sont exécutées sur une même machine, elles utiliseront toutes le même cache, évitant ainsi des calculs redondants.
  • Les liens entre les paramètres sont désormais bi-directionnels : tous les paramètres liés entre eux partagent la même courbe de valeur. La notion de slave/master disparait.
  • Les nodes clonés sont désormais une simple copie d'un node quelconque dont les paramètres sont partagés. Le partage des paramètres peut être rompu, auquel cas le node cloné est considéré comme une copie à part entière.
  • Python pourra utiliser le système de callbacks pour afficher des éléments d'interface (en PyOpenGL), permettant à l'utilisateur de modifier des paramètres directement dans le Viewer.
  • Support multi-view.

Liens externesModifier

Articles connexesModifier

Notes et référencesModifier