From: Craig Allison <craig@(email surpressed)>
Subject: Auto Rendering of QT's on jobcomplete
   Date: Tue, 16 Dec 2008 10:43:55 -0500
Msg# 1806
View Complete Thread (17 articles) | All Threads
Last Next
Hello out there

I'm looking at setting up an autorender of QT's when a set of 2k frames have been rendered in Shake using Rush, as Shake scripts are effectively text files so I was looking to send variables from the Rush submit to a Shake script I have setup on our server.

Is this possible? Has anyone done it already?

Any advice would be much appreciated!

Cheers

Craig


Craig Allison

Digital Systems & Data Manager

The Senate Visual Effects

Twickenham Film Studios

St.Margarets

Twickenham

TW1 2AW


t: 0208 607 8866 

skype: craig_9000

www.senatevfx.com





   From: matx <matx@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Tue, 16 Dec 2008 13:01:34 -0500
Msg# 1808
View Complete Thread (17 articles) | All Threads
Last Next
On 2008-12-16 07:43:55 -0800, Craig Allison <craig@(email surpressed)> said:

I'm looking at setting up an autorender of QT's when a set of 2k
frames have been rendered in Shake using Rush

Since RUSH can only allocate one machine to render a QuickTime from an image sequence, you could submit a follow up Rush job that waits for the first to finish. The QuickTime will be made at the end of the frame rendering.

We wrap our custom Shake scripts in AppleScript and drag/drop the finished frames folder onto the appropriate tool to make our QuickTimes. That works for most cases. However, if you're processing a lot of QTs something more automated may be appropriate.

Mat X


   From: Craig Allison <craig@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Tue, 16 Dec 2008 14:16:35 -0500
Msg# 1809
View Complete Thread (17 articles) | All Threads
Last Next
I'll have a look at AppleScript as a possible interim solution, but I really wanted to have it bundled into the Rush submit with a dialogue to add text to variables set up in my Shake script for slate notes etc.  I could give them a custom slate node to avoid this though, hmmm...

We're doing 50-100 qts a day here, not sure if that's classed as a lot, but it sure would be better than doing them manually!

Will keep working on it

Thanks



Craig Allison

Digital Systems & Data Manager

The Senate Visual Effects

Twickenham Film Studios

St.Margarets

Twickenham

TW1 2AW


t: 0208 607 8866 

skype: craig_9000

www.senatevfx.com




On 16 Dec 2008, at 18:01, matx wrote:

[posted to rush.general]

On 2008-12-16 07:43:55 -0800, Craig Allison <craig@(email surpressed)> said:
I'm looking at setting up an autorender of QT's when a set of 2k
frames have been rendered in Shake using Rush

Since RUSH can only allocate one machine to render a QuickTime from an image sequence, you could submit a follow up Rush job that waits for the first to finish. The QuickTime will be made at the end of the frame rendering.

We wrap our custom Shake scripts in AppleScript and drag/drop the finished frames folder onto the appropriate tool to make our QuickTimes. That works for most cases. However, if you're processing a lot of QTs something more automated may be appropriate.

Mat X




   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Tue, 16 Dec 2008 14:29:15 -0500
Msg# 1810
View Complete Thread (17 articles) | All Threads
Last Next
Craig Allison wrote:
> I'll have a look at AppleScript as a possible interim solution, but I
> really wanted to have it bundled into the Rush submit with a dialogue to
> add text to variables set up in my Shake script for slate notes etc.  I
> could give them a custom slate node to avoid this though, hmmm...
> 
> We're doing 50-100 qts a day here, not sure if that's classed as a lot,
> but it sure would be better than doing them manually!

	It should be possible to have the submit script create the
	.shk script on the fly, and then run it as a jobdonecommand.

	This is more or less what the submit-shake-quicktime.pl script
	does already.

	Maybe just take an existing shake script, and replace all
	the parts you want changeable with environment variables,
	then set these variables before invoking the shake script
	to convert the frames.

	I've been trying to look for a nice cross-platform QT converter
	solution. There are definitely a few commercial apps out there
	(MetaRender looks like one, part of the iridas tools),
	and some freeware apps as well (qt-tools, libquicktime, ffmpeg),
	but many of the freeware apps are not "cross platform".

	Some suggestions for command line quicktime converters I've seen:

		Framecycler (SequencePublisher/MetaRender)
		Nuke
		Shake
		Fusion
		http://avidemux.org/admWiki/index.php?title=Command_line_usage
		djv_convert
		ImageMagick+OpenQuicktime (alternative to ffmpeg)
		MEncoder (http://www.mplayerhq.hu)
		libquicktime + custom code
		qt-tools (qt_export tool)

	Nuke:
n = nuke.createNode('Write')
n.knob('file').setValue('C:/quicktime.mov')
n.knob('codec').setValue(12) # H.264
n.knob('settings').setValue('0000000000000000000000000000019a7365616e0000000100000001000000000000018676696465000000010000000e00000000000000227370746c0000000100000000000000006176633100000000001800000300000000207470726c000000010000000000000000000003000018000000000018000000246472617400000001000000000000000000177000000000530000010000000100000000156d70736f00000001000000000000000000000000186d66726100000001000000000000000000000000000000187073667200000001000000000000000000000000000000156266726100000001000000000000000001000000166d70657300000001000000000000000000000000002868617264000000010000000000000000000000000000000000000000000000000000000000000016656e647300000001000000000000000000000000001663666c67000000010000000000000000004400000018636d66720000000100000000000000006170706c00000014636c75740000000100000000000000000000001c766572730000000100000000000000000003001a00010000')

	Shake has a similar technique, where a magic blob of text
	is needed for the QT codec settings (see submit-shake-quicktime.pl)

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)

   From: "Abraham Schneider" <aschneider@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Wed, 17 Dec 2008 03:43:39 -0500
