Mark Smith wrote:
I'd like to use Rush in a way that it might not have been designed to
and thought I'd ask if it was possible first.
Actually, Rush is designed with customization in mind.
You can shove just about anything command line oriented
through it, including backup tape operations, filmout operations,
it's even been used for MP3 generation.. what else are you going
to do with all those CD drives on your render farm? ;)
We use Framecycler for playing back sequences. To allow real time
playback of really long sequences Framecyler has its own proprietary
file format called .ihss. Now you can make these ihss files in the
Framecycler GUI or use Framecycler’s command line utility (no GUI at
all) called Sequence Publisher that takes a sequence of frames and
creates one .ihss file.
So I want to make these .ihss files on the farm and do it through Rush.
Sure, should be no problem, me thinks.
It's just like any other renderer or compositor..
So instead of doing an operation on lots of frames spread over a farm, I
need to do one huge operation on a whole sequence just on one render
node, and output one file.
Is this possible?
Yes, you can submit it as a 'single frame' rush job.
This is done when generating Quicktimes as well.
Sequence publisher has the following syntax:
publisher /path/to/frames.#.cin /path/to/outputfile.ihss –r 50% 50%
You can submit it to Rush using 'submit-generic'.
Or, you can make your own submit script using this tutorial as a guide:
http://www.seriss.com/rush-current/rush/rush-tutorial.html
..or, just hack up a copy of one of the simpler example scripts
in the rush/examples directory.
To submit it through submit-generic, you might specify:
Shell: perl
Job Title: FRAME_CYCLER
Frames: 1
Batch Frames: 1
Log Directory: //path/to/some/empty/dir
Commands: system('publisher /path/to/frames.#.cin /path/to/outputfile.ihss –r 50% 50%'); exit(0);
Cpus: +any=1@50
I would think that would do it.. just change the pathnames as needed.
Set the "Cpus:" to whatever +hostgroup is appropriate for framecycler,
ie. whichever group of machines has the publisher software installed.
(I assume if you have a mix of Windows and Linux machines, you probably
have +win and +linux hostgroups, so to submit only to windows, you'd
set "Cpus: +win=1@50" or similar.)
I didn't put in any error checks, because I don't know if publisher uses
exit codes or not. So with the above, Rush will always say "Done", even
if it failed.
To add error checking, you might use for "Commands":
Commands: my $err = system('publisher /path/to/frames.#.cin /path/to/outputfile.ihss –r 50% 50%') >> 8;
if ( $err ) { print "--- FAILED: PUBLISHER RETURNED $err\n"; exit(1); }
else { print "--- SUCCEEDED\n"; exit(0); }
If there's a general desire for an 'official' GUI oriented rush submit
script for this kind of thing, let me know and I'll post one.
--
Greg Ercolano, erco@(email surpressed)
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Cel: (Tel# suppressed)
Fax: (Tel# suppressed)
|