Final Cut Server

October 6, 2007

About a month ago, I was the lucky member of a group of about 30 to attend a Final Cut Server training event in Amsterdam. This was right after IBC (which I’ve never been to) so Apple had the actual Engineers behind the product on site who later also did the 2-day training course. Our group was taught by Matthew MacManus who I think did a great job, giving lots of insight into the application, even after, what must have been an excruciating week.

FCSvr (to avoid ambiguity) is yet another (after Final Cut Pro, Logic, Shake and Color, to name a few) pro system that Apple has bought and made their own. It used to be called Artbox (made by Proximity, and Pacific before them, IIRC) and was sold for about 50k USD. fcsvr is basically an Applefied (ie made pretty and easier to use) and slightly cut-down version (you gotta have something to put in the next version also, right?) of Artbox which also includes Compressor and significant FCP integration enhancements and sells for about 150’th of the original price - 999.- for a 10-client license and 1999.- for unlimited.

The most important thing about any Mac application - the Icon.

FCSvr is an asset management system. You put stuff “in it” (video, audio, graphics, or actually any file type), you mark and tag it, find it etc and you take stuff “out of it” - either by checking out, so that other’s can’t change the particular asset, or simply copying onto your own machine. It also has some really powerful workflow automation capabilities, extensive (and extendable) metadata support and thanks to Compressor integration, powerful transcoding options. A really neat feature was the ability to actually make rough edits of the material within a Production and saving that as a FCP sequence, although fcsvr currently has no way to render FCP sequences (you can create, but not edit or watch them).

The feature set is all described in the Fact Sheet so it’s pointless for me to repeat it here. I would much rather focus on some details I found about the architecture of fcsvr. When we saw it, the software was still in pre-beta stage (Matt said this was basically the first time it had ever been explained at such depth to people outside of Apple), so any of this may change in the shipping version (sometime in the beginning of 2008). The course taught us how to actually set up and use the software - most of the following is just stuff I found out doing a little digging of my own.

The software has two components - Final Cut Server, the server backend and Final Cut Server, the client app you use to interface with the server. That’s right the client that you actually use is called Final Cut Server and the actual server doesn’t have any special interface except for a PrefPane (more on that later). You can most of the server configuration through the client, and some through the PrefPane (like adding storage devices and access groups).

The server installs into /Library/Application Support/Final Cut Server and the server code is completely contained in a bundle - Final Cut Server.bundle. The main server binaries fcsvr_ldsd (the CFBundleExecutable), which probably connects to fcsvr_stored, fcsvr_client which connects to ldsd and acts as controller to the client app, fcsvr_stored and pm_transcoder. All the binaries were 32bit and Universal and my guess is they’re written in C++ (Artbox ran on Linux so ObjC is highly unlikely). Ruby is also used for a lot of setup and maintenance stuff.

The bulk of the installation consists of a PostgreSQL distribution. Yup, fcsvr uses Postgres (version 8.2.3) as the datastore which I think is cool (although you probably won’t see this advertised anywhere). The db server runs on port 5433 so it won’t interfere with other default installs and the installer also creates a “postgres” user, but the PG server itself is run as “daemon”. The actual data is stored in /var/db/FinalCutServer/data and the services are controlled by launchd. The DB initialisation script can be found in _bundle/Contents/Resources/sbin/fcsvrinitdb. The contents of sbin gives some interesting and useful info about the setup.

FCSvr shares account information from OS X (including Open Directory) and has it’s own elaborate way for assigning permissions to those users within the system itself. Permissions are basically handled like any other metadata.

The protocol between the server and client is proprietary and encrypted. Thanks to Postgres, it is however possible to grab information about assets straight from the DB (the PG username is “pxdb”), but this probably isn’t a good idea in the long run (certainly not writing to it). The only official way to interact with the server is through XML files which it can both read and output. A working web service with PHP support is required for operation and a RewriteRule is added which points FinalCutServer to /~fcsvr/Sites/webstart/index.php.

The fcsvr login screen.

When the installation is complete (the whole package required 162MB of space), you get a link to from which you can download the client software (the JAR is actually in server bundle/Contents/Resources/php/webstart). The client is made in Java and distributed using WebStart. Apple says they officially support Tiger and up and XP and newer (JRE 1.5 and up). A lot of work has clearly been put into making the Java app look good, with a completely customized L&F. I guess you could call it “ProKit for Java” and it’s the prettiest Java interface I’ve ever seen.

The main interface.

Java apps ofcourse still don’t behave quite like Cocoa apps, but Windows-capability will be such a crucial selling point that this probably won’t ever change. Window behaviour is particularly weird, but I’m sure that’ll all be fixed by shipping time.

The software itself is easily the most complicated Apple product I have ever used with alot of new terminology, specific processes and just a barrage of knobs and text fields. I guess this would explain why they would hold training sessions so early - it would be nice to have people actually understand (at least to some extent) what they are supposed to be selling when it comes out. Apple’s biggest server market is the video industry, so this should become a pretty high priority product for them.

Server preferences.

The basic user should actually be able to get up and running farily quickly - just run through the installation wizard and use the Java client to upload material (there’s actually 4 ways to get things into the system!), but anything beyond that will likely require some expert assistance. It has been said that this product will only be sold through special Apple video solution providers and that would make a lot of sense. The automation capabilities are awesome but you can create a huge mess if you don’t know what you’re doing.

Asset management is something that a lot of customers are going to want and it’s nice that Apple now has a solution for that as well. Tight integration with FCS (which I hope will be improved) will set it apart from any other workflow solution out there. Since it also allows to customize workflows exactly to every customer’s needs, this will a great opportunity for service providers to really show (and sell) their expertese.

I believe it was Matt who said - “The license for Final Cut Server - 999.-, the services to got with it - priceless”. ;)