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
Bad Frames
4340 9 2- aeaeaeae
- Member
- 127 posts
- Joined: Aug. 2010
- Offline
- pbowmar
- 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
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
- aeaeaeae
- Member
- 127 posts
- Joined: Aug. 2010
- Offline
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
- pbowmar
- Member
- 7025 posts
- Joined: July 2005
- Offline
- eitht
- Member
- 257 posts
- Joined: Nov. 2010
- Offline
- pbowmar
- 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
-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
- eitht
- 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.
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.
- pbowmar
- Member
- 7025 posts
- Joined: July 2005
- Offline
- aeaeaeae
- 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.
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