Msg# 1813
View Complete Thread (17 articles) | All Threads
Last Next
Greg Ercolano schrieb:
	I've been trying to look for a nice cross-platform QT converter
	solution. There are definitely a few commercial apps out there
	(MetaRender looks like one, part of the iridas tools),
	and some freeware apps as well (qt-tools, libquicktime, ffmpeg),
	but many of the freeware apps are not "cross platform".

	Some suggestions for command line quicktime converters I've seen:

		Framecycler (SequencePublisher/MetaRender)
		Nuke
		Shake
		Fusion
		http://avidemux.org/admWiki/index.php?title=Command_line_usage
		djv_convert
		ImageMagick+OpenQuicktime (alternative to ffmpeg)
		MEncoder (http://www.mplayerhq.hu)
		libquicktime + custom code
		qt-tools (qt_export tool)


One you haven't mentioned: Silverstack from Pomfort: www.pomfort.com

Our pipeline at the moment is: we render downsized, LUT-converted JPEGs in the same setup as the main DPX files as a second output. After the job is done I submit a job to the renderqueue of Silverstack (called Cinemator) on a small Mac mini to generate quicktimes from these JPEGs.

Silverstack can create templates for burnin, LUT conversion, codec, etc. which you can use while submitting the job to Cinemator on the commandline.

At the moment, Cinemator is a GUI app which can be fed by a commandline command, but what I heard is that they are working on a more sophisticated solution.

Maybe you want to have a look on it.

Abraham

--
Abraham Schneider
Senior VFX Compositor, 2 D Artist
ARRI Film & TV Services GmbH   Tuerkenstr. 89   D-80799 Muenchen / Germany
Phone (Tel# suppressed) EMail aschneider@(email surpressed)
www.arri.de/filmtv
ARRI Film & TV Services GmbH
Sitz: München  -  Registergericht: Amtsgericht München  -  Handelsregisternummer: HRB 69396
Geschäftsführer: Franz Kraus; Thomas Till

   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Thu, 18 Dec 2008 12:27:26 -0500
Msg# 1814
View Complete Thread (17 articles) | All Threads
Last Next
> Our pipeline at the moment is: we render downsized, LUT-converted JPEGs 
> in the same setup as the main DPX files as a second output. After the 
> job is done I submit a job to the renderqueue of Silverstack (called 
> Cinemator) on a small Mac mini to generate quicktimes from these JPEGs.
> 
> Silverstack can create templates for burnin, LUT conversion, codec, etc. 
> which you can use while submitting the job to Cinemator on the commandline.
> 
> At the moment, Cinemator is a GUI app which can be fed by a commandline 
> command, but what I heard is that they are working on a more 
> sophisticated solution.
> 
> Maybe you want to have a look on it.

	Sounds interesting, but unless they have a non-gui interface,
	it's not something I think Rush can control properly.

	What I'd like to do is have a way to make it easy to add any
	kind of command line tool to handle QT conversions to the
	submit scripts, and have a pulldown that lets one select which
	converter to use, eg. ffmpeg, MetaRender, SequencePublisher,
	qt-tools, etc.

	Probably what I'd do is add a "QT" tab to all the submit scripts
	that has prompts for the input images and output movie, as well
	as being able to select which codecs to use. All the rush submit
	scripts would then be able to call a single, central script
	to handle the actual QT conversion as a 'jobdonecommand'.

   From: Craig Allison <craig@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Thu, 18 Dec 2008 13:12:19 -0500
Msg# 1815
View Complete Thread (17 articles) | All Threads
Last Next
I was looking at Silverstack recently and DJV-convert but they don't quite meet my requirements as we have movie specific masking/crops applied to the full 2k frames when they are converted to QT...

I'm currently working on the Applescript suggestion to find/replace the contents of a Shake "setup" script and then submitting to command line render.

Any QT additions to the Rush submit would be helpful for the artists, as they could make use of the farm for quick preview QT's for long shots instead of Framecycler/DJView/FlipBook.

I'll let you know how I get on with the Applescript as I'm just unravelling how it all works and am seriously under the cosh with deadlines!!!

Aye, aye, aye bring on Christmas!

Cheers everyone - Have a good one!


Craig Allison

Digital Systems & Data Manager

The Senate Visual Effects

Twickenham Film Studios

St.Margarets

Twickenham

TW1 2AW


t: 0208 607 8866 

skype: craig_9000

www.senatevfx.com




On 18 Dec 2008, at 17:27, Greg Ercolano wrote:

[posted to rush.general]

Our pipeline at the moment is: we render downsized, LUT-converted JPEGs 
in the same setup as the main DPX files as a second output. After the 
job is done I submit a job to the renderqueue of Silverstack (called 
Cinemator) on a small Mac mini to generate quicktimes from these JPEGs.

Silverstack can create templates for burnin, LUT conversion, codec, etc. 
which you can use while submitting the job to Cinemator on the commandline.

At the moment, Cinemator is a GUI app which can be fed by a commandline 
command, but what I heard is that they are working on a more 
sophisticated solution.

Maybe you want to have a look on it.

Sounds interesting, but unless they have a non-gui interface,
it's not something I think Rush can control properly.

What I'd like to do is have a way to make it easy to add any
kind of command line tool to handle QT conversions to the
submit scripts, and have a pulldown that lets one select which
converter to use, eg. ffmpeg, MetaRender, SequencePublisher,
qt-tools, etc.

Probably what I'd do is add a "QT" tab to all the submit scripts
that has prompts for the input images and output movie, as well
as being able to select which codecs to use. All the rush submit
scripts would then be able to call a single, central script
to handle the actual QT conversion as a 'jobdonecommand'.



   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Thu, 18 Dec 2008 13:30:57 -0500
Msg# 1816
View Complete Thread (17 articles) | All Threads
Last Next
Craig Allison wrote:
> I'm currently working on the Applescript suggestion to find/replace the
> contents of a Shake "setup" script and then submitting to command line
> render.

	Note that shake files are simple ascii, so you can use
	tools like sed or perl to take a template shake script
	and convert it on the fly to what you need.

	IIRC, you can also just edit the .shk file, and replace
	the strings you want to use with environment variables..
	then all you have to do is be sure to set those env vars
	before running shake, and the replacing will be handled by shake.
	I think there may also be a way to pass variables from the shake
	command line.

> Any QT additions to the Rush submit would be helpful for the artists, as
> they could make use of the farm for quick preview QT's for long shots
> instead of Framecycler/DJView/FlipBook.

	Right..

	See also the submit-shake-quicktime submit script,
	which artists can use to do QT conversions.

	Use the one from 102.42a9, which has many codecs,
	and several fixes from previous versions. These tweaks
	are mentioned in the release notes for A9:
	http://www.seriss.com/rush-current/rush/release-notes.html#102.42a9
	..specifically:

	    o submit-shake-quicktime -- numerous fixes to support codecs

> I'll let you know how I get on with the Applescript as I'm just
> unravelling how it all works and am seriously under the cosh with
> deadlines!!!

	Yes, feel free to send pastes.

	I've done a few scripts with AppleScript to descan
	the slitscan sequences from 2001; I used applescript
	to hit the frame advance button in iDVD so that I could
	grab scanlines from the film to unwrap them.
	Fun pictures here:
	http://seriss.com/people/erco/2001/wip/

	..with the scripts at the bottom. See 'shoot.pl' for a perl script
	that sends applescript text strings to osascript on a remote machine. eg:

system("( echo 'tell app \"DVD Player\"'; echo step dvd; echo end tell ) | rsh tow osascript");

	Must admit, applescript is quite neat. But the fact it works
	through GUIs is a problem for automation in contexts where there
	is no window manager, or no one logged in. In the above case,
	I had to make sure the GUI was running before I could run the script.


> Aye, aye, aye bring on Christmas!

	Amen to that..!

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)

   From: "Abraham Schneider" <aschneider@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Fri, 19 Dec 2008 04:20:37 -0500
Msg# 1817
View Complete Thread (17 articles) | All Threads
Last Next
Greg Ercolano schrieb:
	Sounds interesting, but unless they have a non-gui interface,
	it's not something I think Rush can control properly.

yes, that's right. I'm doing it in two steps at the moment: rush executes a jobdonecommand script which creates an entry with the path to the image sequence in a queue folder. A small python script on my QT creation Mac is watching this folder and does the actual 'feeding' of the Silverstack rendering app (called Cinemator).

That's not a perfect solution but it works quite well for us at the moment. And with the template files it is easy to do different burnins, codecs, framerates, etc. depending on project or user choose.

Abraham

--
Abraham Schneider
Senior VFX Compositor, 2 D Artist
ARRI Film & TV Services GmbH   Tuerkenstr. 89   D-80799 Muenchen / Germany
Phone (Tel# suppressed) EMail aschneider@(email surpressed)
www.arri.de/filmtv
ARRI Film & TV Services GmbH
Sitz: München  -  Registergericht: Amtsgericht München  -  Handelsregisternummer: HRB 69396
Geschäftsführer: Franz Kraus; Thomas Till

   From: Craig Allison <craig@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Wed, 27 May 2009 10:54:49 -0400
Msg# 1841
View Complete Thread (17 articles) | All Threads
Last Next
Ok, so I've finally got around to looking into this and have decided to change my original way of thinking and give the artists the opportunity to render a quicktime on the farm once they are happy with the results previewed in Framecycler.

I have taken the submit-shake-quicktime script and amended it to allow users to select which film they are working on, select the first frame in the sequence to render and dialogue for slate notes etc - the combination of all this information chooses the correct shake setup script on the network, replaces the variables, saves a copy and submits it to the farm.

The script renders a 2K slate & greyscale (named and numbered correctly) and also a QT with the appropriate settings for the production.  I have it working fine but now want to speed it up by splitting the job into two, i.e. one script to render the two 2k frames and one script to render the QT.

I've got rush creating the 2 distinct shake scripts to render, but don't know how to get 2 scripts to render with a single rush submit, is there an easy way?

Cheers

Craig


Craig Allison

Digital Systems & Data Manager

The Senate Visual Effects

Twickenham Film Studios

St.Margarets

Twickenham

TW1 2AW


t: 0208 607 8866 

skype: craig_9000

www.senatevfx.com




On 19 Dec 2008, at 09:20, Abraham Schneider wrote:

[posted to rush.general]

Greg Ercolano schrieb:
Sounds interesting, but unless they have a non-gui interface,
it's not something I think Rush can control properly.

yes, that's right. I'm doing it in two steps at the moment: rush=20
executes a jobdonecommand script which creates an entry with the path to =

the image sequence in a queue folder. A small python script on my QT=20
creation Mac is watching this folder and does the actual 'feeding' of=20
the Silverstack rendering app (called Cinemator).

That's not a perfect solution but it works quite well for us at the=20
moment. And with the template files it is easy to do different burnins,=20
codecs, framerates, etc. depending on project or user choose.

Abraham

--
Abraham Schneider
Senior VFX Compositor, 2 D Artist
ARRI Film & TV Services GmbH   Tuerkenstr. 89   D-80799 Muenchen / =
Germany
Phone +49 89 3809-1269     EMail aschneider@(email surpressed)
www.arri.de/filmtv
ARRI Film & TV Services GmbH
Sitz: M=FCnchen  -  Registergericht: Amtsgericht M=FCnchen  -  =
Handelsregisternummer: HRB 69396
Gesch=E4ftsf=FChrer: Franz Kraus; Thomas Till



   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Wed, 27 May 2009 17:20:59 -0400
Msg# 1843
View Complete Thread (17 articles) | All Threads
Last Next
Craig Allison wrote:
> Ok, so I've finally got around to looking into this and have decided to
> change my original way of thinking and give the artists the opportunity
> to render a quicktime on the farm once they are happy with the results
> previewed in Framecycler.
> 
> I have taken the submit-shake-quicktime script and amended it to allow
> users to select which film they are working on, select the first frame
> in the sequence to render and dialogue for slate notes etc - the
> combination of all this information chooses the correct shake setup
> script on the network, replaces the variables, saves a copy and submits
> it to the farm.
> 
> The script renders a 2K slate & greyscale (named and numbered correctly)
> and also a QT with the appropriate settings for the production.  I have
> it working fine but now want to speed it up by splitting the job into
> two, i.e. one script to render the two 2k frames and one script to
> render the QT.

	Sounds cool

	But does it really take that long to generate the 2K slate and
	greyscale to make it worth while to have those happen in separate
	executions?

	I would assume that the quicktime gen can't happen until the
	2K slate/grayscale are done anyway, so even if another box
	were working on the slate, the qt part would still have to
	wait for it to get done.

	But if there's something like 50 frames of slate, then I guess
	it pays to have each frame render on a separate machine,
	and then have the qt gen run as a 'jobdonecommand', so that
	it doesn't run until all the slate frames are finished.

	Thing is, if what you're doing is generating just one slate
	image and one grayscale, but need those to hold for eg. 25x each,
	then just have the render create one image each, then make symbolic
	links for all the others; that'll save on disk space and render time,
	so that the qt gen can refer to the links.

	For instance, the script could render these two images:

slate-myshow-myshot.dpx
grayscale-myshow-myshot.dbx

	and then create symlinks for the frame range, eg:

# GRAYSCALE
ln grayscale-myshow-myshot.dpx myshow-shot-frame-0001.dpx
ln grayscale-myshow-myshot.dpx myshow-shot-frame-0002.dpx
ln grayscale-myshow-myshot.dpx myshow-shot-frame-0003.dpx
:
ln grayscale-myshow-myshot.dpx myshow-shot-frame-0025.dpx
# SLATE
ln slate-myshow-myshot.dpx     myshow-shot-frame-0026.dpx
ln slate-myshow-myshot.dpx     myshow-shot-frame-0027.dpx
ln slate-myshow-myshot.dpx     myshow-shot-frame-0028.dpx
:
ln slate-myshow-myshot.dpx     myshow-shot-frame-0050.dpx

	That way you can 'instantly' make all the frames from just
	the single 2k image, so that the quicktime can insert them
	into the shot as needed.

	HTH.

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)

   From: Craig Allison <craig@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Thu, 28 May 2009 04:53:53 -0400
Msg# 1844
View Complete Thread (17 articles) | All Threads
Last Next
Hey Greg

The way my Shake script works is that it renders the QT without the need for the slate and grey to be generated as 2k, it files them in from a set location and adds the relevant text and overlays a mask with counter and shot details, plus it files in the same "empty" slate, adds the same text and has another fileout to render the single 2k frame.  The greyscale that is added to the QT has a branched fileout to also render a single 2k grey at the end.

The problem I have observed is that the 2k slate renders itself over and over again until the script reaches the end of it's frame count, i.e. for a 200 frame QT, the slate will render 200 times, hence the need for splitting up the job so that I can give the slate and grey globals of 1 and the QT 1-200 for example.

I'm going to look into using an offset for the slate/grey to see if this addresses this issue, otherwise I'll look at Victor's suggestion.

Cheers

Craig



Craig Allison

Digital Systems & Data Manager

The Senate Visual Effects

Twickenham Film Studios

St.Margarets

Twickenham

TW1 2AW


t: 0208 607 8866 

skype: craig_9000

www.senatevfx.com




On 27 May 2009, at 22:21, Greg Ercolano wrote:

[posted to rush.general]

Craig Allison wrote:
Ok, so I've finally got around to looking into this and have decided to
change my original way of thinking and give the artists the opportunity
to render a quicktime on the farm once they are happy with the results
previewed in Framecycler.

I have taken the submit-shake-quicktime script and amended it to allow
users to select which film they are working on, select the first frame
in the sequence to render and dialogue for slate notes etc - the
combination of all this information chooses the correct shake setup
script on the network, replaces the variables, saves a copy and submits
it to the farm.

The script renders a 2K slate & greyscale (named and numbered correctly)
and also a QT with the appropriate settings for the production.  I have
it working fine but now want to speed it up by splitting the job into
two, i.e. one script to render the two 2k frames and one script to
render the QT.

Sounds cool

But does it really take that long to generate the 2K slate and
greyscale to make it worth while to have those happen in separate
executions?

I would assume that the quicktime gen can't happen until the
2K slate/grayscale are done anyway, so even if another box
were working on the slate, the qt part would still have to
wait for it to get done.

But if there's something like 50 frames of slate, then I guess
it pays to have each frame render on a separate machine,
and then have the qt gen run as a 'jobdonecommand', so that
it doesn't run until all the slate frames are finished.

Thing is, if what you're doing is generating just one slate
image and one grayscale, but need those to hold for eg. 25x each,
then just have the render create one image each, then make symbolic
links for all the others; that'll save on disk space and render time,
so that the qt gen can refer to the links.

For instance, the script could render these two images:

slate-myshow-myshot.dpx
grayscale-myshow-myshot.dbx

and then create symlinks for the frame range, eg:

# GRAYSCALE
ln grayscale-myshow-myshot.dpx myshow-shot-frame-0001.dpx
ln grayscale-myshow-myshot.dpx myshow-shot-frame-0002.dpx
ln grayscale-myshow-myshot.dpx myshow-shot-frame-0003.dpx
:
ln grayscale-myshow-myshot.dpx myshow-shot-frame-0025.dpx
# SLATE
ln slate-myshow-myshot.dpx     myshow-shot-frame-0026.dpx
ln slate-myshow-myshot.dpx     myshow-shot-frame-0027.dpx
ln slate-myshow-myshot.dpx     myshow-shot-frame-0028.dpx
:
ln slate-myshow-myshot.dpx     myshow-shot-frame-0050.dpx

That way you can 'instantly' make all the frames from just
the single 2k image, so that the quicktime can insert them
into the shot as needed.

HTH.

-- 
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: 626-795-5922x23
Fax: 626-795-5947
Cel: 310-266-8906



   From: matx <matx@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Tue, 16 Dec 2008 17:23:27 -0500
Msg# 1811
View Complete Thread (17 articles) | All Threads
Last Next
On 2008-12-16 11:16:35 -0800, Craig Allison <craig@(email surpressed)> said:

I'll have a look at AppleScript as a possible interim solution,

We use an AppleScript to interface between a template Shake script and the image sequence selected (drag drop folder onto script). After the images are rendered by an artist they make a QT using this tools which basically substitutes new fileins and fileouts, etc.

I'd love to see how you could incorporate a Shake script in a shake-submit for Rush as a followup job using the variables of the previous job. Can RUSH pass variables to another job?

:)

