Scripts and Prototypes
From Deptford.TV
Instead of attempting to build a single m0n0lithic application from the start, we tried instead to write some small scripts that would help people collaborate from day 1.
Using the scripts is far from seamless and needs some expertise and quite a bit of understanding what you're doing. But without them there would be long-ish laborious tasks to do that a computer can do a lot better.
One of the main aims was to see how useful the xml output of the cinelerra editing software could be in creating collaboration tools, as this is in effect a textual representation of an edit and therefore well suited to using in scripts.
We also want to load these xml files into version control software (svn in the first instance, see version control page) to keep track of changes (versions).
1. The archiver maker
The aim of this script is to enable anyone to grab a whole "version" and immediately start editing it. Therefore we made a tool to get the cinelerra xml file and all media files it requires to create the cinelerra project on a new local machine. It also retrieves all the logging information about the clips that are used that are held in watch.deptford.tv, and writes this to a nice text file that you download with the rest of the project files.
more specifically:
* the scripts should be installed on a server that runs php and a webserver; all files in one directory. * on typing the address of the getarchive.php file, web form is displayed, into which you cut and paste the url to the xml file that represents the edit you wish to download. This must be a true xml file, with no html stuff surrounding it. so for example for our svn repro the url will be along the lines of: https://svn.southspace.org/subversion/dtvtest/trunk/xml_versions/the_version.xml * the script gets the xml file with curl ie. downloads it from a given remote location and copies it to a unique temp location on the server. * from the xml the script finds all the assets (media files) required for the edit and copies them to the same tmp location. * the watch.deptford.tv database is queried for any information (author, notes etc) relating to the media files referenced and all this information is written to a file called assets.txt. * everything (the cinelerra xml file, the assets.txt logging info and the media files) are made into a .tar.gz archive, the link to which is presented to the user who can then download it to their local machine. * the user may then unpack it into their cinelerra project directory, open the xml file and the entire project should load. * the user will be advised to open the assets.txt file in a text editor for reference when (re-)editing the project.
Some notes and cautions:
* the path to the web form is not give because the processing power to produce the archives is really enormous, and also large files result. so we don't want any bots finding our form! if you are not a member of our team please contact us for a demo. * need to alter the name of the downloaded xml file to concur with the one in svn. currently it is always called versions_xml which is not correct. * we need to improve access to 'raw' xml for the web form to the files in svn. currently as per the example, you can only access the head revision and the paths are awkward. we can't use the nicer php svn web interface to our repository for downloading as the xml comes surrounded in html.
2. The Storyboarder
This is another set of scripts that will look at the xml file and create a lovely storyboard from it, including notes made by the editor. You can run it on any computer with php, client or server. It expects to have the xml file on the same machine.
There is not much of it yet ;), but what there is was tricky to get right. So far, we don't use any external sources for notes, just the notes that are made within cinelerra.
TODO:
* nice work with stylesheets to get the sound and video assets dispaying in the proper temporal relation to eachother. * work out how this can work online, so people can choose a version and immediately display the storyboard. * work out getting still images from mp4 (ffmpeg? doma).
3. Drupal Diff Module & Uploader
