A _really_ nice to have feature: Segmented render.

A. Grandt wrote on 3/28/2011, 12:07 AM

After having waited a little over 9 hours on a render, I discover a few small issues, a cross fade that didn't quite work out, and a typo.

I never used it, but from what I understand it, the Network render renders the entire video in segments and then stitch them together at the end.
Why not expand on that idea, and leave the segments and allow the editor to re-render just the parts that need it, of instance in situations like the one I described above?

The caveat's would of course be to make the rendering able to extend or shorten a segment. Keeping track of this will not be easy.

There should be some added benefits from this kind of rendering:
If Vegas crashes part way through, it should be able to continue from where it left off.
It should also allow the editor to review the output even before it is fully rendered.

Any thoughts?

If this already exists in Vegas, do tell :)

Best Regards


altarvic wrote on 3/28/2011, 1:19 AM
If your output format supports smart render, then add the result file to your project (underneath the existing tracks) , change what you want to change and then delete all parts except the changes.

> If this already exists in Vegas, do tell :)

There is no such function in Vegas, but this can be done via scripts (again using "smart render friendly" formats) Of course this will not be so convenient and fast, as if it were a built-in feature.
TheHappyFriar wrote on 3/28/2011, 9:08 AM
If I need this I render regions (batch render) at small intervals (small is relative to the project) & then put them together at the end. If you're rending to a mpeg-2 format then you can do this already because Vegas 10 (8 & above I think) does mpeg-2 smart render. I've fixed several mistakes by just rerendering out a small mpeg-2 section & then re-rending the whole thing with just the mpeg-2's.
rmack350 wrote on 3/28/2011, 9:27 AM
Vegas gets close to this when you selectively prerender video. It renders everything in segments, and you get a few choices of render formats. I think with a little work SCS could give you an option to promote the prerenders to a new track.

Short of that, you could probably go find the prerenders, copy them to a new folder, and drop them on a new track on the timeline.

Another option is to just render directly to a new track, and perhaps there's a script that would do this as a segmented batch job. It seems the key to it would be whether Vegas could then do a smart render to your final output file. Otherwise you're looking at a double render.

Rob Mack
apit34356 wrote on 3/28/2011, 2:19 PM
you don't to have render the entire project to fix a few "errors" . There are some nice Mpeg-2 editors that do this job nicely. But it would be nice to be able to create encoding seqments--that one could set birates+etc...., by use markers. ;-) like the big boys do.... and girls... ;-)
rmack350 wrote on 3/28/2011, 3:49 PM
What people *used to* do back when they were working with DV is to just render to a new track and then cut into it when they wanted to make fixes.

An advantage to some sort of segmented render could be that you don't lose hours of rendering when vegas crashes partway through the job, and it might help you to figure out where the crash is occurring. This is one reason I think it'd be nice to promote (demote?) prerenders back down to a new track in the timeline. Prerender files are segmented by their nature.

musicvid10 wrote on 3/28/2011, 8:11 PM
[i]"What people *used to* do back when they were working with DV"

With FAT32 there was no problem. We had to render in 9 minute chunks, no other choice . . .
TheHappyFriar wrote on 3/29/2011, 7:02 AM
Then either I always used NTFS for the renders automatically broke things up.

If scripts could add regions then someone could write a script with in interactive dialog (Excal/Ultimate?) that has you set the segment length, renders to the name you want with appended segment # & then deletes the added regions. It seems possible in my head anyway. :)
rmack350 wrote on 3/29/2011, 2:01 PM
If scripts could add regions then someone could write a script with in interactive dialog (Excal/Ultimate?) that has you set the segment length, renders to the name you want with appended segment # & then deletes the added regions. It seems possible in my head anyway. :)