Mat X


   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Tue, 16 Dec 2008 17:34:10 -0500
Msg# 1812
View Complete Thread (17 articles) | All Threads
Last Next
matx wrote:
> [posted to rush.general]
> 
> On 2008-12-16 11:16:35 -0800, Craig Allison <craig@(email surpressed)> said:
>> I'll have a look at AppleScript as a possible interim solution,
> 
> We use an AppleScript to interface between a template Shake script and 
> the image sequence selected (drag drop folder onto script). After the 
> images are rendered by an artist they make a QT using this tools which 
> basically substitutes new fileins and fileouts, etc.

	If this is something you can call as a command, then
	you can make it the jobdonecommand for the job.

> I'd love to see how you could incorporate a Shake script in a 
> shake-submit for Rush as a followup job using the variables of the 
> previous job. Can RUSH pass variables to another job?

	You can pass anything you want, but you'd need to add
	the operation to do it.

	The manual way is: submit your shake job, and lets say
	its jobid is "tahoe.1". While it's rendering, you can
	fill out the submit-shake-quicktime.pl form, and set
	these fields:

WaitFor: tahoe.1
Wait For State: Done

	..and submit the job. This way when your shake job
	finishes the last frame, the shake quicktime script
	runs to do the QT conversion.

	Or, if you're clever with scripting, you can modify
	the submit-shake script to automatically fire off
	submit-shake-quicktime to do the QT conversion as a "jobdonecommand".
	
	It's currently a two step process use submit-shake-quicktime.pl,
	
	After you submit the shake job, you can use submit-shake-quicktime.pl
	to submit a separate job to handle the conversion.

	It needs to know the input images and output quicktime file.


