Bad Frames

   4340   9   2
User Avatar
Member
127 posts
Joined: Aug. 2010
Offline
Hi, I've a sequence of about 5000 frames and probably more than 200 of those rendered with various geometry glitches. Now the bad frames are scattered all over the frame range and as the render time for each frame is about 4 min i'd prefer to batch up a list of the bad frames and have them render over night.

Now is there a smart way to do this? Searching around but can't find a clear solution to the problem.

cheers
User Avatar
Member
7025 posts
Joined: July 2005
Offline
How are you rendering? Just straight out of Houdini, or to a render queue?

If it's straight out of Houdini, you can set your ROP to “Render Any Frame” (which will render only the current frame when you click Render) then use this simple Hscript:

foreach frame (1 54 67 89)
fcur $frame
render /out/MYROP
end

In the above, replace the numbers with the frame numbers, and MYROP with the ROP you are using (I assume it is in /out, if not change that path too)

Voila!

Cheers,

Peter B
User Avatar
Member
127 posts
Joined: Aug. 2010
Offline
hey! thanks peter!

I'm having a hard time executeing the script though.

i decided I'd try converting it to a python script instead, though I'm just missing the part where one trigger there render node.


framelist =
for x in framelist
hou.setFrame(x)


any clues?
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Great tip Peter

Rob
Gone fishing
User Avatar
Member
7025 posts
Joined: July 2005
Offline
Sorry, my Hython is weak I didn't actually test the Hscript either, so I might have made a typo. Unfortunately, I don't have a Houdini to play with right now, sorry…
User Avatar
Member
257 posts
Joined: Nov. 2010
Offline
Neat trick, i got another question and sorry to hijack this thread for abit.

Is there an automated way of locating which are the bad frames within a sequence, it's exhausting to play through the whole thing. Thanks in advance!

eitht
User Avatar
Member
7025 posts
Joined: July 2005
Offline
No, there is no 100% foolproof method. However, you can write Python (or other) scripts that look on disk and detect:

-if the file is missing, well, it's likely bad
-if the file is smaller than a known minimum size, it's likely bad.
-if a file is radically different in size (some percentage smaller than the average 2 frames in front, and 2 frames behind) then it could be bad
-if you run “iinfo” on the file and it returns an error

However, this is not guaranteed to catch all problems! Only actually flipbooking and viewing the images can confirm that. If you want to do production work, get used to it If you're really lucky you work at a very large company where the render wranglers will check for you

Cheer,s

Peter B
User Avatar
Member
257 posts
Joined: Nov. 2010
Offline
I'm kind of surprised there isnt a 100% way of checking besides looking frame by frame…

When a bad image shows up on mplay - it's indicated in red text and thought that image file would be “tagged bad image” in it's file info or something then users could actually run those files through a script and capture any image file with that tag - which was what you mentioned.

Render wrangler sounds like the worst job ever for movie goers, spoilers… hehe.

Thanks Peter!

eitht.
User Avatar
Member
7025 posts
Joined: July 2005
Offline
Well, in the case you mention where it's really a “bad frame” then the “iinfo” method should work. It's just that you can't rely on that, often Mplay and other tools will happily load a frame that is half-rendered but it's useless to comp…

Cheers,

Peter B
User Avatar
Member
127 posts
Joined: Aug. 2010
Offline
hi, though i just finished up this thread. the project fell on ice for some time.

so, to render spesific frames one can use the following python code

framelist =
for x in framelist:
hou.setFrame(x)
hou.node(“out/myMantraNode”).render()


in framelist you list the frames need to be rendered, in the hou.node() you reference your mantra node.

watch out that you get the python syntax right, should work.
  • Quick Links