|Batch Export. What Is It?
Batch export is a function currently missing in velocity. It allows multiple timelines to be exported in the same format without having to baby-sit each timeline. Since version 9, velocity will handle up to 100 timelines per version and 20 versions per project. That means one project can potentially hold up to 2000 timelines! Currently, velocity has a “batch export” function that will export the same timeline into multiple file formats, but in our workflow that isn’t nearly as helpful as exporting multiple timelines to the same format. So I sat down and wrote a batch export script written in Vbscript to automate the exporting of these timelines.
This is a script language native to windows, specifically windows XP. It should run on any default XP box. This means once you have it on your hard drive, simply double-click it. For Velocity, you may find it more useful to assign it to a quick key so you don’t have to retreat to your file explorer to run it. The script will work either way, assigning it to a keyboard hotkey is merely a convenience.
Note: Historically, Vbscript has served as a tool for hackers to take control of your windows system. Because of this, anti-virus tools are very leery of allowing scripts to run without your knowledge. The first time you run this tool, you may get a notification that this script is going to run and will ask for your permission. In Norton Anti-Virus, simply choose “Authorize” and you shouldn’t receive this again. In other circumstances, you may need to adjust your anti-virus to allow this script to run. I’m assuming this will run unhindered in XP SP2 but I’ve only been using it on SP1 currently.
The first thing the script will do is gather information it can’t collect itself. Most importantly, the number of timelines you wish to export and the duration it needs to wait for each timeline to finish. The script won’t know when velocity is done with each timeline so you simply have to input the time of your longest timeline in seconds. In addition, the script will ask if you want to perform an optional “movie range” function. If you choose “yes”, it will ask for the in and outs you’d like to use and then perform those same ins and outs on all of the timelines (based on the number of timelines you gave it in the previous dialog). This function is most helpful if you have a lot of timelines that share the same in and out points (if you have a lot of thirty second spots starting and ending at the same time, for example). This is merely a time-saver function and not necessary to run for the batch export to complete successfully. You may manually set the movie ranges on each timeline if you wish.
The script will pop up dialogs reminding you of some of these things to be sure of before you launch the batch export, but here they are again for reference:
- Be sure to map your hotkeys to those mentioned at the top of the batchexport.vbs document.
- Be sure to go through the movie export once in velocity so it will remember your settings. For example, if you want to export a hundred timelines in windows media format (.wmv) then first you’ll want to go to the first timeline, choose movie export, choose the compression rate, choose the path and filename, then hit export. It’s only necessary to start this export for a second or two, then hit cancel. Velocity will remember the last settings used and the script will use those settings when it runs. If you don’t actually start a batch export, I think velocity will remember your file format settings but not your path (assuming you changed it). So it’s usually safer to just get into the habit of briefly starting one batch export to the desired path and with the desired file format.
- A few other dialogs will pop up reminding you of various things. For example, the current version of velocity will allow you to export a timeline that’s not rendered (assuming it needs rendering at all). One of the reminders is to render the timeline if it needs to before exporting. Also, there is not currently any cycle bin backwards functionality, so your first timeline may not be selected before it starts. If it’s not selected, simply alt-tab to velocity, pull first timeline forward, then alt-tab back to script.
- After it’s done collecting information it will run. What it’s doing through each iteration is performing the exact same keystrokes the user would perform if they were sitting there. This is why assigning hotkeys is important and this is also why setting the correct duration is important, the script doesn’t know when velocity is finished and velocity won’t accept commands if it’s still exporting a timeline. All you have to remember is to input the timeline’s duration in seconds. If your movie range is 40 seconds for each timeline, you’d enter 40. You can enter higher numbers if you like as this will allow your system more time to complete each timeline. This is a safer way to go if you think your computer may take longer than real-time to complete a timeline. For example, if you’re exporting a quicktime “animation” .mov file it’s likely the computer won’t be able to spit it out in real-time. You can run the timeline once to test how long it will take. Again, putting in a few more seconds never hurts.
- Do not use the system while batch export is running. It’s possible to use the system while a timeline is exporting but if you happen to be switched away from velocity during the time where it’s supposed to switch timelines it will likely fail in some way and you’ll need to cancel and restart the script from that timeline.
|What It Currently Won’t Do
- Currently, it won’t switch timeline bins so everything you want to render has to be in the same timeline bin. This holds true for versions the script won’t switch versions and begin rendering on those timelines either. Currently, one timeline bin will hold up to 100 timelines so this is the maximum number the script currently supports. Feel free to improve upon this if you have the time / inclination. If you do, please share it with everyone else! J
- It won’t be able to guess how long each timeline is, so if you have timelines of varying lengths you have to use the length of your longest timeline. This also means it will be slower as it will have to wait that amount of time between each timeline before starting another export.
- It won’t allow you to use your edit suite much during this process. This includes alt-tabbing to another program while it’s running. The script does have a limited capability of switching back to velocity but it isn’t perfect and I can’t guarantee there won’t be problems if you’re working in another program. Remember, once the duration is up the script is sending commands to your computer, so if you’re in another program and the script doesn’t successfully switch you back to velocity it will send those commands into the wrong program. I don’t forsee this as being a huge deal but something for you to keep in mind.
- This won’t work on velocity for Reality as this script will only work on Velocity 9.1.36 and newer. Development stopped on the reality platform at version 8.2 and some features aren’t implemented in that version that this script needs. It should work in VelocityHD however as the commands and functions are the same between it and VelocityQ. As of this writing I have not been able to confirm this as I’m still on VelocityQ.
- It won’t name the timeline’s exports something different than they already are, one of the required features of this script is that the timeline filename is by default the same as the timeline name.
- It won’t allow exporting multiple timelines into multiple formats, this will only exporting multiple timelines into the same format.
|What Do I Need To Run It?
This should work in Velocity 9.1.36 and later. Once you download it, you’ll want to right-click on it and choose “edit” to open the script in notepad. At the top of the document is a brief explanation of some hotkeys to map so the script will function correctly on your velocity system. Some of these will already be mapped, others will not. It’s possible to change which hotkeys the script uses but it’s recommended to use those mentioned in the document.
|Can Vbscript Be Used To Control Other Applications Besides Velocity?
Yes. Also, feel free to improve upon this script as well. It’s possible to add functionality to this script ie. the capability of logging what it’s done as well as notify you in various ways that it’s completed and explain what it’s done, including emailing you. This is more complicated to code and the steps required to pull these features off will differ by system, so I didn’t include these capabilities in this version. For now, I wanted to allow an editor to start a batch export (any real-time format) and be able to leave the workstation to do other things, like go to lunch or home, work on other duties, etc.
This is an automation script that will aid you in batch exporting many timelines to the same file format from within Velocity. This will free you up to do other things while it’s being performed. Hopefully this will help everyone who routinely has a need to export lots of timelines.
This script would not have been possible without Leitch’s commitment to customer service. I personally thank Bob Bolson and others at Leitch (now Harris) for going the extra mile by putting new hotkey capabilities in place. Hopefully we will all benefit from this script and these new features.
(John David Hutton)
Feel free to comment or ask questions in the Leitch dps Velocity forum at Creativecow.net.
* Build Your Own VelocityQ. See how *