-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)

   From: Victor DiMichina <victor@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Wed, 27 May 2009 13:11:57 -0400
Msg# 1842
View Complete Thread (17 articles) | All Threads
Last Next
You can try something like this,  suited to your needs of course.   Note the eval command (thanks go  to Greg again and again,  of course)

################################
#!/bin/csh -f
if ( ! $?RUSH_DIR ) setenv RUSH_DIR /usr/local/rush
source $RUSH_DIR/etc/.submit
eval `/usr/local/rush/bin/rush -submit` << EOF
title           (your title)
ram             1
frames          (your frame range)
logdir          (your log dir)
command        perl //server/raid/2D_Apps/RushSubmits/Applications/submit-shake.app/Contents/MacOS/submit-shake-autolog.pl -render 1 1 Fail  /server/raid/path/to/someshakeproject.shk  0 -v -proxyscale 1 -v
cpus            +farm=10@10
notes           (optional)
EOF
if ( $status ) exit 1
# (eval eats the setenv command, so we duplicate it here)
echo "setenv RUSH_JOBID $RUSH_JOBID"
echo $RUSH_JOBID > /tmp/curr_jobid.txt
# Job #2 -
/usr/local/rush/bin/rush -submit << EOF
title           (your 2nd title)
ram             1
frames          (frame range)
logdir          (your log dir)
command         (another command)
cpus            +farm=11@980
waitfor         $RUSH_JOBID
waitforstate    done
notes           (optional)
EOF
####################################################


