proxyTools v1.3


 
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Brian Willard
tool to help set up proxy creation and image sequence conversion
Requirements:
6.3 or later
Linux, Mac
21 Feb 2012
365

proxyTools 1.3

ChangeLog:

v1.3: bugfix to address 'index out of range' error w/qt source.

v1.2: added DPX option to full res (rgb channels by default)
          exr files now write out all metadata as default.
          added simple error checking to make sure we are dealing w/sequences in filename.%04d.ext format. 
          added initial support for r3d files. 

 v1.1: fixed error when rendering full sized jpegs

v1.0: initial release

python modal panel to help set up write nodes for rendering proxies on a farm(or local) into resolution folders per shot, while generating reads that link to the rendered files.  Also useful to convert quicktime files to exr.

proxyToolNodes

Panel Options:

  • Process Plates: option to convert full, proxies, or both.
  • Process Reads: limit conversion to  'all' Reads, 'selected' Reads, or 'quicktime' Reads within a script
  • Full Res Format: options are exr, and jpeg (0.97 quality) at full raster.
  • Proxy Format: options are exr, and jpeg (0.97 quality).
  • Proxy Size: options are 'full, half, or quarter'  (impulse filtering for full, cubic for half and quarter)
  • Create Read: option to create a read with the file/proxy paths set to the write node renders.

 

Notes:

  • For quicktime & r3d files, it can handle files without extension by reading the 'input/filereader' metadata to determine filetype.
  • Default behavior is to create a folder named 'filename+_IMG' with subfolders for resolution.
  • All write nodes will have their 'disable' knob animated to the frame range of the source read.
  • If the script detects that the source img sequence is in a folder maching the resolution, it should render the proxy files one level up. (To deal with if you render proxies after you've converted to exr for instance).
  • tested on OS X/Linux, should work with windows unc paths, but I don't have a box to test.

'Create Read' has the following behavior: 
  • 'Process Plates' = both:  read node will link to the full res and proxy write nodes.
  • 'Process Plates' = proxy: read node file knob will be set to original plate, proxy knob set to generated proxy.
  • 'Process Plates' = full: read knob will link to the converted full res plate.

 

Sample output folder structure:

SCN_125_RAW.mov                              <--source quicktime
SCN_125_RAW_IMG                             <--created folder
        1920x1080                                            <--resolution folder
                SCN_125_RAW.%04d.exr            <--full res sequence
        960x540                                                <--resoltion folder 
                SCN_125_RAW.%04d.jpg            <-proxy res sequence

 

Installation:

  • Add the following to your menu.py
1
2
3
4
import proxyTools
 
nuke.menu("Nuke").addCommand("Render/Proxy Tools* 1.3","proxyTools.proxyTools()")
 

 

  • I am not creating the folders in the script when it runs, so I'd suggest adding this createWriteDir() callback to your init.py if you don't have one already
1
2
3
4
5
6
7
8
9
10
11
def createWriteDir(): 
    import nuke, os 
    file = nuke.filename(nuke.thisNode()) 
    dir = os.path.dirname( file ) 
    osdir = nuke.callbacks.filenameFilter( dir ) 
    try: 
        os.makedirs( osdir ) 
        return 
    except: 
        return  
nuke.addBeforeRender( createWriteDir )
Please login in order to download these files.

Comments   

 
0 # Max Kuper 2011-12-16 10:33
From the description this looks really great. But i'm getting this error after the menu and pressing ok -


Traceback (most recent call last):
File "", line 1, in
File "XX/python/prox yTools.py", line 276, in proxyTools
showProxyTools( )
File "XX/python/prox yTools.py", line 275, in showProxyTools
ProxyToolsPanel ().showModalDia log()
File "XX/python/prox yTools.py", line 272, in showModalDialog
_buildPROXIES(s election, processPlates, createRead, formatFullVal, formatProxyVal, formatProxySize Val)
File "XX/python/prox yTools.py", line 91, in _buildPROXIES
filename =(i.knob('file').getValue('fileName')).split('.')[-3].split(pathslash)[-1]
IndexError: list index out of range

Running NukeX 6.3v6 on CentOS x64!
 
 
0 # Brian Willard 2011-12-16 15:33
Max K,

Can you give me the full path in your read file knob?

Brian
 
 
0 # Max Kuper 2011-12-17 10:09
Hey,

yeah sure will do on monday when im back in the office! Should be something like /media/REVO/Pro jekte/Proxytest /01/something_ d.dpx ..
if i remember correctly:-)
 
 
0 # Matthias Wäsch 2012-02-18 13:22
i ´m getting the same error message but with different line numbers (305,304,301).

running NukeX 6.3v4 on win7 x64.
 
 
0 # Bill Gilman 2012-03-20 14:54
Hi Brian

Testing out proxyTools and it's pretty great. Wondering if there's a way to run this script on the command line? Also, I'm finding that the proxy resolution in the Read Node that is created when 'Process Plates' = proxy is set to "root.proxy_for mat 640x380". Is there a way to change this other than manually?

Thanks so much

Bill
323-428-0913
 
 
0 # bryan shepperd 2014-03-19 22:23
Looks like this hasnt been touched for a while. I just ran into the same issue
parentfolder = (i.knob('file').getValue('fileName')).split('.')[-3].split(pathslash)[-2]
IndexError: list index out of range
I wondered if there was an easy fix for this. looking into it now.
Thaks!
Bryan
 
 
0 # bryan shepperd 2014-03-19 23:08
looks like it is the pathslash variable on line 64. if i change the "win" option to also be ('/') it seems to work.

thanks!
 

You have no rights to post comments

We have 2420 guests and 118 members online