WWDC1997 Session 300

Transcript

Kind: captions
Language: en
ohayo gozaimasu good morning my name is
Peter haughty and the architect for
Apple's QuickTime technology I would
thank all of you for coming here so
early in the morning in Chinese there's
a very famous greeting that almost
everyone says which is have you eaten or
eat j-pop way in the quick time team on
the Interactive Media Group we have a
new greeting we've developed over the
last two weeks which is have you slept
done a lot of work to prepare for this
presentation hopefully it'll go okay
we're going to talk about the QuickTime
media layer today this is Apple
technology for delivering media for
delivering media anywhere kandi market
this isn't a point solution this isn't a
new solution this is something we've
been working on for six years if you
come to the Developers Conference you've
seen it get better and better with each
passing year the scalable technology
it's absolutely appropriate to use for
internet delivery it's just as
appropriate for creating television
shows and today it's being used in all
those spaces it's made up of diverse
technologies it's not just QuickTime
it's not just sound it's not just video
it's MIDI it's text it's 3d it's virtual
reality and as we'll see today a bunch
of other kind of strange things what is
it a lot of these things we deal with a
bunch of standards standards are
important but they aren't everything we
have to we have to take advantage of the
standards where they exist we have to
build on top of them to make them better
cook time runs on every hardware and
software platform we think you care
about quicktime 300 ships simultaneously
for macintosh system seven system eight
in fact it will probably still run on
system sticks will ship for Windows 95
windows NT we've demonstrated it running
on the SGI and sun platforms and we are
actively looking at other platforms as
well
a lot of demos today in order to get
through them I can't do this on my own
so what I'd like to do is invite up to
the stage one of the original members of
the QuickTime team the inventor of the
QuickTime file format Jim Batson
otherwise known as The Wizard of quick
and time
[Applause]
so our job with Quicktime is to make
your job easier to provide the
foundation for doing great media so that
you can provide the great tools the
great user experience the great
interactive multimedia experiences the
users are looking for if you're creating
content every day you're working with
literally a dozen different file formats
Photoshop QuickTime movies WAV files
AIFF files you are dealing with all
kinds of data and interoperability as a
reality if you're a developer creating a
tool that means you have to support all
these file formats what a drag
try to figure out how to parse an AVI
file it just takes forever the
documentation is all wrong Thank You
Microsoft you can spend your lives
trying to figure out all these different
file formats it doesn't make your
applications different it's something
you have to do we're building all this
stuff into QuickTime so you don't have
to do it you can focus on what makes
your application different and for users
this will mean that every application
has access to all kinds of different
files and will add value to existing
standards so I'm go as we'll show you in
a minute we can use avi files under
QuickTime but we can do things with them
that nobody else can so we're going to
do now take a look at demo we'll be
using a number of different machines for
demonstrations today including Macintosh
and Windows please do not get the
impression because we show something on
one computer that it only works on that
computer everything in QuickTime 3oh
works on all platforms start with the
demo here first of auto format support
we're running as just a movie player
looks a lot like some say Macintosh
movie player you're probably familiar
with already Tim's going to do is open
up three different sound files in AU
file from the internet a WAV file which
is of course standard on Windows
platform and a FF file which is standard
on the Macintosh platform you see he can
play all of these using exact same
controls the exact same API it means it
doesn't matter what format the sound was
and you can just use it of course there
are some nice things you can do with
QuickTime that you can't do normally on
Windows for example play two of these
sounds of
[Applause]
buildings windows is not there's no
built-in ability in Windows to mix audio
in fact even in Microsoft applications
if you try to play two different WAV
files it tells you you don't have enough
hardware strange thing as you do you
just need better software
so audio is of course an important
component is something that's often
overlooked in multimedia is still images
still images are absolutely critical for
doing overlays for doing all kinds of
different things so with QuickTime 25 we
introduced some capabilities to work
with fills and gyms this can open up a
whole bunch here in a simple viewer
application we have we have support for
ice all that Jim run throughout the text
right here keep everyone's going to
photoshop this is actually a gift it's
very tiny gift over the map here's a
target image SGI you are our favor for
pictures
quick draw pictures Macintosh pictures
okay we have a JPEG another Gib
and a BMP so what does this mean your
application with supporting just a
couple calls from QuickTime you can draw
all these file types whether it comes
from SGI whether it comes from photoshop
whether it comes off the web and gif or
jpg format and we continue to add new
things in quicktime 2/5 those are all
formats we supported in QuickTime 3 oh
with added Targa we've added BMP because
those are important on the Windows
platform in particular later this year
working together with live picture we
intend to add support for flash pics to
QuickTime so there's new emerging
standards come out if you support
QuickTime your application is positioned
to take care of them to take advantage
of them immediately you don't have to
keep chasing standards wasting your time
trying to implement file format support
of course good times is best known for
its video capability so let's take a
look at the different video formats it
supports of course important to remember
the QuickTime is the best format for
storing your video and so we work the
QuickTime file of course but there are
for better or worse other ways to store
video one of them which is of course
very important on the Windows platform
is avi which is Microsoft's video for
windows format we have here an avi file
now there's some things about AVI files
that as Macintosh users you may not know
there is no system level support on
Windows for editing avi files if you
want to do it you have to parse the file
yourself play it back yourself write
everything out with QuickTime we can
edit avi files just like we had it
QuickTime
movies so let's just do that just make a
simple selection and paste it in
Jim Sun is taking a wave file which is
the windows audio format added it in to
an avi file actually performed editing
on two data types which are not native
to QuickTime using QuickTime on Windows
so we're not tied to a particular file
format now another file format that we
support that wasn't on our original list
of plans is the flick file format an
animation format that you have quite a
bit in a das world and this sort of
little bit of an interesting story
behind our flick support we see here
that works channel to set that playing
which is we have a person on our team
who wanted to write a file importer
pretty much for his whole life near as
we can tell for QuickTime and he chose
to do the foot file format because his
name was of course Chris flick so anyway
that's why you got a free foot file
importer out of it so the the lesson
here is to please name your file formats
after members of the QuickTime team so
we'll write this report for you okay now
there are another popular video format
which is MPEG to use quite a bit in the
consumer space Jim's going to show you
here is we have our own pic software
running on Windows today the sax game
software which shipped on Macintosh
earlier this year to making this
available in the Windows platform as
well but our impact software has some
sort of unique features such as editing
that aren't available from other MPEG
players
what we're going to do now though is
move over to a powerboat and show you a
unique application of our MPEG software
what we have over here is a power book
3400 and an MPEG camera from Hitachi
which Jim is holding up this camera has
a PCI board a PCIe hard disc which Jim
can pop out of the camera record
straight to MPEG and pop into power book
now of course it captures MPEG video and
we can play the MPEG video directly from
the hard disk but also has a still image
mode where it captures JPEG images and
since QuickTime can deal with JPEG
images we can display those but even
more interesting it has a mode where it
combines a single still JPEG image with
MPEG audio now these are both things
that QuickTime can do we've done is
adaptive software for Hitachi
so that when you open up one of the MPEG
audio files it automatically connects it
to the correct picture so that instead
of user having to assemble these two
things QuickTime does it for you
automatically so Jen will just play this
San Jose Tech Museum of innovation a
monument to the great accomplishments
and the even greater egos of Silicon
Valley so this is something that we just
shot this morning on the camera but you
can see is the QuickTime we're able to
take the MPEG audio and the JPEG and put
it into a QuickTime movie
so again applications that use QuickTime
not only can take advantage of advances
in file format but also in advantages of
new hardware such as digital cameras
which are becoming increasingly
important we can do now is go back to
slides for a moment it's sort of
interesting to note at this point if all
the QuickTime was was a bunch of
software that did what you just saw it
would be good enough that most of you
should be using it already we are now
ten minutes into the presentation we got
a lot more stuff to cover a lot of the
stuff that you've seen the file format
support is stuff that you'll be paying
for QuickTime will remain free licensing
for Macintosh and for Windows so you can
just build this stuff in there's no
reason not to use it
[Applause]
now five years ago when we started in
QuickTime we were targeting the cd-rom
market cd-rom was just coming out and we
wanted Apple to have a great solution
for playing back video from cd-rom we've
got a little bit further into that and
had great success in cd-rom space and
the people in the professional video
space started to use our technology but
it wasn't quite up to the job over the
last three or four years we've worked
very closely together with the key
players in professional media space
people like media 100 Targa radius to
address the issues that need to be taken
care of for that market key issues our
interoperability has to be able to move
files between different tools in the
past you would buy a hardware board and
the software and a file format would be
all one solution you couldn't move
between different tools now you can
because of QuickTime just about every
major video professional video solutions
uses QuickTime when we went to the
National Association of Broadcasters
convention three years ago I remember it
was very painful
we showed QuickTime and they laughed and
we learned we listened to what they had
to say this year we went back we won the
Pick of the show from television and
broadcast magazine a magazine that a few
years ago wouldn't have even looked at
what we're doing
[Applause]
like to do now is show you a
demonstration which is a video we made
we edited this entirely on a Macintosh
using video lyrics to do board and using
software such as Adobe Premiere for
capture radius edit sound edit and so
forth working with a variety of tools
this video needs just a short
introduction we sometimes have a hard
time securing rights to professional
footage so pretty much what we did is
set up a camera and sort of film what
was going on in our office last week I
think from there the video pretty much
explains itself so if we could please
switch the video over we're there we'll
play this video and I'm sick and tired
of trying to solve this jerky video
problem on Windows what I need is a
musical break
[Music]
hello hi Gil
look Peter I've been looking through
this openstep documentation and I can't
seem to find anything about quick time I
know you guys probably put times to be
everywhere well you better not already
nationally or put time should be nowhere
thank you
what is it this time get this phone call
to kill what you want now put time on
Rhapsody how are we going to do that I
don't know what's the other port in the
blue box
[Applause]
[Music]
the appropriate mindset they ponder
their options there are early attempts
for superficial restricted to appearance
and industrial design really cement
board factors proved refractory outmoded
notions of conservatism were abandoned
at the team undertook experiments in
radical information some members risking
the loss of one identity to accommodate
the other perhaps too eager for change
took hasty and dangerous measures they
just didn't get it
yes the lesson to merge is not just to
assemble but to buy the results still
like the merge is not justified but to
fuse they called upon the
transformational power and fire but the
merge is not merely to transform in the
final analysis to merge
Jeanne absolute unity to become as one
thank you it's probably appropriate at
this point in time to point out that we
really do love Macintosh I'd also like
to thank dr. Emilio for offering to be
in this video before seeing the end of
it so what you can see and what I hope
you notice during that if you didn't
think you were watching a QuickTime
movie but we were playing five megabytes
a second through that Macintosh through
a quick time we're playing straight to
the screen and people go straight to
tape with QuickTime they go live to air
on some occasions and you're going to be
seeing more and more that that means is
you're building on an
industrial-strength solution when you
choose QuickTime now there are there are
other there are other emerging standards
in the digital video world and if we
don't keep track of them if we don't
keep pace with them will fall behind
quicktime won't be the best solution
anymore one of the most important
emerging standards in a sort of prosumer
and professional space is DV these
cameras digital cameras are on a price
range of about two thousand dollars
these days they're pure digital they use
firewire and Apple invented technology
to transfer the digital data into the
Macintosh this is changing the industry
because it's making higher quality of
video available at much lower cost
unfortunately most of the computer
industry has looked at this and is
worried because they think they have to
go out and create new applications
specifically to edit DV and QuickTime
team as you can see we're a little lazy
we try to find other solutions what we
discovered was TV is just video so it
ought to just work it ought to just work
with existing applications so we work
together with a bunch of people doing DV
including Adaptec we like to show you a
demonstration of what we've achieved
thus far in QuickTime 3 oh what we have
here is a Macintosh running Adobe
Premiere this is a version of Adobe
Premiere it has no specific support for
DV we've got a firewire camera out here
the gyms going to do is do a simple
video capture using Adobe Premiere I'm
going to move out here so you had some
motion
we're gonna see anything there you go
guessing like oh yeah yeah please
capturing it's transferring the digital
data in from over firewire into the
computer doesn't preview it at this
point mm-hmm we have a can piece of
footage yeah let's switch to the can
footage we would have seen is attaching
it over firewire what's nice about the
transfers it's purely digital there's no
digitizing going on so there's no noise
introduced into the signal but we would
have gotten was a file which is just DV
data not a QuickTime movie but we can
open it in any application so now what's
nice about QuickTime TV supports that
can support software only TV is a lot
like JPEG or MPEG and requires a lot of
process our processor power to playback
we've built high performance optimized
version of the DVD coder into QuickTime
so that any additional hardware users
will be able to view and edit their DP
content because it's QuickTime there's
nothing special about editing it I can
edit TV just like I can edit movies just
like I can edit avi files it's important
to see here is again that we can adapt
to these new technologies we go back to
slides down please a few years ago
QuickTime had a hard enough time playing
one channel video one channel sound the
machines have gotten much faster we
needed to find some new way to burn
those cycles the hardware guys now can
support two or three channels of video
simultaneously so we want to be able to
do things with that so we've built into
QuickTime 3.0 effects and transitions
architecture so let's take advantage of
new hardware coming out close in the
video area and also in the software area
in the past special effects and
transitions of Lac standardization
different interfaces are used in
different applications
you can't move effects descriptions
between applications QuickTime will
solve that we're working together with a
group of people in the industry to
define how effects are described so they
can move be move back and forth between
applications seamlessly
this is going to have a major impact on
the way people edit video using
computers today and of course we've
built into QuickTime not only support
for hardware but a rich set of software
only effects so if we can go to
demonstration now please we'll look at
this on the Macintosh there's an
organization called sim fee which takes
care of all the television standards
they have a really fascinating book that
defines 120 standard video effects if
you were doing a new application to
support special effects and transitions
you'd have to sit down and write a
hundred 20 different transitions just to
be able to say you support simply
standard with QuickTime 3 oh you don't
have to write any of them they're all
built-in so Jim is showing you the
random simpie wipes where each time he
plays this video it chooses a different
Cynthia effect as you can see these are
sorts of the standard things that you'd
be used to it is actually taking to
channel 2 video only in software and
mixing them together using different
effects of course the simple apps are
useful they're important but they're not
sexy we want to do some things were a
little more interesting got another
effect here we'll be building a number
of other kinds of effects in such as
dissolves we're opening up here that
uses a gradient this is the technique
that's used by a lot of people in Adobe
After Effects for example we open their
own one what it lets you do is take an
image map and apply it to a transition
so you'll see here in a moment there we
go
is an effect which is quite different
from the kinds of things you're used to
seeing it's being rendered only in
software to providing a very unique look
so these sorts of things your
application will be able to take
advantage of seamlessly with QuickTime
it'll mean that all kinds of effects not
just the standard ones can be moved
between applications without any
problems now another effect it's very
popular very common is chroma key where
you have something shot in front of a
blue screen and then you composite it
over some video quick times been able to
do this in the past that the performance
hasn't always been as good as we would
have liked it so as we were looking at
effects who went and improve the
performance
chromakeying so we have here is when the
videos videos you've seen before with
stuffed animal chroma keyed and table
called it's the dancing turkey
technology this is all well and good on
the Macintosh so let's take a look at it
over on the windows computer there's a
company called Intel you may have heard
of that produces micro processors and
they know quite a bit about optimizing
code for them if the techno technology
called
India India and racket is currently only
available on the Windows platform we've
worked with hotels to integrate India
with put time the nice thing about
QuickTime is it provides access to
unique capabilities that their software
supports that the system software on
Windows is not supported in the past so
we've got here is a video and you can
see by itself it's pretty boring it's
black for a lot of it and then moving
into it there's just sort of this
dancing guide first I'm going to show
you is that India actually supports copy
protection on your content so if we go
and close this movie right now we can
only see part of it if we go to the
QuickTime control panel which looks a
lot like the QuickTime control panel on
a Macintosh and we go to the access Keys
we can add in the password for this
particular piece of video
password is quite simple in this case
close the control panel up and we'll
open the same movie again now you'll see
is because the access key is available
we now see all of the video but what
you'll also see as we play over the
transition why can't you live against
man 1 the India was actually compositing
those two things together using
QuickTime special effects architecture
in real time using their software India
technology so we're pretty excited about
here in the QuickTime is actually being
it's providing new opportunities to
people near those platforms and
hopefully encouraging them to bring
their great technology the Macintosh
platform as well because it's so easy to
do so we talked about video we've talked
about the special effects capabilities
of QuickTime let's move into the
multimedia space for a little while if
you've come to the Developers Conference
over the last few years you've probably
seen us show demonstrations of our
sprite technology we first introduced it
in QuickTime to one to be honest it
hasn't been adopted the way we had hoped
rather than blaming you we went back and
listed what we were doing decided we
needed to add some more features we
needed to make it do something that you
couldn't do so easily on your own there
are a lot of changes subscripe stuff in
QuickTime 3 oh it has amazing media
integration capabilities easy to combine
with quick-draw 3d for example easy to
combine with video it's a great data
type for the internet we showed some of
that capability during Elin Hancock's
demonstration we're also providing
authoring capability for sprites for the
first time with a plugin for director so
that you can take your director score
and convert it to a quicktime sprite
movie you can download that off of our
website today like to do show your
demonstrations some of the movies that
we've made these were all made with
director we'll start out on the Windows
machine first I'd like to show you is
our transparency capabilities then we'll
just play this what you'll see here is
we've got a cloud switch the bit-depth
what we're able to do is enhance what
director is able to do on its own for
example it doesn't support an alpha
Channel but when we create the QuickTime
movie from a director animation we can
add an alpha channel so that cloud is
casting a real shadow on that logo
that's behind it the scope is really
transparent the way smoke should be in
the real world
and that's something almost impossible
today to do with other animation engines
we can model other real world effects
such as a bubble
we can take some rendered fire that we
have things such as rendered 3d objects
now rendered 3d is fine this is pre
rendered but Apple has this really great
cross-platform 3d technology called
quick-draw 3d so we should be able to
use that here so let's open up another
version of this movie and replacing the
Goblet would be too easy can be a
standard demonstration what we've done
is replaced the cloud with a spinning
Macintosh watch the drive slot when it
comes around the next time let's write
lightning from your Macintosh so the
ability to combine 3d seamlessly along
with video with your sprites very
important very unique capability of the
QuickTime sprite engine
quick times right server reasonably
small data type but there's ways to make
these things even smaller a picture of a
cloud that's used in animation is
reasonably small just a sprite that says
I would like you to draw a cloud here
and doesn't contain any other data is
even smaller what you see here is a
rendered cloud there is no data behind
it there is a fractal mipmap generating
this dynamically what this means is the
data size of this is equal to just the
picture plus a couple of extra bytes to
say I want to cloud means it for
Internet kinds of delivery you can very
easily add animations add other
capabilities without having to increase
your data size take another look at an
example of a render who showed you fire
before which was sampled this is
rendered fire Coketown gives you the
ability to turn put any movie on fire
without having to add any extra data to
it we've built a number of different
kinds of renders into QuickTime to
enable low bitrate delivery very unique
looking
now on the Internet
you're always trying to get some data
right then Apple has had great vector
technology in its products for a long
time
quick-draw GX is providing an amazing
ability to create bitmaps excuse me to
create vectors just like PostScript will
continue that tradition vectors are
great because they're scalable it's Jim
resizes this Apple it doesn't get jerky
this is using a vector technology we've
built into QuickTime 300 available of
course for mac and Windows
this Apple logo is 1.7 K it's smaller
than a bitmap would be for downloading
this but it's scalable to make it any
size and it'll look great in a fancy
alias so there's no jaggies on the edges
it's a really nice simple use technology
and we provide the ability to convert
quick-draw GX shapes into this
painlessly for those of you using GX
like to show you an example done by
Larry software using our sprite track
combination with vectors and tween track
you see we have gradient support in our
sprite sprite engine and our vector
engine so this entire movie which is
entirely appropriate kind of thing for
webpage it's about using between stuff
is about 12 K it's very small we're
actually working on making it even
smaller it will scale play fat great on
any machine and it's entirely
appropriate for web and multimedia
delivery something you can do again with
410 300 let's go back now to slide
it's also important to mention here that
almost everything we're showing we're
going to be explaining in detail during
some of the breakout sessions over the
next couple days put time on the
Internet
a little while ago we figure out the
internet is very important
last year we shipped simultaneously for
Macintosh and Windows the ability to
stream QuickTime movies from any web
server works with Netscape Navigator
works with cyberdog works with Internet
Explorer as you can see this from the
sprite demo we've been working to make
our support to the Internet even better
by introducing more low bitrate data
types into quicktime so that you'll have
more choices of how to use QuickTime
technology on the Internet
I'd like to do a show you a couple
demonstrations of the ways that we are
providing improved capabilities on the
internet with QuickTime start out on the
Windows machine correct so we're going
to show first QuickTime video data types
have not traditionally been tuned to the
web we have added input times real
cinepak was designed for cd-rom JPEG is
designed for professional uses other
people are doing things such as h.263
width or 261 we've added two full-time
3.0 support for h.263 so that built into
quicktime is a low data say low data
rate video format as low as 2k a second
you can broadcast you can send video
using QuickTime now the thing is that's
great for 28 8 modem but different
people have different connections
different speed connections when I go to
a webpage and not in that webpage has
multiple different versions on it very
confusing for me I see this web page
that was very beautifully designed it
click here for 2880 click here for 14 4
click here 41 this is not a great user
experience QuickTime 300 has a built-in
control panel it lets the user specify
what their connection is the system-wide
setting that your application will be
able to read from as well so you don't
have to provide that as well now when we
reload this web page since we've upped
our network capability it automatically
comes up with a higher quality bigger
version of
they moving
you can put some we're really trying to
address the whole problem we're not just
trying to provide a good video solution
but a fully integrated solution
something that addresses the needs of
the graphic designers and the webmasters
so that they don't have to put up
multiple versions of the same content of
course we're working with people like
Taryn interactive update their media
cleaner pro product so that it will be
able to automatically author these but
you'll just say I would like these three
different versions hit a button go away
have some dinner come back and it'll be
done now we've done some other things
take a look at the sprite movie I'm
sorry yes so we're going to switch to
the Macintosh channel for those oh yeah
okay with her thank you we've got here
is a QuickTime sprite movie you don't
see the play bar and what we use this
for is an animated image map something
you can do on the Internet today you
know if animated gifts or you can have
image maps but you can't really combine
both in interesting ways with QuickTime
sprite engine in three oh and we click
on one of the different logos we
automatically go to the page associated
with it we go back and click on for
example motorola we go to the motorola
page so again some very practical simple
things please
you know these aren't this is not an
example of a technology you know such as
for example thermal that is saying we're
going to reshape the way the entire web
works it's the technology that
recognizes what the web is today and
tries to improve it in very simple in
useful ways take a look in a way that we
can use it slightly differently but the
same basic technology by coming over to
the Macintosh
what we have here is a QuickTime movie
that contains a quick-draw 3d model so
again an example of integration in the
QuickTime media layer now we are not in
a browser right now but we have built
the URL URL linking capability into
QuickTime itself not just into the
browser so when Jim clicks on a
different piece of the truck what
actually does is launches his browser
using a great little piece of technology
called internet config and takes them to
a associated webpage then it goes back
to the truck and clicks on a different
place we'll go to a different web page
so we can associate different links with
different pieces of the model this could
be embedded in web page or this could be
separate what's nice is your application
for example give a cd-rom can be
connected back to the internet back to a
browser without you having to do almost
any additional work at all
[Applause]
now this has been an example of how you
can go from movie player to a browser to
get to the Internet the thing is we
thought it would be kind of cool if we
could just bring the Internet to movie
player movie player is kind of our
application of choice we don't actually
like to run anything but that in the MTW
shell on our machine so what we've got
here is a very small movie that Jim is
just going to do a get info and to show
you hopefully just a few K which is not
actually a movie but a reference for
your buddy 300 bytes just just a
reference back to a website so he's
going to open that in movie-player this
is just the same old movie player' what
you're going to see the rest of download
a small version of this movie that you
would have scanned before now it's going
to change that data rate and again show
you the system level service here on the
Macintosh as well so we open that stain
movie and movie player will go back to
the server and get a different version
of it because now we have a faster
connection
[Music]
this is actually doing some breslav
download we are connecting back to an
HTTP server so get this movie and
download it as user requested this means
that you can support progressive
downloading in your application with
literally no changes today now we
thought that was kind of nice but we
also wanted to do one other thing
QuickTime has all these layers that's
why we call it the QuickTime media layer
so this IO layer the thing that we use
to go read from an HTTP site or an FTP
site is a public API so if you want to
go and read some data from a website in
your application you can actually call
QuickTime to do that it was just about
four lines of code in your application
you can go and fetch any URL it's out
there in the world so QuickTime is
getting to be a pretty bizarre
technology that draws pictures and light
you know goes and gets web data but it
works the same on Macs same on Windows
ok so come back to slides thank you come
back to slides and talk for a minute
about some other Internet issues what
we're doing today on the Internet is
called progressive download lots of
people especially those out there
selling big fancy file servers and web
servers say the QuickTime isn't doing
real streaming today what it's doing
ain't no good it's just not right
because it's not real streaming that's
true it isn't real streaming but the
QuickTime plug-in solves a bunch of
problems including no firewall problems
working off of any web server so you
don't have to go buy a special web
server just because you want to put up a
couple videos these were really
important to us we wanted anybody to be
able to put video on the web not just
people who have big fancy servers
however if you have money those big
fancy servers do have some advantages
including the ability to do broadcasting
or multicast to multiple people we have
been working on adding streaming
capabilities to click on this is not
something that we will ship for
QuickTime 3 o we will ship on top of
QuickTime 3 up now why does it matter
that Apple is adding streaming
capability why is it different if
QuickTime supports streaming
then if other vendors support streaming
the answers are simple everybody's using
QuickTime to edit their content today
there's no better file format for
storing video
there's no better file format for
storing multimedia in general you should
be able to take that click on file put
it on any web server and have it stream
with QuickTime streaming technology
you'll be able to do that no more wastin
time converting something to stream it
the other thing that's very important is
for years QuickTime is recognized there
are a lot of other data types to cut
besides sound and video
you're still the stream sprite you
should be able to stream 3d to be able
to stream MIDI you should be able to
stream text back you should be able to
stream anything you can put in a
QuickTime movie and that's what our
intent is to give you the ability to do
so you don't have to think about what
are the limitations of my delivery
engine QuickTime streaming will give you
the ability to stream anything the
QuickTime can do I'd like to do is show
you a demo of an early prototype we've
been working on a QuickTime streaming
I've got a Macintosh here we're
connected to a streaming server in the
back
strangely enough written entirely in
Java there's a couple things got a
QuickTime movie on it and what we're
going to do is open that QuickTime movie
and you'll see it's streaming in here it
takes what's going to happen now is
Jim's going to hit the play button makes
the connection back to the server
requesting it to play takes a moment for
it to get started it buffers up a few
seconds of video and then what you see
is this QuickTime movie of an old Apple
commercial streaming in live so this is
using a h.261 codec which is very
typical for streaming today on the
Internet
you'll notice the play bar is a little
different if you don't have full control
over the string because the streaming
servers at this time don't support those
protocols we gray out those controls so
you don't have to worry about it
we can also as a typical QuickTime movie
adjust the size of the movie it's
actually something most streaming guys
don't let you do today for some strange
reason can also adjust the volume using
standard QuickTime controls scaped over
there so we hit in and movie so that's
showing how you can stream a QuickTime
movie but there's something else that
streaming is used for on the Internet
and that is for broadcast multicast in
fact I believe this session is being
multicast
we've got is another server in the back
of Precepts server which is broadcasting
a standard RTP stream
which we are able to tune into using
QuickTime streaming technology and again
we're doing this just an existing
application we can adjust the volume we
can resize it just like any other
QuickTime movie but this means that any
application using QuickTime is able to
tune in to network broadcast of
multimedia data again without any
changes same on any platform and of
course it takes advantage of varying
network quality scalability
slipstreaming pop one more demo I'm
sorry I apologize integration is kind of
important though as I said we're not
just going to give you a streaming
solution we can give you the ability to
combine it with other aspects of the
QuickTime media layer we've got here is
a QuickTime VR scene a walkthrough
something you've probably seen done
before but it's a little bit different
this time what we're going to do is ring
doorbell we go and we're going to go
through the door and actually when the
door open it's using a QuickTime video
movie to display that will go through if
that's this room here you can see the
standard prop down on the floor there
the television we click on that
television we tune back in to that web
broadcast from that pre step server
right in the QuickTime VR scene so we
are able to combine VR very easily with
these new technology such as streaming
and you will be able to do this as well
without any compatibility woes without
any kinds of problems to create unique
rich multimedia experiences that can't
be created using any active or direct
technology
[Applause]
we've talked about Macintosh we've
talked about Windows let's talk a little
bit about foot time on some other
platforms if we can go back to slides
please
I said quick time has become a very
pervasive standard in the last year
Silicon Graphics is actually
standardized on QuickTime as their
preferred method for storing digital
media we've worked together with Silicon
Graphics to make sure the curtain
remains a great container for
professional quality media so looking
graphics has a lot of background then
we've learned to locking them companies
like site X and media 100 have
standardized on QuickTime it's a format
for storing their digital video now site
X and Silicon Graphics don't use click
on software on their platforms today but
they use the QuickTime file format
because they know that it's the best
file format that's out there QuickTime
is so flexible that people just go there
to make sure that their products are
interoperability each platform has
unique capabilities Silicon Graphics
platform is great for authoring it's
really not you know your ideal delivery
platform that's why we do Windows 95 and
a Macintosh version of QuickTime
so QuickTime will have different
different uses different primary uses on
each platform
what about this other platform what's
this Java thing that's definitely
important platforms just like the
Internet that's very important what are
we doing about it we're going to make
sure that QuickTime works in Java just
we expect it does that mean we're going
to rewrite QuickTime in Java
no QuickTime is on every platform
QuickTime gets excellent performance in
every platform we will make sure you can
write applets to take advantage of
QuickTime those applets will work on any
platform the QuickTime is deployed on of
course that means that work in the
yellow box it'll work in the blue box
work on Mac OS it'll work on Windows to
be able to write application to take
advantage of foot time in Java
now some people have asked why we
haven't done this earlier and the answer
is because market hasn't been there to
tell us what exactly we're supposed to
do it's not our approach to just put out
something to meet the latest buzzword
when you do that you end up with lots of
different products with confusing name
and version numbers that roll up to
version 5.0 way before their time
and developers have to constantly learn
new technologies put time for the last
six years
excuse the same api's if you wrote a
clip time application following our
guidelines six years ago it's to be able
to play just about every movie we've
showed you here today with no changes we
want to get our ideas right so that you
don't have to keep relearning things and
so that they work so we're taking our
time on the Java stuff we will deploy
something this year but we're waiting to
hear from developers on what exactly
that should be not our job to tell you
what it should be it's your job to tell
us so we have feedback forms with these
things I hope you'll come and tell us
what you think we're doing we should be
doing let's move on to another platform
one that you probably heard a little bit
about at this show
perhaps today you saw in the video we
tried some different techniques to get
QuickTime to actually work on Rhapsody
when it came right down is what we
actually thought maybe we should write
some code so we did that
why is pretend interesting on Rhapsody
it's just another platform why what's
the big deal you would expect QuickTime
to be available in Rhapsody you should
expect it and of course it will be there
but what's the unique aspect of Rhapsody
is going to make having put time on
Rhapsody very interesting I think we've
all been impressed with the app builder
demonstration for the next platform has
how easy it is to construct simple tools
or even complicated tools very quickly
one of the biggest problems we have the
QuickTime today's had so many features
that it's hard to get tools written
quickly to let you take advantage of all
those different features so you're
seeing in QuickTime 3 oh here we have
dozens of new features if each of you
would just pick a few of them we might
have enough tools using traditional
techniques using rhapsodes app builder
we should be able to create tools very
quickly for the naval users customers
authoring people to create great
QuickTime content using the latest
features very quickly
so really the graph sees can be a
fantastic authoring platform for
QuickTime from the very start and of
course because Rhapsody is really an
industrial-strength OS with great
multitasking memory protection
a native file system we expect to see
performance benefits I'm not going to
tell you what they are yet because we
don't know what we expect they're going
to be there let's take a look at this
you've seen a little bit of it before
during the show show you a couple things
that are maybe a little different you
can switch to the next machine about the
QuickTime logo look pretty nice that
they're actually next to the next logo
so what we're going to do is open up a
video movie one the pretty much is
necessary to prove that it's QuickTime
just open this here
classic QuickTime clip and see that
video you know it must be clicked on but
what's important here to see is that we
are actually porting all QuickTime
including the user interface element
earlier during the show they showed you
QuickTime they haven't shown to you with
all of the user interface widgets of
course we'll have a native look for the
next platform so that will fit in and
looks just like we should but we'll also
have options to use the stands to turn
controls as well it's also I think a
really great indication of how solid
wrap C is going to be and how portable
to put on code bases that were able to
get this much working so soon but this
is just sound and video and what we need
to do is take a look at to really see
how we're doing at moving click on the
rhapsodies look at some things that
aren't so traditional we've talked about
sprite so let's look at that a little
bit more here's a sprite movie when you
may have seen at least a picture of an
Mac week we can just play this you see
it's using another of our special
effects the ripple special effect is
actually making this fish ripple not
pre-rendered but calculating that on the
fly
it's in clicks on the video or on the
sprite excuse me it can actually create
waves in the water so all of this
technology
[Applause]
all of this technology moves to Rhapsody
including sound now we'll be available
when you get ratcheting when you expect
it to be and it will work just the same
don't worry about new api's cliff ten
api's are the same everywhere the same
is the point where you'll always be able
to call them ugh and have it work so
yeah it's good to have nice animation
that's the quick time on Rhapsody now we
like to talk about for the remainder of
discussion its QuickTime interactive
this is really sort of the essence of
what the QuickTime media layer is about
it's really the ability to combine all
of the different technologies that we
have video sound 3d virtual reality into
a single multimedia experience we add
standard ways to use interactivity into
QuickTime why would we do this we need a
single solution a single place where all
the stuff can live we need easy ways to
do this we don't see alternatives out
there today that provide that what are
we trying to accomplish a couple
different things but almost all of them
are focused at the developer the first
one is to make sure the authoring tools
can work together if you're creating a
multimedia presentation today whether
it's for delivery over the Internet or
whether it's for delivery on a cd-rom or
on the desktop platform the first
decision you make is what tool you're
going to use and once you make that
decision you can never change your mind
and you can never use any other tool
there's no interoperability between any
of the multimedia authoring tools today
if you use Apple media tool or use hyper
card use director use em Factory all
great tools for certain purposes but if
you're doing a real multimedia
presentation you actually probably would
be better off using different aspects of
each one
our goal in QuickTime Interactive is to
provide the same flexibility in
multimedia authoring that we've created
for video authoring where you don't
worry about what tool
which tool you're always going to use
you can use premier for part of your job
After Effects Photoshop sounded it and
it's a seamless process this makes
creating content much easier it means
that users will have a good reason to
have multiple tools not just one and for
developers what this means is you don't
have to write a player application for
every platform that you're targeting
your multimedia your multimedia
presentation most of the shipping delays
in multimedia software today is in the
player not the authoring part players
are just tedious they're not fun to
write QuickTime is a built-in player for
multimedia presentations now all this
sounds a little abstract I think the
easiest thing to do is actually just
show it to you we showed you a little
bit of this last year and frankly I wish
we were shipping it this year but we
discovered that Windows development is a
little harder than we had anticipated
here's a slide that scheduled out a
little bit but was still still
aggressively pursuing to put some
interactive and you'll see exactly what
we're doing here do this demonstration
on a Macintosh you like to do first and
show you an example of something that we
put together it says just a QuickTime
movie open under QuickTime interactive
and movie player you'll notice there's
no play bar because you don't just play
this movie you play with this movie so
Jim is going to do one of the first
complaints that we get from developers
is I don't like the standard puts on
movie controller I need it to look
different Pro 10 Interactive gives you
the ability to easily create controllers
so Jim's got down here a little pretend
interactive movie controller Wow
in a burn now it was just some audio
controls over here so we can just two
audio tracks we can bring down the sound
we can bring up the narration Travis
you're gonna yep hit the tree this don't
like this right
you can also realign the video region
standard control if we don't like the
way these things are arranged we can
rearrange it we put the audio controls
on top of the player can we move these
around customizable for the user as well
as developers and a bird not so we can
use the sound as well which is important
on here so I can talk what you see here
is a couple different things full
interactivity using some pretty
sophisticated kinds of knobs and
controls completely customizable of
course and video being combined what you
can't tell from this and we're going to
show you here in just a minute is that
there's no code behind this when we
created this we do not write a single
line of code to actually do any of this
controlling when I saw the next
demonstrations that Steve Jobs did at
Macworld he made a great point which is
line of code which you debug the least
it causes the fewest problems that works
belong if it's one you never write and
so QuickTime Interactive we're trying to
follow that paradigm and make sure that
as many things as possible are just
built-in it's just work with data-driven
approach as opposed to scripting so what
we want to do is show you an example of
how we created some of these controllers
without having to do any scripting
instead of recreating that example what
we'd like to do is show you how we can
control a 3d model so we've got here is
a chair one of the standard 3d models
you probably seen and built into
QuickTime interactive is the ability to
control a 3d model as you'd expect still
a little jumpy but basically they're so
3d is a standard data type as you'd
expect in QuickTime interactive so we
can control it but we don't have what
we'd like to do is connect up a slider
that controls the rotation so let's go
grab another standard part a slider and
Jim can show you that the slider
actually works here just on its own
if he goes into play mode there you go
what we like to do is connect that
slider to the chair we're going to do is
take a look at a little confusing but
bear with us
take a look at the properties of the
chair to bring up it's sort of an
inspector if you will and go down to the
rotation we'll take the X rotation
parameter what we're building here is a
little patch Bay so we want to do is use
the X rotation parameter from the chair
when we use the control output from the
slider so we've got these two values and
we're just going to patch them together
and we're going to configure that patch
to describe that the slider moves from
values 0 to 1 but this rotation should
move from 0 to 2pi so they go through
full rotation now you see is when she
hits ok that those things are connected
and it just works
you can patch any properties together
with any kind of scaling you want in
QuickTime interactive you can in fact do
automated things where you can attach
this to time and have the chair rotating
by itself again without writing any code
this application we're showing you is an
application that we're developing for
our test purposes this is not intended
to be a professional multimedia
authoring tool but what you'll find is
that as you saw it has some capabilities
which tools that are out there today
can't match another thing that we think
is really important when you get
multimedia content today you get a
picture and then you maybe get some
scripts and get a bunch of pictures here
we've got some pictures from last year
we need to do is get to this year's
picture would you drag this in drag and
drops pretty typical but what you'd
expected that to just be a picture that
we then script but it's a full object or
has sounds associated with it it has
multiple frames the video and it has a
behavior when we click on it it goes to
jump this makes it really trivial to
create clip objects that you can reuse
in any application and I said that this
application was something we're using
for testing Apple is fortunate to have
right there used to be rebooting well
had to happen
Apple is fortunate to have an addition
to a great max bug an application called
HyperCard hypercard was the original
multimedia authoring tool so what most
of us learned how to script on so
scripting language most of us prefer to
use if given a choice hypercard has been
stuck in black and white for a while
what we were looking at is a way to take
advantage of HyperCard we first thought
about using HyperCard is a way providing
way to save a hypercar movie into
quicktime interactive so that we can
deploy those cross-platform that seemed
like a great solution and that's in fact
what we do with apple media tool we can
save an apple media tool project to
HyperCard - excuse me - quicktime
interactive and we can deploy that on
any platform but we want to step further
with HyperCard we actually use QuickTime
for everything a hyper card stack is no
more hyper card is a QuickTime movie
editor everything you're doing is
operating directly on a QuickTime
which means a HyperCard gets integrated
color because QuickTime has integrated
color HyperCard is great video support
because QuickTime has great video
support HyperCard facts become cross
platform because QuickTime is
cross-platform we're going to do now
hopefully show you hyper part so it's
working just fine a moment ago so we'll
do is just drag we're actually got a
sweet set up down the hall where
tomorrow from I believe 11:00 to 2:00
we'll be going through some of this in
more depth if you want to see some more
details for QuickTime interactive but
what we'll do is bring in the kangaroo
we need to switch the authoring mode
here you see it really is like HyperCard
nice to tear off palettes just like you
would think they should be just in color
now bring the kangaroo in mm-hmm you can
see the same kind of roof comes from two
HyperCard has the exact same behaviors
so here's the something unique already
which is one form of scripting and
animation moving between two different
authoring tools something's not usually
possible but let's do some things that
are a little bit more specific to
HyperCard which is bring in a picture as
a button we like to do is now have that
button controlled kangaroo wouldn't be
hypercard
unless they were hyper talk so bring up
the script editor and Jim's going to put
a simple script in here the thing you
have to realize here is everything in
QuickTime is components so just like I
told you before you'll be able to use
our internet data handlers to read data
in any application into the internet you
can use the hyper talked scripting
language from any application because
it's built into QuickTime interactive so
it can be a standard scripting language
as part of what you do and Jim is
scripted it so that we clicks on the
penguin it controls the kangaroo so
we're controlling something that wasn't
even created in this particular
application so far we've only done
things with one card with one Scene we
really need to be able to do multiple
scenes so we're going to bring in a
button which is already pre scripted to
go to the next card create another card
and bring in another picture and another
button
and we go back to play mode try this out
we use a couple different things first
thing is that it doesn't always work
right the first time but after that it's
fine what we are doing is moving between
cards we're using visual transitions the
visual transitions are important the
visual transitions are the same
technology you saw the floor in the
professional video demonstration we have
this technology called QuickTime media
layer and we can reuse pieces of it in
different ways we don't need a 3d
technology for the 3d market and a
different one for the internet market we
use the same one because our
technologies can span those markets we
don't build an effects engine which is
specific to the video market and then
another one which is specific to the
multimedia market we use these
technologies and then leverage them
highly so you don't have to keep
learning new things and you can take
advantage of these technologies in any
place so hypercard now has all the cool
current access to all the cool
transitions that we showed you before
ok so let's take this out of hyper
Cardon you'll notice we didn't click
Save because you don't save in hypercard
it just automatically does it for you as
you go let's open that hyper card stack
and movie player
let's go and do that just to show you
that what HyperCard was operating on the
whole time it was a quicktime movie all
the same behaviors penguin still works
hangar still jumps and still get garbage
the first time when we transition to the
next start
something to point out here that's
equally important is because we have
QuickTime supported on the Internet
today through the QuickTime plugin I can
go and stick this on the HTTP server and
it would work in any net browser as well
it's a great solution for delivering all
kinds of interactivity the great
solution is a front-end route for
applications as well we have a lot of
people looking at it
as ways to control applications not just
to deliver multimedia we've got here is
something we've put together again using
a couple different things using
hypercard using Photoshop using some 3d
programs using CGI make all combining
one thing everything you're seeing on
the screen right now is pretty much not
controlled by code except for just a
couple tiny little places almost
everything's automated the animation
engine that's built in can take care of
doing these sort of character loops of
walking or shooting the gun without you
having to do any code you just say I
would like it to be walking left now and
it automatically switches to that loop
so Jim can drag these characters around
not quite yet if he clicks on them you
can also use the keys to move them to
change the positions so the H JK there
you go so we have complete control rooms
from the keys we also assume of showing
you just a moment ago can have
controllers that control these patched
together the same way the 3d controllers
work so there's a joystick we can move
those Martians around we got one on the
other side Martians name is taro by the
way for those of you wondering
and again this controller all of this
motion is completely controlled without
scripting the only scripting you've seen
so far really is when you roll the mouse
over the joystick it has a set visible
to true and when you roll it away it has
a set visible to false and that's it so
we created a simple scene here yeah
that's interesting but let's take a look
behind the scenes it's a little bit of
what's controlling it so what we're
going to do is turn on like the sort of
secret behind the scenes view but you
can see down on the bottom right is a
pan knob and as Jim moves that it
controls the speed of the animation the
animations are controlled by a clock
it's pretty reasonable click on those
great timing services the foundation
foot time is time so we take advantage
of that in the animation clip services
so we can speed things up slow them down
so that's controlling each individual
animation but you see that master clock
in the sky we go and adjust the speed on
that it controls both of them so we have
the ability to control the speed of
individual elements but also to have a
world clock to controls all of them and
all of the timing is patched together
again without having to write any code
your applications can easily generate
QuickTime movies to control these sorts
of things if you have presentation
packages anything that's putting out
data set QuickTime interactive is a
great way to deliver those rich
animation capabilities great control
capabilities high performance supported
on every platform so we think liftime
interactive it's going to really sort of
cement the QuickTime media layer
together it's going to provide a way in
a single movie effortlessly combine 3d
er streaming video and different kinds
of controls and to do it easily we think
java's great in fact we will support
Java and clicktime interactive so that
you can use Java scripting if you want
to we also support C for scripting we
also support hyper talk these are all
important but we think that having to
write fewer scripts is the most
important thing so that's what we're
aiming for so we can go back to slides
[Applause]
so it's actually really great for me to
be able to stand up here and talk about
quick time today because one of the
things that's really really nice about
it it's a well-established standard I
don't have to stand up here and tell you
about what our plans are to compete with
other technologies and other vendors
there is nobody else to do anything like
this out there because you've had the
good sense to choose McIntosh you get to
use it first you get to come here and
like see it all the developers
conference before anybody else but that
technology will be available on every
platform that you need it for you can do
your offering tools on Macintosh you can
have make sure that that content will be
delivered on Windows be delivered on
Rhapsody be delivered anywhere it needs
to be delivered QuickTime is not a
b-grade solution QuickTime the state of
the art we're doing things that nobody
else is doing we're doing things other
people are trying to do but we're doing
them better
by choosing QuickTime by choosing the
QuickTime media layer you are not
getting degrade solutions you're getting
state of the art that stuff that's out
there and beyond that we make sure all
those things work together so you don't
have to you know you have to think
wouldn't it be interesting if I could
combine video with VR we've already done
that it works so you don't have to
suffer through the integration
nightmares yourself the services reach
across all markets interesting thing is
products created for one market using
QuickTime sometimes end up getting used
in others so because you use QuickTime
you have the ability to easily reach
across market segments as well as
platforms and as you can see from the
demonstrations we're showing you we're
continuing to absolutely aggressively
move these things forward
we aren't standing still we've been
working on this stuff to the last six
years we continue to work on it we want
to make it the best technology that it
can be it's really a platform for
delivering media we want to hear your
feedback we want you to come to the
other sessions that are going on for VR
3d and QuickTime today and tomorrow we
encourage you to come to the feedback
forum and tell us what you like and what
you don't like place to thank you for
getting up so early this morning I'd
like to thank my team for putting this
stuff together like thanks a crew for
making it all work and that's about it
thank you
[Applause]
[Music]
[Applause]
[Music]
[Applause]