HTH
Vic


On Wed, May 27, 2009 at 7:54 AM, Craig Allison <craig@(email surpressed)> wrote:
Ok, so I've finally got around to looking into this and have decided to change my original way of thinking and give the artists the opportunity to render a quicktime on the farm once they are happy with the results previewed in Framecycler.

I have taken the submit-shake-quicktime script and amended it to allow users to select which film they are working on, select the first frame in the sequence to render and dialogue for slate notes etc - the combination of all this information chooses the correct shake setup script on the network, replaces the variables, saves a copy and submits it to the farm.

The script renders a 2K slate & greyscale (named and numbered correctly) and also a QT with the appropriate settings for the production.  I have it working fine but now want to speed it up by splitting the job into two, i.e. one script to render the two 2k frames and one script to render the QT.

I've got rush creating the 2 distinct shake scripts to render, but don't know how to get 2 scripts to render with a single rush submit, is there an easy way?

Cheers

Craig


Craig Allison

Digital Systems & Data Manager

The Senate Visual Effects

Twickenham Film Studios

St.Margarets

Twickenham

TW1 2AW


t: 0208 607 8866 

skype: craig_9000

www.senatevfx.com




On 19 Dec 2008, at 09:20, Abraham Schneider wrote:

[posted to rush.general]

Greg Ercolano schrieb:
Sounds interesting, but unless they have a non-gui interface,
it's not something I think Rush can control properly.

