WWDC2003 Session 004
Transcript
Kind: captions Language: en good morning today basically it's best said we're going to talk about how to get data in out of Final Cut Pro and really this discussion is focus focus a lot on project data formats and V data formats how to make everything tie together so that you can actually not only work with Final Cut Pro and Apple to the professional applications but also build a set of tools that other people ministry will find useful actually get production done and do things like high-end Hollywood films and television production certainly and also various strategies for extending sort of directly apples professional applications we're going to talk a lot about six about project formats and media formats and again sort of what type of tools and some examples of some things solutions you might actually able to build using these things with with your software start like to start off talking about project data and sort of begin the discussion with what is project data sort of use different terms industry it's avid will refer to things like its compositions colonel couple get projects and sequences to go in a compositing application it might be a composite or if it go in to shake it might be a shake script and really what the key thing here is this is the data that your users our users spend the most time creating certainly they'll capture media assets will get stills from the Photoshop writers will get music from their audio person but they'll spend the most time the software a lot of these elements putting them together applying effects and so this is what everyone focuses on so in a certain perspective when you go out in the industry and talk about putting new tools in people's hands they get very emotional about this they're spending this time trading this and they want to make sure that they can keep it they can use it and that they can move it around if they need to of course since this is certainly a thing people spend the most time on it's also the most unique between different applications and so it's been very difficult there are some very basic formats that have been around for very long time more more attempts in this direction that may in the last few years but it's not an easy process and certainly a lot of the work we've been doing for the last year or two is going to try and make this process easier so begin to talk about solution legacy formats that some of you may or may not be familiar with and a lot of these formats were designed like 15 to 20 years ago and originally with all the hardware based systems things where you would have a project you would have your show you're coming together and it would be in of all things a floppy disk not quite back to paper tape days but still pretty primitive it's sort of one of one of the sort of the lowest comin up over here is what a lot of people call bash lifts and really what it will really what bachelor's boils down to is if I have a bunch of source footage like on a video tape I'm going to have someone the assistant editor maybe the DP for the day sit down with a tape deck and basically shuttle footage and write down the time so if the time codes of the particular pieces of media particular clips that we're not want to use in our production and just indexed by time code and wooden sir this move off of pads of paper in a digital realm it's really just a diluted text file so you'll have some time codes name may be at identifier for the source tape and it's just stored in a plain text file on disk the users actually love this and if you talk to film editors day or television editors they still use them all the time because it's just a text file they can pull up text edit they can pull upward they can pull up Microsoft Excel and change these numbers and they're very comfortable with acts they control exactly what's in there and get stable in a text file it's very easy to generate very good parts so pretty much any modern not only redditor at least in the prosumer professional space will support these but they're very limited here's a very basic example of Atlas as talking about for just a tablet text file with the first line with the header with all this information on it you see clip name time code and and real identification and sort of moving beyond just identifying of pieces of media that one might work with you move to an EE L again this is a design for hardware based systems of paths where you have a huge Bank of tape machines on one side of our core deck on the other and monitors and you sort of Q everything up so it would a court at the same time and just basic at it's sort of a vent based model with times and effect identifiers although is limited sort of two tracks video for tracks of audio a lot of this based on sort of switcher technology of the day and sort of like batch lifts a lot of users out in the field love this stuff to this day because you can open one up in a text editor and if you train your eye you know exactly what to look for so if I put together an hour-long show and it's just not going upstate correctly I can't open it up and fix it it's a bit more difficult than a simple bachelors to parse liver because there's a lot of data in there and there's also a lot of different formats sort of everything's start with one or two de facto standards about 20 years ago but now you've got maybe a maybe about a dozen different sort of formats for different manufacturers gear different tweaks for different hardware and even different effects processing gear here's a very simple edl and as you compare a batch list it's a it's kind of frightening awful lot of time codes there comments for effect IDs things like you compare a dissolve with a D and a wife with a wo 12 not very friendly the parson understand so start moving on bachelor CDL so I've got more contemporary formats and certainly ten years ago beginning of the nonlinear digital revolution with avid everyone follow these formats really really were lacking in a lot of ways and so more legis more contemporary formats were created to go in their place and sort of address a lot of capabilities with modern systems things like well you can go beyond two layers a video or you actually want to get down into effect parameters you might want to be doing things like throwing a Gaussian blur where your key framing the amount of the blur over time or doing we're doing that fuzz stills where you're fuzzing someone's frame out but unfortunately due to when they did a lot of these efforts started these formats were generally binary formats so you'd have some structured storage model and you would encode that all this and binary because it was cheap and it was small but as a disadvantage of now user or a power user or developer can't directly look at it so you introduce a lot of library requirements and it's pretty complicated to generate so if you look what this examples we'll talk about in a moment there will be sort of a small set of tools out there to work with these files but really not a community of large general tools to do things so the decimal example the contemporary format would be omf object media format from avid created when they actually tried to unify sort of audio and video products about seven or eight years ago now it was based around some apple stands at the time open da convento and actually sort of describes for two models sort of what they term a composition only on that file basically just description of your edit your effects and the elements within versus a combined format we actually store your media all in one container really big file really hard to move around of course at this point it's more or less abandoned and part of that was Abbott's move two more to cross platform system and some issues with basically bringing the bench of libraries on different platforms and really where it's used a lot as an audio post-production systems and that you'll have protools on the most popular anomaly or automatic audio editors today that actually still use that format moving forward from omf in order to address the situation the advanced offering forum was founded for five years ago by consortium of companies including avid and Microsoft and Adobe and basically tried to take the take the lessons from OMS and build a new format that still was based around a binary container format this time Microsoft structures storage but actually if it more be of an industry standard format so that you could take media and projects between different applications and different systems unfortunately was sort of a mixed success and that while a lot of the basics a lot of a lot of the elements that we sort of the equivalent of an EDL made it into the public specification a lot of things really didn't and those are all they're really interesting things today things like blaring information compositing information filters and effects a lot of this is sort of termed as black metadata in by people using AF and we're sort of one company will define to find their own little black box inside of its open specification so you really can't get to it and of course a lot of companies do support the general version of the AF standard avid quantel and ethel actually joined the advanced authoring forum last year and is working on AF tools using the equity automatic duck so moving on sort of the future there's been a lot of movement especially with the open source in the last few years toward more open formats AF an omf for really interesting but because a lot of the issues it's sort of very difficult to join the club of working with them it might be a lot of effort to use binary formats why there might be library issues sending the platform and the whole black meant it in a problem and sort of the key concept a lot of these formats has been open access fully documented data everything open no real issues with data access and also try and sort of getting back to the capabilities of bash lists and EDL's where a technical user could open one up and see what's inside of it and actually make changes or simply have some faith that the this project that they spent a month creating will actually be useful in another year if they move their media to a different system and also of course trying to minimize platform and library requirements and to address this we actually came up with format we're calling XML interchange format working out for the last two years and we introduced it announced it with final cut pro for just use as xml everyone loves XML it's easy to parse you can use them from a Jenny platform and it's relatively self documenting and they're a lot of tools out there to use it and power users can open the thing up and text editor or even an ex or even a structured XML editor and make changes to the data for our stoma to change format we've gone to a lot of effort to sort of try and make it a superset of all formats the goal is really to expose all of the functionality inside a final cut pro sort of no black data no weird undocumented little hooks and just open everything up and off and a lot of this was the goal trying to be able to base other formats behind XML so working with automatic duck will we have import and export sport to AF but going through XML in the middle since XML is a superset of what's at least publicly available in af today then it's relatively trivial do the translation then bring that in Final Cut Pro the one issue that our XML format does not address the issue of embedded media transport so the idea that I could have one mondo file which certainly is easier to move down move around today than it was seven or eight years ago but one container with my media and my composition information in sort of one box and we really didn't feel that that was an important issue to address right now certainly there a lot of different workflows that that model does not necessarily meet everyone's needs and it also tends to make the cross-platform cross application issue much more difficult different Hardware different software they have different requirements for streaming data or moving data around and trying to sort of encapsulate it in one standard can be rather difficult and here's a very basic example of an XML file it's similar something that might have been to find that would have been defined in the bachelors example earlier as you can see it's a content-based so the XML so the various keys are things that if one was familiar with a nonlinear editor they'd be familiar with a clip or a name or a duration and sort of multiple formats as well so if you look at time to definition sort of have both the frame count and frame rate along with traditional string defining that data now of course Apple is not alone and oh excuse me actually ones like those missing actually at the moment I'd like to do is invite Harry plate up to the stage to show off tools that automate deserts and building with us support AAS and side of final cut pro okay thank you David okay and make sure we're looking at the same story here first of all automatic duck came on the scene here just a couple years ago my son and partner is a video editor and got sick and tired of messing around with EDL's as he would move his sequences and compositions from an avid into After Effects and that was the product that we initially started out developing what I've got here now it seems that we want to delete that because I want to import the Chrysler example underneath literally the import menu you'll see a pic that allows us to bring up a dialog it allows you to select in this case I'm going to grab a Chrysler example an AAF file again this was a short commercial piece that was done a long time ago this process opens an AAF file parses it now goes off and searches for footage by the way this footage now is represented by omf files this entire sequence being you know created by an avid symphony oh i think there's about two years ago it's been one of our favorite examples to test things so it's fairly straightforward we create an XML the XML now is being read by final cut and we should see a Chrysler example now here in that project window and we'll open that up and sure enough here's all that metadata we got a couple of audio clips let's make this thing with a little more subtractive will fit up show you some more some more information there's markers dissolve video etc and this is something that when we did this manually some years ago this took an editor for hours to reconstruct in order to get all of the time codes etc done correctly so fairly straightforward again you open an AF I'll to the magic of microsoft com and a binary library you may or may not succeed in getting everything but this is the challenge you track down all the metadata you track down all the media you open up omf files we reconstruct QuickTime reference movies so that we don't move any videos so the reference movies are very fast and then ultimately Final Cut beat is able to import that an entire description of course is passed via XML now the opposite case is fairly straightforward I can take that same example and I can turn around and export it and we'll just drop that thing out there and now we take the XML oh it's you can go to replace that we don't want that one anymore reconstruct an AAF file based on that xml description fairly straightforward this case it comes back and says hey wait a minute you've got some effects there that we can't represent an AF and that's fine we our documentation will fully tell you exactly what you're doing wrong oops let's say I grabbed the wrong one but we don't need internet explorer but we do want after effects and we find inside of an After Effects as soon as I close down that there's a simple import process yet again and I can grab that Chrysler example import it and it's the same process now in the adobe after effects world where you open up this file parsec creating rope grabbing all the media references as necessary using them directly in the case when final cut because we already have the QuickTime movies and we create a composition again just a different name nomenclature no longer a sequence is in the Final Cut world but something slightly different now a timeline in the Final Cut world is quite different the they show layers each on a separate horizontal row versus the timeline that you might be used to inside a final cut but nonetheless people like to finish inside of after effects for a variety of reasons whether it be the effects the color correction or whatever but again i emphasize xml is under the covers and the ability now to get into Final Cut course we've had customers for a long time crying for that kind of capability so it gives final cut now a tremendous edge now in the complete workflow of any post-production facility that's it thank you thank you very very powerful example of these sorts of tools but start talk about me with other people have been in ministry surrounding XML because certainly it's not a new format it's not a new idea actually excuse me wrong slide a little bit more detail on our external change format sort of a question that we've gotten prints NAB of this year we now 6 ml is when will it be available well today we have a public beta available on the wEDC skype site simply go to connect apple com and login and early build but shows up gives you import import and export XML command set of Final Cut Pro documentation there on the format again preliminary stuff we'll be updating it on a regular basis until we will hopefully release it later this year and we're also basically a new plug-in API on this data format certainly the commands that Harry was able to use with his software were written using this new API and we'll be getting that out to you as soon as possible more importantly sort of one point emphasizes we really want your feedback we've been working on this for a long time we've talked to a great deal People ministry about that another gentleman actually bring up here in a few minutes that has another compelling tool based on this but we really want to hear what you think is missing or what could be done better or sort of what your needs are there may be various workflow scenarios are various tools that you want to build that we just haven't thought of and any of that feedback is incredibly valuable and we will be released in this in a final form to end user and developers by the end of this year sort of what other people are doing the AF form actually last few months has formed a working group to discuss making an XML representation of a standard across different applications sort of an interesting developments they've certainly talked a lot of saying people that we have and come across one of the same needs in terms of sort of workflow scenarios that we're sort of binary format is inconvenient and not even necessarily media sort of media containers necessary and and of course there are a lot of other new applications that are just using XML as base file format from the get-go some strategies for your application should you want play nicely do we need to interchange any form of data interchange you can do is incredibly helpful even if it's primitive just something that at least is documented or making a plain text form a lot of a lot of people in the post-production Phoebe are very creative and amazed at the amount of pain people will endure to sort of have that safety feeling of looking at their data and certainly anything you can do is good conventional legacy formats if you can support them that's great it can be a lot of work it can be a lot of debugging if you can't then encourage you to at least look at doing some more kamor modern open formats and sort of allowing other people to write translators in the same way that automatic duck has opening that door gives you more leverage without necessarily expending a lot of engineering effort and and certainly open formats are great they level the playing field for everyone and in the end everyone wins developers some more software and users get the tools they need and a very good thing for apple's personal applications Final Cut Pro for at present has native support for EE LS bachelor's and of course XML very shortly and Owen F through AF or own fnaf through the automatic guys shake tree just want to mention for a moment is a little bit different story in that at the moment there isn't really an XML representation or direct omf or AAF support their project file format is at least sort of a plain text file a shake script something very similar to c or c++ that sort of defined structure of a project and it's an example of something that is rather technical but at least it's in a form where other tools can generate and partial information and that's one of sort of one of the details that has made shake incredibly popular and powerful in the impost production industry sound like to move on to exchanging media and so we talked about sort of project composition data side of the universe and sort of getting that dated it and you just spend a lot of time creating move back and forth but media is also incredibly important as well why do you want to do it well there might be formats you don't support in your application it may be that you support still image files but you don't support movies or your bass tournament or your based around video or audio but you really can't deal with container formats by by allowing users sort of to import export it in different formats you just sort of increase what's possible and what's what you're able to do by exchanging data you can leverage things in other applications you might have a wonderful compositing engine but you really don't do 3d animation you can import and export data then you can bring in 3d animation from some other application and work with it hardware support is an interesting one and that hardware support sort of the ability to output two decks or or or capture video from it from a deck or camera if it isn't always the easiest thing to do and can be a lot of effort and yet users need it if you can import and export media that you can leverage someone else's software to do that for you and finally in a real production environment certainly there are some tools that will fit the entire bill for production but most times there really isn't a lot of a lot of times please like to pick and choose between different tools for different uses and by exchanging media cleanly you allow yourself to be inserted as part of that pipeline and there are a few other details that you need to think about to make that practical and we'll get to those in a few moments so traditional difficulties had in sharing media lack of public format certainly there are a lot of formats but when you move into the higher end of the spectrum you get some more private things you get codecs that the details aren't necessarily there certainly you can get a piece of code compiled for one cpu but not for another and some for some formats are more difficult to work in another example of omf and AF you basically have to wrestle with what libraries to compile and build and load to use that data on different platforms there's also a big issue which isn't always necessarily consider is quality and conversion when when transcoding meeting between different formats the computer world RGB is great that's print what we all use when you look into the high end film market you've got sort of nonlinear high bit depth RGB but when you're in the general production market you've got y UV video to deal with conversions to basically why you've either RGB and back again you lose color because just there isn't there isn't complete overlap in the spectrum there and that can be an issue in some circumstances traditionally it's been identified as an issue from sort of the broadcast online market they're a little bit more open to that these days but it's still a problem especially when you move up into the high definition market and licensing issues certainly if you have you may have this wonderful codec and there may be some some source code footing around the web but you can't really use it cuz of licensing issues and sort of by supporting more open formats you can help to get around that by at least getting a format that will go into another tool that maybe does have a licensing situation worked out just sort of some common formats everyone smile with you've got all the still formats been around for a while for the most part open of course they aren't really that great for video a lot of people early on sir took those still floor mats and just number them and put them in a folder and play them back and that can be rather CPU intensive and certainly there are a lot of UNIX workstations that that's just the best way to deal with it because you can get to any frame really quickly but it's kind of pain to move around certainly QuickTime is a great container format for just stringing together a lot of video images do it uncompressed do it in various codecs in fact we actually have a lot of sort of open codecs an apple Final Cut Pro for we introduced a new open uncompressed codecs for eight and ten bit video where the the detail sort of the bits are completely documented for free of course there we have our own clinic implementation but should you be another platform and other piece of software and you can actually use QuickTime all the details are there so that you can parse those out and use those and certainly at Microsoft formats avi and Windows Media traditionally more used in the delivery space than the editing space although certainly some low-end tools make use of them omf and AF again dual designs sort of a media container and composition container so you can embed data in there sitting on /t p x is a format that codec came up with about a half dozen years ago for the film industry for a sort of high resolution high bit depth nonlinear RGB images details for that are out there you have to dig to find them but a lot of high-end tools like to use those frames for sort of final finished film renders and effects work and of course mpeg-2 just pure element streams you might spit out of compressor or duty studio pro not really used sir there's some movement towards using em pic 2 in the editorial space more for iframe only basically interframe edits as or files as opposed to the long gap stuff traditionally used for broadcast but still lot of stuff out there again really quick some common audio formats AF and wave uncompressed everyone knows and more or less the same accepted bits are flipped SD to and actually bring this up because it's an interesting example of sort of a partially public format certainly there are a lot of tools out there to read SD to it's not a hard for Matt to reverse engineer unfortunately this is one of those licensed formats that I mentioned earlier where can't exactly create a product that will write as C two files without a license from avid actually it's interesting and that Pro Tools and the past is made very heavy use feste to makes it a little bit interesting to get data into Pro Tools sometimes but sort of be aware of course quicktime windows me om fnaf containers for audio formats well and of course there are a lot of popular compressed formats now mp3 and AAC more for delivery but we tend to see a lot of these impose just because someone gets a track that that's the only format they have and need to bring that in talk about muxed formats for a moment formats for basically you have audio and video potentially answer you data combined together very handy container you can just move around something you can just open up and playback of course QuickTime is great for this you can put pretty much anything you want a QuickTime movie of course you get so applications like Final Cut Pro there are some conventions that you have to that you have to observe things like timings video times etc avi windows media again more delivery formats but they do support mux data om fnaf as well can support this mxs is something that's interesting to mention in that it's a format that Sony has been working on to the last few years with cynthy and mxf has actually been designed as a subset of AF with the goal of creating a mux data format that hardware devices could implement cheaply so that you might have a camera that's recording direct to disk and you need some format to describe that data in your leave it together in a completely ideally platform and software independent manner get a special app through cynthy it's starting to gain momentum with some new devices that have been coming out that have been announced this year still sort of ramping up interesting to see how common that becomes and sort of if it's scales from the low bitrate compressed formats up into uncompressed and just for completeness mpeg-2 transport streams that you might get off of an antenna for HDTV or program streams that you might have on a DVD also want to talk about metadata from it we've been talking about sort of the core audio and video data the bits that represent the things that you listen to and you see on the screen but metadata is actually really important and becoming a lot more important as time goes on so if I have if I've gone out into the field and shot 40 hours of footage I need some way to identify that footage certainly by simply being on a tape based device there's time code but when that foot when that media is brought into the digital realm I brought onto a computer hard drive there needs to be some way to track it other than the final name and this is really where metadata comes in traditionally pretty much any nonlinear editing system has tracked timecode so basically you can embed a set of numbers in a media file at track where that came from on a tape and you may attach that with a source tape and if Captain fire as well traditionally it's been stored in pretty strange locations just because it's really been an afterthought sure muxed formats together it's great to playing back wait a minute where we going to put timecode fortunately with QuickTime being a very general architecture it's actually easy to drop time put in a logical location for a change and even put other information you can utilize things like text tracks and user data bits just to drop in into a file and at least be confident right inconsistently with that media on disk certainly metadata if you go into a professional environment it's required they need it there so it's very important to be able to read and process that and it's just becoming more important as the amount of media grows as sort of multi-user systems grow the value of having that data is just all the more important so just some quick strategies on things that you can do to support to deal with me you know change correctly you want to support as many media formats as possible that might involve using a rich media engine like quick time to do the translation for you quite handy certainly there are other options out there as well when you're processing media or importing it into your system you really need to try and keep it as close to the native format as possible sort of the biggest thing that I get is why you need a RGB conversion the Reds will get weird the color will get muddied if you don't do it right and that's kind of a big deal if the native acquisition device is why UV and the output devices yub but in the middle you're going through our GPS so if at all possible you need to try and keep that in mind audio is another situation where if you've got a 24-bit audio recorder out in the field you want that audio to stay 24-bit when it gets to the audio post have some very end and again metadata at the very least pass it through ideally access it and display it and edit it but if nothing else if it is simply passes through your system cleanly then you usually you're going to love it Apple's applications certainly quick time we love quick time it's pretty much our universal container formats we use quick times a translation method as a translation conduit for other formats we have a lot of great codecs mentioned earlier the uncompressed codecs changes Final Cut Pro for the pics look codec announced here at the show and traditional things like like animation and sinopec and Sorenson and n timecode a metadata we do currently signed with that post for supports times multiple timecode tracks to QuickTime files multiple tape source identifiers and as time goes on we're going to be expanding that we're going to have more support metadata and not less it's because it's come up so awesome from all of our pro customers and up we also now have support for 24-bit 96 kilohertz audio along with multi-channel audio in Final Cut Pro for that all comes in at the moment through AFF files the number of formats sleep in a tent will be expanded as time goes on so we sort of talked about project exchange and media exchange and now if I want to bring them together and sort of plant some ideas out there for how you might make use of these it's not always obvious if you're not in a post house or at a film studio sort of what the opportunities are to serve it enhance and extend things and sort of where new and unique applications and small tools might fit into the picture so one of the biggest things one of the biggest requests we get now from post house is a sort of media asset management where a post house is only sort of getting more work as time goes on they may have six projects going at once and to have sort of project data and media scattered across 40 different machines is really kind of a pain it's pain for backup it's a pain for tracking and it's just a pain for work well in that one machine might be locked on a project and sort of start by building at central archive you've got one place where you can collect and track things and you can do things like track the revisions particular element you might have something you shoot on video it comes in its captured great you've got revision one of this element now it needs to be color corrected then it needs to have maybe some effects applied to it it needs to have a lower third title applied to it sort of do almost do version like we're used to in cts but with media elements so that if something goes horribly wrong in the process you're not going back to the original tape to bring this thing in and run it through you can actually go back to maybe step number three where the issue came in review approval loop is very important sort of the concept traditionally if working on a show have to get approval from an executive approval from the client have to take the project dumped out to BHS give the VHS to a courier senator crosstown have them look at it send something back give a call having sort of automated or at least electronic review is incredibly incredibly handy so certainly you can send an email to the client and say hey spots up take a look at it login to a URL look on a web page play it back make some notes and sort of cutting the time all that review processes take and also from becks your central location backups and any avenged of status looking at a project seeing what elements are completed what elements are left to be done and and only sort of primes things for multi-user products from the future this is interesting where their products in the marketplace that many people today considered me multi-user but really I just sort of media sharing and sort of the idea of having sort of direct collaborative work flow where two people might be working on the same sequels at the same time it's something that's not necessarily around today but is coming and when it gets here it's just it's going to take the market by storm and by getting this interest by encouraging this infrastructure and building tools at tie into this infrastructure it's only going to make this easier another very powerful example this will be linking specialized applications no one piece of software does everything and it's not really even possible there are things that might be specialized to one particular company things that might be socialized to one particular market segment and it it makes sense in circumstances to use specialized software for specialized task and then be able to bring data back and forth and it also make you sort of different skill sets you might have people who are less technical who just need to organize something in people who are more technical courtesan s things and give it that final polish that it needs and even down to sort of allowing for low-end hardware at wednesday's high-end hardware another or even or even going to really dumb hardware at some point just executive to view something and at this point actually like to ask Michael Johnson to come up and give it give it down as an example for linking specialized applications using XML and mediate exchange technology hey folks so this is a little tool that we wrote last year and we've actually actually continued to work on it and it's one of these things where we heard about the xml stuff that the Final Cut Pro folks were doing a while ago but then you know they have a product to get out and so you're like oh that's sounds really great we're looking forward to that will be very excited when it comes along and they got some stuff a few months ago and we looked at it and gave him some comments but really weren't using the racing and then last week they stopped by and said we know we're going to have this you know talk there we'd like to do that thing and we'll get you that we that's backed that code it'll you know let you read the xml stuff and your final cut thing there and we had some you know little kind of going back and forth in that and i think actually got the thing from david it's about 45 minutes ago yeah so we actually did it over there in the session the back there we actually said oh look it actually works so I'm I'm actually here more as you know as a developer as a sort of a fellow developer here and just when you do things like this when you when you deal with custom tools it's so nice when it's a file format because we deal deal with all maps and things like that and MF is this like boom you know it's just this thing it's just a blob of stuff and there's all these libraries you have to compile them and if you go get them and yes you have the source code for them but then you oh you got a new compiler night Oh get a link against that oh now it's a C++ code onto Mellencamp oh no we compile that part you know this is like it's a spec it's a file format it's text and what's also fun with it is that so David in the you know the final cut folks there there apple and so they have all these people who know all sorts of stuff about programming like all the core foundation things and stuff like that and like I'm an old unix nextstep packer guy don't really know from core foundation so if it's not coco I'm really kind of at a loss but so is XML so I just you know got the net I get expat you know and actually four for that's for parsing it but just for for this little thing here so this is let me just show you this you know we've got this simple little program here which is lets you go and you know time things out for your whole whole you know you know we're and we're good on that and then if we actually want to stick through out there and there to my debug menu got the idea from safari and so let's see so if we just say call it demo and then so all I'm doing there is right now strings and then telma NS string to right itself out so I got me a little xml file there and let's go and say import XML and it looks good yeah and so now we've got that and it's got our timing on there and now actually there's one really neat thing about this which is not at all obvious to this which is that this is actually going out and those are actually film rights storyboards and so that's actually a really nice thing about stuff like Final Cut is I just SPECT in the XML thing I said oh well I'm going to give you some media and it's actually it's actually this big even though the media is actually like 2 megapixels actually just do it as a you know whatever it is 720 X 540 or something and it just deals with it it's just good and so let's actually just go look at the let's go look at what that looks like here because there's a couple of interesting things in terms of see how big didn't actually read that so this is what we wrote out and it's just it's just text right and I'm I'm gonna you know and you don't have to like have all the intention or anything like that but I'm one of those people who when you write the code you might as well make it so that it's readable because unfortunately David is completely correct in that text file formats you know will be edited by power users sadly enough you know we toolmakers like to say no will give you a really nice way to just don't open the file don't edit it directly but and again this is where the whole file format versus the 17 libraries that you have to link against her is a great thing because in a production environment a real production environment you have all sorts of people who you know you cannot keep them to the purity of your code you know you want to write in C or C++ or objective c or whatever your whatever your particular thing is will too bad you know they have a cartoon to make and so if they need to write a Perl scripts it's going to go over this thing gobble this thing to move this thing into here or they've got to write some Python can do this or some seashell or Apple script or whatever you know god bless them they have work to do and so this is actually what's really neat and let me just want to point out one thing that's really really neat in here I don't know if this is actually true but I will I will take some credit in giving them the saying at least that this was a really good idea which is this little guy here the path URL which what that means is what in this XML file format your media it's a URL it and and I'm sure that you know like the final cut the version of this is what's going in here it's it really wants you know file URLs but from our perspective we write custom stuff and you know we might have a web server in the way of that media there and it's going to serve up that that piece of media to to you and because of the URL you know if you're writing custom things it's using this file format you know you're all good you know you can just put an arbitrary URL on the way there and if you want to have your version control system in there if you want to auto-generate that piece of information there's all sorts of interesting things you could do with that and and like I said the the format is is really really simple and for parsing this stuff I used expat nice thing with expat is it's out there and sort of most languages have have sort of access that's just this very simple C library and XML is just it's just really nice and it's very it's very wordy and it's very very very wordy but that's actually great because you write a program and you parse it and it's all so many things of where it's not like some format that is it's not as fragile sort of normal text formats because it's pretty there's all sorts of tools we're sort of seeing that you screwed it up and it also it it scares away the casual hacker on the thing there because you know it's like oh my god there's this much stuff to describe that thing I'm not going to mess with that maybe I'll use their tool for it and then the internet across the other people will actually take a challenge and then actually write something useful with it but it's it's really good and I it's also one of these things where you can do very very powerful things with this and and some really really neat things and I'm actually looking forward to 22 in it you know to when this is finally out there and and shipping I think this is actually going to be a boon not only for us in our universe but for all sorts of little shops that are using final cut to to do their whole to you know to edit their their major peace with this actually gives you a very very easy way to write little pieces of glue tools that will actually do all sorts of sophisticated things that normally you just would have this big black box of data there unless you're doing stuff with the avid in you by the great automatic duck stuff you know normally you'd be locked out of these things and I just think this is a this is a huge step forward and and I really highly recommend that people take this very seriously because this is actually a new thing this is actually something that you know we've spent more time than I would care to it in a public forum getting things in and out of our editorial system and that's a very very hard problems a miserable problem it's not a it's not a problem that you want to deal with and with this thing with the xml stuff actually pretty fun because now you can write you know this is a little storyboarding tool that our server RS use and they want to bring something in and they want to do some more work on it and final cut it's very easy to do that we can also then round trip it back in and that's just something you just couldn't do a year ago I mean you know you had to be us and even us that would be like a little you know miserable so so I think it's very exciting and you gave it sort of one final example like to talk about today serve the production the concert production pipeline and this is not so much in editorial so much as actual like final rendering in production where you're trying to take a series of disparate tools to get a certain look for something earlier mentioned the concept that there may be one application that there's a blur really well in one application that is a composite really well you just want to smash them together and a lot of people do production pipelines this way they may render in shake they may pull it into after effects they may output it using compressor and sort of allowing tools be hooked into that pipeline is incredibly compelling and part of this is project files.xml is great certainly you can endure the pain of om fnaf I don't recommend it but if at least you can sort of concept something to drive your software from the outside that's sort of the beginning of it and then of course move on to mediate interchange and trying to bring media through a system without loss of quality or at the very least known loss of quality it may be that you have a tool that just makes sense work and y UV but if at least sort of you can document what the effects of it are that's going to make someone more willing to give it a shot and see what it is and in script ability is great at the very least just dropping something on and having it go but technologies like Apple script are very useful very interesting to implement of times but they're incredibly useful try and summarize things project data interchange import/export wonderful thing open formats wonderful thing if you can move data through an application actually and something so much time ago if you can move data in out of application it's actually going to make it easier to be adopted than harder one of the challenges we've had on Final Cut Pro has been convincing people that you know that Thun $1,000 thing you bought three years ago it's really not all that need to try this power book and their responses well that's great but that thing in the corner I know what it does and I know I can count on it and I'm just really nervous about bringing my project into it and not being able to get it out again if they know that you can bring data in and out there a lot more willing to try it there a lot more to throw it in and if it's great there they're a lot more willing to adopt it so they can they it should have that safety layer media interchange again just like crotch data if you can pull data through an application know what the results are it's just going to make people more willing to try it and combining the unique abilities of your application with other which others just makes it all that much more powerful and this is not strictly data interchange but Lulu female let's go extensibility in script ability is very important both serve and workflow systems and in production pipeline systems if you can vary basically control how some sort of spawn something spawn a process to go to a render the script via just and import follow some extra commands in it it just makes focal process easier and makes it possible in some cases and scripting is great because if you have those wacky power users out there who are just bitching because you haven't written that one tool to do the special the special quick move that they've been demanding for three years if they can in script it then they can just go off and write themselves and a couple strategies against them the same messages open project amia formats are great script ability is great if you're doing application if you're writing a little tool you want to hook into that data flow somehow you might write an integrate a plug-in you might write just a small application that takes the output of one app and converts another just like the automatic duck guys have done and and if you can integrate tools into an application it's very compelling mission a little while ago that sort of based around XML we have a new plug-in API soon and we'll actually be discussing that on Friday and being able to sort of sort of like again like the automatic duck guys have done being able to insert a tool directly into the UI of a larger application like Final Cut Pro or shake or something else just makes it easier for users who may be very artistically talented but not technically talented to get their head around something and use it and sort of our direction for professional applications is you like open formats the whole concept is there's an ecosystem there are there they're tools of varying sizes and the users don't really care where they come from they just need them to work open data formats allows everyone to play and everyone to talk in the same space we like QuickTime a lot we're pushing a lot of work for pushing for QuickTime to provide open high-quality data interchange methods so new codex like our uncompressed codex and pixel it basically trying to trying to set the Mac up such that if you're doing high quality video processing it's just easy because because you don't have to deal with things like file i/o and gamma conversion and hardware output the pieces are there for you to build your applications and expense extensibility extending application through plugins through scripts etc that just makes it all the more powerful and power users can do their thing to developers can use your things in the end there's just a much more compelling solution and finally as mentioned earlier we we really want your feedback anything you feel we're doing right for doing wrong tools we may not have thought of things that you're trying to do with final cut pro or other applications that you just can't do we really want to hear about that so that we can adjust our direction accordingly to try and address your needs and sort of make this space just a lot better and see one of the session we had this week you might be interested in we actually have a session on Friday talking about all the different plug-in api's of the apple / application support shake Final Cut Pro Logic soundtrack that's on friday at three-thirty also be going into also be giving some initial details on the plug-in API we're hoping to wrap XML around later this year if you need to contact people first person's really jeff-lo using an evangelist apple for video applications he's an excellent starting point he'll vector you off to whoever you need to get your question answered if you have questions on Final Cut Pro data interchange feel free to email me and I'll get back to you as soon as i can and again vector you off to the right person if I don't have the answer to your question you