Is Daz Studio smart enough to not render frames which are exactly the same?
jamesramirez6734
Posts: 90
Naturally with animation, you may get some frames which are identical.
Is there anything built into Daz which will detect identical frames and skip them? Of course you could remove these duplicates yourself, but then you'd need to use a video editor to readjust all the timing again.
Post edited by Chohole on
Comments
how you render an animation?, do image series, is more secure, and if your process is broken, say...only frames rendered from 0 to 235 and your total is 850 you could continue from frame 236 to 850 and not begining to 0.
and Virtual Dub only requires the first frame and it will include the rest, for this example check my video on time 10:31
No it's not. It does what you edit it to do.
Right. Sometimes we need those extra identical frames for timing. It's up to the artist to set up the render.
using a video editor after rendering an image series is the most sensible choice in any case.
if you are rendering to video you are losing quality from the start as D|S actually renders to png series in application data then compiles and compresses it into a video file
if syncying to a lipsync track using Mimic live there will be a wav file it produces in your documents
otherwise I am unsure what you mean by timing work
It's been quite a while (two decades) since I have done video editing on a PC, but the idea of rendering only the changed areas of the image is nothing new, it would have taken at least 10 times longer to produce the final result without it.
If DS renders animation as if it was just a series of separate still images, there would be huge improvements in overall rendering time if only the changed parts were rendered.
My biggest time saver for animations comes from being on a Mac, and the movie save routine doesn't work. See, 100% time saving!
Unfortunately, D|S doesn't know what the changed parts are without rendering them.
Yes, a DAZ programmer could take two frames and compare all the scene animinate frames geometry and materials content and discard the duplicate scenes but that then ruins people's attempts to time their animations to be what they want as another poster stated earlier.
If you had a movie open with a shot of a building and the statue in front of it for 5 seconds then what you are wanting done would not allow that 5 seconds to be made. Instead, you would have to ask the people watching the movie to know that it should be paused at a frame like that for 5 seconds and then the movie started playing again instead of 5 seconds worth of frames that look like that scene. What you are wanting makes no sense from the perspective of the people making the moving or watching the movie.
Anyway, when you encode the movie the movie encoder has all the software capabilty to use encode only the parts of the frames that are changing between frames while keeping parts of the frame that haven't changed from some prior frame intact. And the movie files has information for the software regarding timing of the video frames, audio frames and other needed information. For that to work you need to make your movie with normal timing for the movie software can work correctly without your further intervention. That software mechanism is completely different from making and showing a film on celluloid film where you must print every frame on a film strip and sync that printed celluliod with a printed soundtrack as well.
Like Wendy Catz says, the DAZ Studio encoding of a movie film isn't that great. You are better off exporting your animation to a series of images and then using Blender or other 3rd party software to collate those frames into a movie and then collate and sync a sound track with those series of frames. You can add duplicate frames in Blender (or whatever 3rd party SW you are using) to help sync lips and music to match what you need them to match in you movie. That is more difficult once you already collate the frames into a movie file and try to sync a soundtrack to that movie film.
In the sense that, when you animate on the timeline, you're placing pauses where nothing happens (between speech stopping and starting for example). You do this so the animation looks as you want it to.
But the problem is you can't just go and render this work, because Daz will waste days rendering identical frames where the pauses occur. This is painful because you now need to identify and remove all the duplicate frames yourself, render an image series, and then re-add in the pauses in a video editor.
It would be extremely simple if Daz just skipped duplicate frames from the rendering process (when it finds an identical frame, it just outputs the result of the previous render).
Daz absolutely does have this information. It knows whether one frame is identical to another.
mine rarely have lots of pauses where nothing happens because I render lots of segments and join them
the figure usually has some idle motion and blinking also
I am trying to picture what sort of animation you are doing, like a wooden doll?
as for camera flyarounds I stick static frames inbetween my camera dolly pan segments all the time
Anyone who wanted to get started in scripts, this might be a good project to try to do. It'd be kind of cool if a script could render an animation frame by frame, but when it detects that the scene hasn't changed, it just automatically copies the rendered image.
it may also be the nature of the GPU path tracing render engine because Carrara native which is an old fashioned ray tracer certainly knows when bits haven't changed and the tiles just skim over those bits.
I haven't checked with 3Delight but suspect it's the same.