yes, that's right. I'm doing it in two steps at the moment: rush=20
executes a jobdonecommand script which creates an entry with the path to =

the image sequence in a queue folder. A small python script on my QT=20
creation Mac is watching this folder and does the actual 'feeding' of=20
the Silverstack rendering app (called Cinemator).

That's not a perfect solution but it works quite well for us at the=20
moment. And with the template files it is easy to do different burnins,=20
codecs, framerates, etc. depending on project or user choose.

Abraham

--
Abraham Schneider
Senior VFX Compositor, 2 D Artist
ARRI Film & TV Services GmbH   Tuerkenstr. 89   D-80799 Muenchen / =
Germany
Phone +49 89 3809-1269     EMail aschneider@(email surpressed)
ARRI Film & TV Services GmbH
Sitz: M=FCnchen  -  Registergericht: Amtsgericht M=FCnchen  -  =
Handelsregisternummer: HRB 69396
Gesch=E4ftsf=FChrer: Franz Kraus; Thomas Till





--
Victor DiMichina
Pixel Magic
818.760.0862

   From: Craig Allison <craig@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Tue, 02 Jun 2009 06:24:41 -0400
Msg# 1845
View Complete Thread (17 articles) | All Threads
Last Next
Ok, the retiming of the slate didn't work, Shake still insisted on rendering the slate/grey over and over again as it rendered the quicktime.

