Writeffmpeg is a python script and a node that allows you to render from Nuke directly into ffmpeg. Instead of a 2 step process where you render from Nuke to a temporary image sequence that you then transcode using ffmpeg, this solution writes to a single uint16 cache tiff file and this data gets piped into ffmpeg.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set cut_paste_input [stack 0] | |
push $cut_paste_input | |
Group { | |
name CornerPinMatrix | |
help "<b>PlanarProjection</b>\n\nGenerates 2D coordinates for points in 3D space. Type in 3D point coordinates, or use vertex selection in 3D viewer and click set to pick average of selected points, or set points to set all four points at once. You can connect node output to scene together with your pointcloud or geometry and see where your points are located in 3d space. Double click any of them to move it in 3d space like any traditional nuke transform control.\n\nA matrix transform is also generated to be used with RotoPaint, SplineWarp and GridWarp nodes.\n\nIf you are using matrix in GridWarp, points have to be in clockwise order, pick them one by one! Command set points doesn't respect selection order!\n\nCheck out the demo video on my website!\n\nKudos to Ivan Busquets for help with matrix math.\n\n--\ndeveloped by Vit Sedlacek (c)2012\nwww.vitsedlacek.com\n\n-- \nModified by Jed Smith to make calculation time nearly ins |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set cut_paste_input [stack 0] | |
version 5.2 v1 | |
Group { | |
inputs 0 | |
name HexGenerator | |
selected true | |
xpos -50 | |
ypos -482 | |
addUserKnob {20 HexGenerator} | |
addUserKnob {41 format T HexGenCalc.format} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Group { | |
name AutoExposure | |
addUserKnob {20 User} | |
addUserKnob {41 wb T ColorMatch.wb} | |
addUserKnob {41 dst_color l dst T ColorMatch.dst_color} | |
addUserKnob {22 calc T "n = nuke.thisNode()\nnuke.root().begin()\nn.begin()\nct = nuke.toNode('CURVETOOL')\nct\['intensitydata'].clearAnimated()\nt = nuke.frame()\nnuke.execute(ct, t, t)" +STARTLINE} | |
addUserKnob {26 ""} | |
addUserKnob {41 intensitydata T CURVETOOL.intensitydata} | |
addUserKnob {41 sample T ColorSampler.sample} | |
addUserKnob {26 ""} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import OpenImageIO as oiio | |
from OpenImageIO import ImageInput, ImageOutput | |
from OpenImageIO import ImageBuf, ImageSpec, ImageBufAlgo | |
import os, sys | |
import shlex, subprocess | |
import glob | |
#-------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
globals: | |
# Path to the ocio config to use | |
ocioconfig: /path/to/config.ocio | |
# Default ocio profile to use if not specified on the commandline | |
ocio_default_transform: grade | |
############################################### | |
## Reformatting and Cropping | |
############################################### | |
# If debug is true, no encoding will be done and there will be debug prints |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import nuke, math | |
def get_closest_node(node): | |
# Return the closest node to node | |
distances = {} | |
for n in nuke.allNodes(): | |
if n.name() == node.name(): | |
continue | |
distance = math.sqrt( | |
math.pow( (node.xpos() - n.xpos()), 2 ) + math.pow( (node.ypos() - n.ypos()), 2 ) | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import OpenImageIO as oiio | |
from OpenImageIO import ImageInput, ImageOutput | |
from OpenImageIO import ImageBuf, ImageSpec, ImageBufAlgo | |
import os, sys | |
import shlex, subprocess | |
import glob | |
#-------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set cut_paste_input [stack 0] | |
push $cut_paste_input | |
Group { | |
name FLog2Lin | |
label "\[value operation]" | |
selected true | |
xpos -40 | |
ypos -952 | |
addUserKnob {20 FLog2Lin} | |
addUserKnob {4 operation M {log2lin lin2log}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set cut_paste_input [stack 0] | |
push $cut_paste_input | |
Group { | |
name ExposureBlend | |
label "\[value brackets] Brackets" | |
addUserKnob {20 ExposureBlend_tab l ExposureBlend} | |
addUserKnob {7 time_th l "time threshold" t "threshold duration in seconds between exposure bracket sets" R 1 10} | |
time_th 2 | |
addUserKnob {1 capture_time l "capture time" t "Enter the metadata key for the exposure capture time metadata key in your source images"} | |
capture_time exr/Exif:DateTimeOriginal |