Any interest in utility to prune source media files used by project?
I'm guessing this is a common issue - you have a ton of source footage but after your edit is done you only used a small percentage of it. If you have no interest in preserving the unused source footage you can easily delete the files you haven't used. However this doesn't address the issue of footage files you used partially - for example if you have a 30 minute source file but only used 5 minutes of it.
One way to avoid this scenario is to do a rough cull of your files early in the edit process and resave the source segments you want to keep, but that requires re-encoding your sources. If your workflow already involves transcoding then this isn't an issue. However if you don't already transcode this means either a generational loss from recompression or using one of the third-party tools that allow cutting source media files without recompression (SolveigMM AVI Trimmer + MKV, Video Splitter 6, avidemux, etc..). The problem with these third-party tools is that you have to perform the rough edits/pruning in their tool, which generally aren't as fast and comfortable to use as performing the edits in your preferred NLE like Premiere.
An ideal solution would be to do your rough edit/pruning in Premiere and have a utility which can take your project file (or some export from it) and do the splitting/concatenation of your source files automatically, after which you could delete your original, larger sources. So far I haven't found any third-party utility which supports cutting based on the ingestion of a project/EDL file - if anyone knows of one please reply to this thread with the details.
An even better solution would be for the utility to not only perform cuts of your source files but also generate an updated project/XML file that updates your original edit list with references to the newly created split/concatenated files. This would allow you to take a completed Premiere edit and automatically prune it to the source material you used, without requiring a rough edit/prune at the start of the editing process.
Based on my own personal needs I wrote a quick proof-of-concept utility last night (written in Python). It ingests a Final Cut XML file (exported from a Premiere project) and for each cut/clip in the file, launches ffmpeg to perform a lossless demux (basically a cut) to extract the portion of the source media file into a new file (with support also to concatenate multiple subclips into a single file). It's not a frame-accurate cut since ffmpeg only supports copy-transcoding on i-frame boundaries, which means the subclips will be slightly larger than the actual cut in the project file (by up to the GOP length, which is typically 1/2 second). This isn't an issue for me since my requirements are only to do a pre-edit cull of my source files. However if there's enough interest I believe there are open-source alternatives to ffmpeg that support a smart-render around the edit point (they'll transcode the area around the i-frame boundaries).
How many of you would find such a utility useful? If there's a lot of interest I would consider making this a larger project so that others could use. It would be open-source and free.