Have used to following to submit the two scripts from one submit:

my $submit = <<"EOF";
title        $in{JobTitle}
frames          1
command         perl $G::self -render $QT_script_to_render $in{Verbosity} $in{Retries} $in{RetryBehavior} $in{MaxLogSize} $in{PrintEnvironment} $in{Frames} $in{Production} $in{OutputQuicktime} $in{ShakeFlags} 
$submitoptions
EOF

my $submit2 = <<"EOF";
title        $in{JobTitle}
frames          1
command         perl $G::self -render $Slate_script_to_render $in{Verbosity} $in{Retries} $in{RetryBehavior} $in{MaxLogSize} $in{PrintEnvironment} $in{ShakeFlags} 
$submitoptions
EOF

 # ErrorWindow("$submit\n"); # DEBUGGING
    RushSubmit($submithost, $submit2, $in{JobTitle}, $in{StartIrush});
    exit(RushSubmit($submithost, $submit, $in{JobTitle}, $in{StartIrush}));



This works fine, only that when the second job starts, the log for $submit2 is overwritten as both jobs share the same directory, not such a problem, but may try to iron this out over the coming days.


As an aside does anyone know a quick way of always resetting to defaults for the QT render instead of Rush picking up the last settings every time? I assume it's a deletion of a certain local file, but maybe I could just reset certain fields which would work much better?  I can see that I'm going to run in to trouble with artists not choosing the correct production and frame range etc so would like to force them into a choice each time.  I will get them to start using "forms" too, I hadn't noticed that nice little feature until I was developing this, will come in useful for artists who are always working on the same shots.


C


Craig Allison

Digital Systems & Data Manager

The Senate Visual Effects

Twickenham Film Studios

St.Margarets

Twickenham

TW1 2AW


t: 0208 607 8866 

skype: craig_9000

www.senatevfx.com




On 27 May 2009, at 18:11, Victor DiMichina wrote:

You can try something like this,  suited to your needs of course.   Note the eval command (thanks go  to Greg again and again,  of course)

################################
#!/bin/csh -f
if ( ! $?RUSH_DIR ) setenv RUSH_DIR /usr/local/rush
source $RUSH_DIR/etc/.submit
eval `/usr/local/rush/bin/rush -submit` << EOF
title           (your title)
ram             1
frames          (your frame range)
logdir          (your log dir)
command        perl //server/raid/2D_Apps/RushSubmits/Applications/submit-shake.app/Contents/MacOS/submit-shake-autolog.pl -render 1 1 Fail  /server/raid/path/to/someshakeproject.shk  0 -v -proxyscale 1 -v
cpus            +farm=10@10
notes           (optional)
EOF
if ( $status ) exit 1
# (eval eats the setenv command, so we duplicate it here)
echo "setenv RUSH_JOBID $RUSH_JOBID"
echo $RUSH_JOBID > /tmp/curr_jobid.txt
# Job #2 -
/usr/local/rush/bin/rush -submit << EOF
title           (your 2nd title)
ram             1
frames          (frame range)
logdir          (your log dir)
command         (another command)
cpus            +farm=11@980
waitfor         $RUSH_JOBID
waitforstate    done
notes           (optional)
EOF
####################################################


HTH
Vic


On Wed, May 27, 2009 at 7:54 AM, Craig Allison <craig@(email surpressed)> wrote:
Ok, so I've finally got around to looking into this and have decided to change my original way of thinking and give the artists the opportunity to render a quicktime on the farm once they are happy with the results previewed in Framecycler.

I have taken the submit-shake-quicktime script and amended it to allow users to select which film they are working on, select the first frame in the sequence to render and dialogue for slate notes etc - the combination of all this information chooses the correct shake setup script on the network, replaces the variables, saves a copy and submits it to the farm.

The script renders a 2K slate & greyscale (named and numbered correctly) and also a QT with the appropriate settings for the production.  I have it working fine but now want to speed it up by splitting the job into two, i.e. one script to render the two 2k frames and one script to render the QT.

I've got rush creating the 2 distinct shake scripts to render, but don't know how to get 2 scripts to render with a single rush submit, is there an easy way?

Cheers

Craig

Craig Allison
Digital Systems & Data Manager
The Senate Visual Effects
Twickenham Film Studios
St.Margarets
Twickenham
TW1 2AW

t: 0208 607 8866 
skype: craig_9000



