Slice and Exporting 300 Separate Videos from One Composite

Hi all,

How can I export and slice a large number of videos from a single high-res render?

It’s for an installation with 300 individual screens. I’m working with one big render and need to split it into 300 separate movie files, not projection mapping.

The layout is irregular (circular, not a grid), so simple cropping doesn’t work well. I’m looking for a way to export each rectangle, either by isolating them one-by-one or using a smarter scripting method. Is it possible to render out each rectangle instance?

Any advice, examples, or tips would be really appreciated! :folded_hands:

There are two components to what you’re asking for. One, figure out how to identify what belongs to a single screen. You’ll likely need to have a programmatic way to derive the four corners of each screen on the master comp. If the attached image is indeed representative of what the master comp looks like, then a simple crop will suffice to extract each screen’s worth. But if you’re starting with something more like a fisheye then you’d need to do it via latitude/longitude coordinates and create a rectangular polygon mapped to the x,y coordinates provided by the lat/lon calculations

As far as writing it out, you can go parallel or serial: in parallel mode, you’d have a master object and 300 replicants. Add a parameter to the master that defines the corners of your subscreen, and conjure up an output filename that is meaningful. Again, if the attached picture /is/ representative, then a simple x, y index would be fine, e.g. screen_14_03. Simply don’t write out the screens outside the circle, but keep the indices constant as if they were there.

The serial approach is to have a single object that will run through the frame range 300 times, maybe use a Timer CHOP to create an index that increments on each run-though of the frame range. Afaik TD doesn’t have the notion of a ROP like Houdini does, i.e. an output OP that represents a deliverable generated by the TD file, so you’d be cobbling together your own solution.

The rectangle are instanced from a grid, so I have a table of x, y, z positions also the four corners of each screen.

The parallel setup works for smaller amounts! I tested using a Replicator with a Movie File Out for each item, indexed by point number but 300 is too heavy and causes frame drops.

Also, rendering the full 3K resolution and cropping it into 300 videos is already pushing my GPU to its limit. I’m thinking of using camera positioning to isolate and render smaller sections directly, then cropping afterward for each screen.

Thanks again for your guidance!

Hello,
I made something similar few years ago.
I used rectangle instances with a table containing the algorithmic uv coordinates for each instance.
Thats the best use of your GPU, IMHO.
Unfortunately, I do not find the original project.
Jacques

So maybe the trick here is to turn off the realtime button (very top of TD window to right of FPS). Just make the 300 replicants and have it chug through them all, at whatever speed it can muster (even if that’s seconds per frame). With realtime turned off it shouldn’t skip frames in the MovieFileOut nodes. Or is there a particular need to do this in realtime?

Hi @jacqueshoepffner
I’d love to try the method! I’m pretty new working with UV coordinates.
Wondering if you know any similar examples or tutorials I could look into to help set it up? Thank you.

I don’t need it to run in realtime, so turning off the realtime button makes a lot of sense! because my fps is pretty low with 300 replicants in realtime… Thanks for the tip!