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