On 19 Dec 2008, at 09:20, Abraham Schneider wrote:

[posted to rush.general]

Greg Ercolano schrieb:
Sounds interesting, but unless they have a non-gui interface,
it's not something I think Rush can control properly.

yes, that's right. I'm doing it in two steps at the moment: rush=20
executes a jobdonecommand script which creates an entry with the path to =

the image sequence in a queue folder. A small python script on my QT=20
creation Mac is watching this folder and does the actual 'feeding' of=20
the Silverstack rendering app (called Cinemator).

That's not a perfect solution but it works quite well for us at the=20
moment. And with the template files it is easy to do different burnins,=20
codecs, framerates, etc. depending on project or user choose.

Abraham

--
Abraham Schneider
Senior VFX Compositor, 2 D Artist
ARRI Film & TV Services GmbH   Tuerkenstr. 89   D-80799 Muenchen / =
Germany
Phone +49 89 3809-1269     EMail aschneider@(email surpressed)
ARRI Film & TV Services GmbH
Sitz: M=FCnchen  -  Registergericht: Amtsgericht M=FCnchen  -  =
Handelsregisternummer: HRB 69396
Gesch=E4ftsf=FChrer: Franz Kraus; Thomas Till





--
Victor DiMichina
Pixel Magic
818.760.0862


   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Auto Rendering of QT's on jobcomplete
   Date: Tue, 02 Jun 2009 14:47:29 -0400
Msg# 1846
View Complete Thread (17 articles) | All Threads
Last Next
Craig Allison wrote:
> Ok, the retiming of the slate didn't work, Shake still insisted on
> rendering the slate/grey over and over again as it rendered the quicktime.
> 
> Have used to following to submit the two scripts from one submit:
> 
> my $submit = <<"EOF";
> title        $in{JobTitle}
> frames          1
> command         perl $G::self -render $QT_script_to_render
> $in{Verbosity} $in{Retries} $in{RetryBehavior} $in{MaxLogSize}
> $in{PrintEnvironment} $in{Frames} $in{Production} $in{OutputQuicktime}
> $in{ShakeFlags} 
> $submitoptions
> EOF
> 
> my $submit2 = <<"EOF";
> title        $in{JobTitle}
> frames          1
> command         perl $G::self -render $Slate_script_to_render
> $in{Verbosity} $in{Retries} $in{RetryBehavior} $in{MaxLogSize}
> $in{PrintEnvironment} $in{ShakeFlags} 
> $submitoptions
> EOF
> 
>  # ErrorWindow("$submit\n"); # DEBUGGING
>     RushSubmit($submithost, $submit2, $in{JobTitle}, $in{StartIrush});
>     exit(RushSubmit($submithost, $submit, $in{JobTitle}, $in{StartIrush}));
> 
> This works fine, only that when the second job starts, the log for
> $submit2 is overwritten as both jobs share the same directory, not such
> a problem, but may try to iron this out over the coming days.

	This is because both submits are using the same $submitoptions:

my $submit = <<"EOF";
..
$submitoptions
..
EOF

my $submit2 = <<"EOF";
..
$submitoptions
..
EOF

	If you look at the contents of the $submitoptions variable,
	I think you'll understand why you're getting so many settings
	common between the Shake and QT jobs.

	In this case, the $submitoptions contains the 'logdir' and 'frames'
	command from the shake job, and passing that to both jobs is what's
	causing the overlap. ie. thats why the frame range and logdir are
	coming up the same for both.

	What you'll want to do is /not/ include the $submitoptions variable
	in the second job, and just set the frames/logdir commands you want, eg:

### CREATE LOGDIR FOR QT JOB
my $qtlogdir = "${Slate_script_to_render}.log";
if ( ! -d $qtlogdir ) {
    mkdir($qtlogdir, 0777);
    if ( $G::iswindows ) {
        my $dir = $qtlogdir; $dir =~ s%/%\\%g;
	system("cacls $dirname /e /c /g everyone:f");
    }
}

### SUBMIT THE QT JOB
my $submit2 = <<"EOF";
title           $in{JobTitle}_QT
frames          1
command         perl $G::self -render $Slate_script_to_render ..
logdir          $qtlogdir
EOF


	BTW, if you want to see what the first job's $submitoptions is set to,
	you can stick an 'ErrorWindow();' command in there just above the first
	submit, eg:

ErrorWindow("SUBMITOPTIONS IS SET TO:\n$submitoptions\n");

my $submit = <<"EOF";
..

	This way when you submit a test job, you'll see what the variable
	is set to, so you can then determine what you'll need to pass in
	the second job, in case there's more than just 'frames' and 'logdir'.

> As an aside does anyone know a quick way of always resetting to defaults
> for the QT render instead of Rush picking up the last settings every
> time? I assume it's a deletion of a certain local file, but maybe I
> could just reset certain fields which would work much better?

	I'm thinking my answers above should help with that.

	Basically its that same "$submitoptions" variable being
	passed to both jobs.

	Let us know if you have any other questions.

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)