I am running a large file through VDUB Deshaker and I notice that my CPU stays pegged at 50%. Is there anything I can do to make the CPU work harder and finish a bit faster?
Duncan, try this:
Press Alt-Ctrl-Del on your keyboard and click the Processes tab when Windows Task Manager opens. Right click on Deshaker and assign it realtime priority. Let me know if that improves the performance.
I am 50% through an 18 hour render at the moment and I don't want to risk it :-)... Power went out last night - most likely at 17:59:59. Purchased APC 1250 today :-)
Obviously you thought of doing clips one by one and decided to do all your footage in one run. Clip by clip would protect you from losing the whole batch in the case of a power out and other glitches. Why did you select the "big bang" approach?
Because all of the footage has the same characteristics and I don't have to baby sit the process for 18 hours, which is what it would take to render 25 smaller clips as well and I would have to drop by the computer every 40 minutes or so. I can then dump the 25 minute clip in to Vegas and split as necessary - makes the editing go twice as quick.
VirtualDub has a batch facility that can be very helpful, should you want to split future projects into smaller AVI files. I use it all the time. File -> Job Control in VirtualDub. It creates a file that you can edit, so you can make changes in a word processor should you find that easier.
(1) If DeShaker is only using 50% of the CPU, it implies that some other process is also a heavy user. Frankly, I doubt it, unless you are rendering in parallel from Vegas (which you aren't). Therefore, the implication is that the CPU is constrained by disk activities associated with the DeShaker process. In other words, the CPU can't process any faster than the disk can feed. Maybe there's something you can do to speed up the disk throughput.
(2) If you DeShake a finished project, it works great, but DeShaker will not stabilize any dissolves. In other words, if you dissolve from one shaky scene to another, DeShaker will try to stabilize the net result, but will not know what to lock onto during the actual dissolve. I this case, you will need to stabilize each scene separately, and then combine them on the timeline.
(3) If you do the CTRL-ALT-DEL thing, click on the top of the percentage column to see just what is eating up the CPU cycles. Obviously DeShaker will probably be #1, but see what #2 is. It will be either some program, or "Idle." If it's idle time, refer to item (1) above.
Yes I only use Deshaker to stabilize working footage that I then bring in to Vegas to be split and edited with transitions etc.
I have no other processes eating CPU time and the drive is a RAID 0 at 119MB/second sustained write speeds so I doubt that would cause a bottleneck.
Love the program - is there a way to save information obtained in the first pass (LONG) to be run later so as to not have to run the first pass again if a glitch is found? Saving settings only saves your filter pass settings and not the actual calculations performed during pass 1.
is there a way to save information obtained in the first pass (LONG) to be run later so as to not have to run the first pass again if a glitch is found?
Definitely. Just use a different LOG file each time (it's in the first of the three columns). When you want to go back and do something different with a particular clip, just specify the name of the log file in column one, and then go immediately to column 3, specify whatever parameters you want to use for deshaking, and then proceed directly with the final pass.
One of the interesting ideas that I only hinted at in that guide I did a long time ago was that you can use the LOG file (the motion vectors) from one clip to intentionally introduce motion in a second clip. The idea -- which I never pursued, but which should work in theory -- is to use Deshaker to "track" an object within a video (using the motion smoothness setting of -1, and also using the Deshaker masks to only look at the part of the video that contains the object of interest). Create a log file in pass 1. Then, use this same log file on a mask clip to create a mask that moves exactly in sync with the object.
This potentially could save tons of time with motion masks and rotoscoping.
Here's what I wrote at the end of that guide (as I read it now, it is pretty cryptic):
One possible use, suggested by one user, is to set the horizontal, vertical, and rotational motion smoothness settings to -1. As described in the Deshaker documentation, this causes Deshaker to never move the camera from its original position, even if it means moving the video violently and destroying the edges. I have used -1 settings, and didn’t find them useful. However, what I forgot is that the LOG file created by this process is in essence a set of instructions for how to keyframe a video to exactly match the motion of this clip. Thus, if you could use the “Ignore Image Area” and also the -1 settings to force Deshaker to track the motion of one portion of the video, then you could load a different video into Deshaker, and perform a pass 2 using the LOG file from the first video clip (and with the motion smoothness settings on -1) in order to make that clip match the motion of the object in the first clip. You would then render this to an AVI file, line it up in Vegas, and then composite it with the first frame, thus giving you a composite track that would match the motion in the child track. Again, this is theory, but it is intriguing theory nonetheless. Again, the central part of the idea is to use the stored motion vectors from one clip to introduce identical motion in a second clip, so that the two would track.
If VirtualDub/Deshaker combo is not multiprocessor-enabled, I think 50% is the best you can get on a Hyperthreaded, Dual Core, or 2-processor machine, meaning it is maxing one cpu out to 100%. Vegas/MainConcept I believe are both enabled for multi-processor support. They can max both processors for 100%.
It is very difficult to take a legacy program and upgrade the internals to utilize more than one cpu.