It sounds totally possible, and you could just use Vegas' prerender behavior as a model for it. Basically, I think you'd want to render to formats that can then be smartrendered to a final file. The other things you might want are to save off your previous markers and regions (that'd be a nice feature regardless), and then maybe some options to mute your underlying audio and video tracks after the render.

I really think this would help in troubleshooting failed renders, or picking up where the failure left off.

TheHappyFriar wrote on 3/29/2011, 6:45 PM
The only files Vegas seems to smart render are DV AVI's & mpeg2's. That would make all the tapeless crowd very unhappy. :)
Rob Franks wrote on 3/29/2011, 7:24 PM
You could do segmented render to M2V or AVC and then use TSmuxeR to stitch them together.
TheHappyFriar wrote on 3/30/2011, 5:47 AM
I'm under the assumption that we want to keep it all in Vegas.

TMPGenc does lossless mpeg combining too. I have that installed for that purpose. MS's WMV encoder might do lossless WMV combining but I'm not sure.
rmack350 wrote on 3/30/2011, 11:03 PM
I think the initial idea was to be able to make small fixes to a big program and not have to repeat a nine hour render. So I think you'd want to stay in Vegas to make those fixes.

Segmented renders are one way to approach that and we've pointed out advantages to the idea. Another possibility might be some other built in way to render smarter. What if it only took a half hour to do that final render, rather than 9 hours? Maybe if all the things that were going to need final rendering were already prerendered? For example, if every transition had already been rendered in the background to some intermediate format, would that shorten the final render job? And could this be done in a way that people would accept? It'd most certainly eat up disk space.

One approach I've imagined in the past is for Vegas to save cached frames to disk and keep them there. Every time you do a ram render Vegas would save it to disk. Every time vegas caches frames during playback, it could save those frames to disk too. It'd actually be a lot more complicated than this, and I think a segmented render-to-new track would be ideal if you could then stitch or smart render to the final file from within Vegas.

I was watching an NHK World piece about business disruptions during rolling power outages in Japan. This is another situation were segmented renders might help you. If the power goes out during a nine hour render you have to just start over.

TheHappyFriar wrote on 3/31/2011, 5:38 AM
Rob, you gave me an idea: we know video plugins, at WORST, only work with the current frame. That fame COULD be written to disc if someone wanted to (once it's stored in video memory it could, again, at worst, ripped from video RAM & put on the hard drive. It's done with games to illegally get content all the time).

If that could be done, a plugin could be added to the master FX, track FX or to an event/media that, when it's displayed in the preview, writes that image you see in the preview to the drive. Then you would have all your stuff, prerendered, on your drive, at the settings you are viewing at.

The limitation would be the preview setting.
rmack350 wrote on 3/31/2011, 10:34 AM
One thing I always have to remind myself of is that what you see in a program's interface isn't necessarily what's going on under the hood. For example, a Levels tool and a Curves tool tell a very different story and yet you could use the Curves tool just to adjust levels, if you wanted.

I'd love to spend all morning on this but I'm about to get in the car for a road trip. However, here's a list of assumptions:

---If you are saving rendered frames you probably need a way to specify where they'll be saved and to what codec.
---If you are saving rendered frames Vegas needs a way to verify that the rendered frame is the same as what underlies it on the timeline. This has to be quick and unobtrusive. Vegas needs to be able to discard those frames when they're no longer in use.
---You probably don't want saved frames to be dependent on the preview window's quality.You want them to be Good or Best/Full and sometimes you might want them to be in 32-bit color. You also want an alpha channel saved.
---My conception of Vegas's use of RAM renders and frame caching is that these are uncompressed frames. Think about it. All media must be decompressed before you can view it. By definition that is an uncompressed frame in RAM. Do you write back to the disk as uncompressed? Probably not, but you'd need to stay pretty close to uncompressed to retain an alpha channel, yet be compressed enough to play off a hard disk. To me, this says that you need the user to buy into this when they set up the project, deciding where to save the cache and maybe in what codec.
---I have kind of imagined that the codec used to save cached frames would be an RLE codec and where-ever no frame was saved that'd just be a clear (empty) frame in the file. You'd use a succession of files and they probably need TC from your timeline in them.

Gotta run now, happy ruminations!

TheHappyFriar wrote on 3/31/2011, 11:00 AM
Can't have everything. :) Even prerenders require the user to make a decision. This isn't something someone should just say "it works on whatever, yippie!", the programmer would need to put in restrictions for this kind of thing. IE if it's all TGA images then so be it. If you didn't like it then don't use the feature.