For quite some time now people have asked for the an ability to collect clips similar to how AE does. I had a bit of spare time on my hands so I thought I’d give it a go. I must say, I have a new appreciation for the dev team who have to envision every possible scenario a user could organize things! Turns out nothing is all that straight forward.
What It Does
The script will go through all the non-shared libraries within the current workspace and scrape everything to find clips. This includes folders, reels, reel groups, batches and desktops. If a clip is uncached then it is added to a file (a note of this later). At the end you can use this file to run rsync to copy everything to a backup location of your choice. The original folder structure is kept.
As of version 0.5, there is the option to scrape only un-cached media or everything regardless if it’s cached or not. I figured this could be useful to some. You could use it to track everything used in a project for exmaple.
What Doesn’t Work/Cavets
Currently you can not get the cached status of a segment so it will treat these as uncached and add them to the list.(Fixed in v0.4)- Unable to get anything that is inside a BFX so all clips that have one applied will not be picked up. Upvote FI-02664 to allow that.
- This will only grab the used version of a versioned clip, not every version available.
- This will only grab the latest batch iteration, not previous iterations.
- Only works on the current workspace.
Will not grab audio.(Fixed in v0.2)- Flame returns the path of an image sequence as the first frame in the sequence, not the first frame being used within said image sequence. For now the safest route is to find the last frame in the sequence on disk and use that to populate the list.
Unsure if it’s possible:
Access a BFX segment and get a list of clips used within it along with their attributes.(It is not, upvote feature request above)See if a clip is an audio file (I didn’t stress about audio all that much…these clips were giving me errors so I’ve ignored them for now)Implemented in v0.2Access other workspaces within the project.(It is not and for good reason)- Access clips used in previous batch group iterations and get clips used.
Who This Is For Right Now:
Someone who doesn’t use BFX (or if they do, then they have a reference to the original clip either in the timeline or someone within a library).
That said even if you’re not that person, knowing the above limitations, you do you and maybe it fills a need. Funnily enough, I personally am not the target audience but we never moved to an un-managed workflow due to this exact issue.
How To Use
Download v0.8 of the script and put it where you keep your hooks. Once you’ve refreshed your hooks you’ll see a “Collect Media” option within the main menu. Once it’s run, have a look at the shell and you’ll see where it has placed the text file as well as a rsync command to run.
By the very nature of rsync you will not have duplicated media so you can run this across however many workspaces/machines you have and be left with a clean backup.
I hope some of you find this useful. Let me know how it works out in your given situation. I’ve tried to test it fairly throughly but I’m sure there’ll be something that throws up an error somewhere.
If anyone would like to help make this more robust or to address some of the things I couldn’t figure out, please chime in. Sharing is caring as they say. @fredwarren @MikeV @claussteinmassl maybe you guys already know if any of those things are indeed possible and could point me in the right direction.
Finally, thanks to @claussteinmassl for helping me with the sub-folder issue.
Disclaimer: This isn’t bullet-proof nor is this my day job so use it at your own risk. You should always verify your backups before you remove anything.