Configure player

Close

WWDC Index does not host video files

If you have access to video files, you can configure a URL pattern to be used in a video player.

URL pattern

preview

Use any of these variables in your URL pattern, the pattern is stored in your browsers' local storage.

$id
ID of session: wwdc2002-600
$eventId
ID of event: wwdc2002
$eventContentId
ID of session without event part: 600
$eventShortId
Shortened ID of event: wwdc02
$year
Year of session: 2002
$extension
Extension of original filename: mov
$filenameAlmostEvery
Filename from "(Almost) Every..." gist: ...

WWDC02 • Session 600

The State of QuickTime in 2002

QuickTime • 1:02:58

QuickTime is Apple's industry-leading technology for creating and publishing multimedia content. Whether you develop software for web publishing, interactive gaming, enhance music CDs, professional video, or QuickTime VR, learn what's been accomplished over the past year and see where this foundation technology is headed.

Speakers: Tim Schaaff, Tom Dowdy

Unlisted on Apple Developer site

Transcript

This transcript was generated using Whisper, it may have transcription errors.

Ladies and gentlemen, please welcome Vice President of Interactive Media Group and all the rest of the fun stuff, Tim Schaaff. Unfortunate. Okay. Welcome. So all the other fun stuff that Bill was referring to is, in addition to QuickTime, I'm responsible for Core Graphics, Quartz Extreme, that kind of stuff, QuickDraw, the printing technologies, all the audio and music stuff. So if you have comments or feedback you'd like to give me during the week, feel free to stop me and let me know what you think, and I'll do my best to attend all the other feedback sessions related to those things so you can let me know what's on your mind. Today we're going to talk about QuickTime.

So let's start with QuickTime 5. QuickTime 5 has been in the market for just over a year. And it's been a really exciting year. We've had a lot of success with QuickTime so far. In our first year, we've downloaded over 100 million copies of QuickTime 5. This is really remarkable.

QuickTime has been in the marketplace for a long time now and over those years we have been able to develop a very large body of applications and tools and so on to support the technology. We've got thousands of applications in the market. We've got tens of thousands of CD-ROM titles.

thousands of enhanced music CDs, and there are more than 160 digital cameras in the market today that ship with QuickTime installed. What's interesting about this is that virtually every major manufacturer of digital cameras ships with QuickTime now. And over half of those are shipping cameras that actually create QuickTime right in the camera itself. So this is pretty neat. QuickTime is making its way far and wide in the world. So... We look at our statistics for apple.com, the QuickTime web pages. We're seeing over 1,300,000 QuickTime page views each and every day. People are going there to find content and check out the download pages and so on and so forth. We're getting more than 300,000 new installs of QuickTime each and every day.

This is a very interesting statistic. So we went back and we analyzed the data about where customers who have come to get QuickTime from the download pages had come from. Presumably, the idea here is that if you're coming to get QuickTime, you're probably on a site that's got QuickTime content.

Otherwise, why would you need to be at the download page? When we did the analysis and traced back to see where people had come from, we found that on every single day, we're averaging over 28,000 different websites that are directing people to the Apple download page for QuickTime. It's really incredible.

Now, we've been talking about what's going on with the client, but we're also very involved in developing the other end of the food chain. It's the server side of the product. And since we introduced this product into the marketplace, we've had over 400,000 people download the QuickTime streaming server. The server is being deployed and used by all of the biggest companies who really are providing the backbone and the infrastructure and all the equipment that the Internet runs on today. So we're very, very happy about this. And a large part of what makes this project a successful undertaking is the fact that Apple decided from the beginning to make the QuickTime streaming server an open source project so that you and lots of other companies could go and get the technology and help us evolve it and move it forward and deploy it in ways that we wouldn't have been able to think about.

So we can say today that truly QuickTime is everywhere. It's great. So that's a quick update on QuickTime 5. As you know, QuickTime 6 is available in your Jaguar seat and we'll be talking about that a little bit more later in the show today. So let's go back and talk a little bit about the beginnings of QuickTime. This is an important thing to understand.

QuickTime was introduced in 1991, as most of you know, and it started with a very simple idea. We were thinking that it would be a lot of fun if you could take video and work with it on your personal computer, and you didn't have to have any special purpose hardware to be able to manipulate the media, but that you could write software and use the PC processor to be able to deal with the video right there.

Add? Sure. We'll do this once every five or ten minutes today. Cool. Now we have a worldwide broadcast. Thank you. Sorry about that. Ah, that sounds better already. Okay, so... As I said, we started with a very simple idea. Use the personal computer to be able to play and manipulate the video without requiring any special purpose hardware. This was a very modest beginning. Can we have the audio on that?

terror, all the worry, all the pain of an ailment commonly known as stage fright. So this is the classic postage stamp video, a very modest beginning. As we thought about the idea of playing video and combining that with audio, we very quickly moved on and made connections with lots of other kinds of media and lots of other ideas for what to do that all make sense as you start to develop a complete system for building and manipulating media on your computer.

rather than just building a big application that would be able to perform all these functions the team had a couple of really profound ideas that they brought to the table that have influenced where QuickTime has gone over the years and and really talk to why it's been so successful today The first idea was rather than building an application that would be able to do a lot of stuff but would really only be accessible to the application developers, provide an architecture that would be able to be used for anyone to integrate media into their applications, provide an architecture that had a component-based architecture that would be able to grow and evolve and scale over time as the ideas about what was important changed and as the processing power of the systems around the software evolved. The second big idea was to be able to build the system being prepared to manipulate media and perform functions that might not be possible in real time on the processors, the hardware systems that were available at the time that the software was invented. So the notion of being able to support non-real-time processing and being able to encompass and describe media presentations that were too big for the existing hardware was a very fundamental idea, and we'll see how that paid off in a minute.

If we just look at where the systems have evolved from over the last ten or so years, we see some pretty dramatic changes. This first system on the left here is the Mac LC. This was sort of the basic system that Apple shipped when QuickTime was introduced back in 1991. 16 megahertz, 68020 processor, 2 megabytes of RAM. That was for everything. Kind of remarkable. Had a hard drive. This was a huge hard drive at the time. The system costs $2,500, and the video that I just played for you, which was circa 1991 kind of video, 90 kilobytes per second. Okay.

Today, we've got the G4 tower running dual gigahertz processors, tons of memory, more than 2,000 times the disk capacity. It looks a little bit more expensive, although if you adjust this for the inflation, it turns out that the LC system was actually a little bit more expensive than the tower is today. And you're capable of doing video on the scale of about 20 megabytes a second. I'd like to invite Tom Dowdy to come up and give me a and we'll show you a little demo.

the lav up? There you go. Great. Okay. So as Tim said, we're going to be showing a demonstration right now of 20 megabyte a second video. I don't know if you can see here on the info panel, 20 megabytes a second. This is what's called uncompressed SD video in the broadcast television market.

This is a standard definition signal, digital signal that you would use for normal television broadcasts like you receive in your home. It's uncompressed, which means there's no no compression artifacts or anything like that. This is the type... Well, I'll go ahead and play the demo first, and we'll have a little more discussion about it.

It starts with... So the interesting thing about this is this is running on a stock computer. We brought a FireWire drive down here to the show, took this video, transferred it to the internal hard drive, plugged it in, opened it up, and played it. A couple of years ago, the same type of demo, we would have had to have a special computer. It was set aside just for this purpose, loaded up with tons of RAM, special RAID array drive, special SCSI 2 card plugged in, stripped down the OS, turn off VM, turn off networking, turn off Apple Talk, turn off, hmm, printing, because the other thing you always had to turn off. And then it would usually play. and would only play if you were in full screen. You'd never think of trying to do compositing like dropping down a menu on top of the playing video. That was just completely unheard of. So that's where we've come, and now you can do SD video on a normal system right out of the box. This just shows off the power of Mac OS X and Quartz Extreme. - Thanks, Tom. Very cool.

I think it's safe to say that printing is now turned on on that machine. Oh, yeah. Cool. Okay. Can we go back to slides? Thank you. Okay, so let's talk about QuickTime in Mac OS X. We introduced on Monday the three pieces of QuickTime, QuickTime 6, QuickTime Streaming Server 4, and the QuickTime Broadcaster. Each of these technologies is built into the OS. It's built into Jaguar. The seed that you received on Monday contains all the components, and we'll spend the rest of the day talking about this. Now, this really is built into the operating system. If we were to remove QuickTime 6 from the OS, the OS simply won't boot. It's built in at a very low level, and we've provided a number of different ways for you to be able to access this technology from your applications. Of course, there are Carbon API interfaces to QuickTime. There are Cocoa interfaces so that you can access QuickTime functionality from within your Cocoa apps. We've got a very rich set of functionality that you can access if you're a Java developer. And we've even got the system built so that you can access QuickTime from within the command line tools within Terminal. And now I'd like to ask Tom to give you a little bit more detail about that integration in a little demo we call Terminal Extreme. green.

Thanks, Tim. We got demo two up. So on the QuickTime team, we were wondering what would happen if you took the user friendliness of a 1960s command line interface and you coupled it with the gratuitous multimedia of QuickTime. And so the first thing that we had to do -- just prove this is terminal. I got to, like, type some commands in.

So the first thing, of course, we had to do is when making a QuickTime player for the terminal, you have to remove all the vowels from it, so it's Q-T-P-L-Y-R. Okay, ready to go now. So we'll use the command line tool, and we'll feed it a movie here, and we'll do some processing with that movie. Thank you. There's a couple interesting things to point out about this video. I'll just let it go here as we talk. A couple interesting things about here.

The resolution of this is actually larger than the postage stamp video that Tim showed earlier, the ship with QuickTime 1.0, although the color fidelity of the character set there is probably somewhat less. This seems like a really silly demo, but the interesting thing to point out is this is real QuickTime playing back a real video, and we're performing the playback and then doing image processing on the movie and translating the luminance values for each of the pixels into a set of characters that we display.

And then we output the VT100 escape sequences. If you told me that in 2002, I'd still be coding VT100 escape sequences. But that's what it does, and it calls put char and outputs into the terminal window, and then they come up. So this just shows that this stuff is accessible anywhere. You could write CGI scripts, Perl scripts, command line tools to do processing, image image processing, that sort of thing. And it's all just built right into the system. We actually talk a little bit more about this type of image processing and processing using QuickTime later today in the 6.02 video intensive application session. Back to Tim. Great, thanks, Tom. Can we go back to slides?

On Monday we introduced this new technology we call Quartz Extreme. And if you have anything to do with graphics, 2D or 3D graphics or video, Quartz Extreme is going to impact the work you do. QuickTime is also affected by this and we've got some great things going on that are going to make a big difference in the performance of QuickTime going forward. And I want to talk a little bit about a feature that we released with QuickTime 5 and talk about how Quartz Extreme impacts that feature today and then Tom's going to show you a little bit about how it might be affecting QuickTime down the road. So in QuickTime 5, we introduced this feature called Media Skins. Media Skins are a very simple way to be able to take a piece of video and wrap a unique kind of customized user interface around it. You can attach buttons to it. You can create these beautiful non-rectangular shaped video clips and kind of simulate that sort of device feel. And people are using them all over the web now. And I'm going to show you a couple of them that we like and talk about how Quartz Extreme affects those. Okay. So we're just going to bring up a real basic simple skin here. Go ahead and activate it. This is a QuickTime movie. This is a QuickTime movie. You can see that it's running in QuickTime Player. Thank you. You can see that it has a custom window shape and it has quite a bit of animation and graphics running down the back side of it. And what's implementing is a calculator.

If you thought Scott Forstall's demo of the metal gradient being able to be in the calculator was cool. Well, there you go. More calculator than you probably ever wanted. But the interesting thing to note about this is it is a... I'm trying to find the drag area. There we go. It is actually a movie. You can see that there's this drop shadow being placed in there with Quartz Extreme. And this is important when you talk about these windows that have very complicated shapes. You need some assistance of a sophisticated graphic system down the lower levels of the OS to make this really perform well. And today, you have-- people tend to produce simpler skins with less complicated edges to deal with this fact. When you talk about a more advanced system like Quartz Extreme, then you can take advantage of this and do these more sophisticated things. So what are we going to get in the future with this Quartz Extreme stuff? Well, here's a quick demo we put together of where skins are going to be going in the future.

So here's a movie playing back in sort of a custom window you see here. Drag it around. But it would be kind of interesting if we could take advantage of more advanced features of the OS and integrate those in with the skin and with the movie. back off, fade out, and turn around.

This is actually a live movie. Yeah, this is a live movie. I don't know if you can see the camera here. Thank you. So this is the kind of thing that you're going to see more of as time goes on, that movies are going to be able to be a lot more interactive and there are going to be a lot more depth to them, translucency, and things of that sort. If you're interested in the media skins and you'd like to learn more about those features of QuickTime, the 6.04 session later today talks about those features and you can come check it out. Great. Thanks, Tom. So you can see Quartz Extreme is going to have a big impact in the video area and you're going to see a lot of cool things coming out of the QuickTime team in the coming months and years related to that. So let's go back to the slides.

Okay, so next I'd like to talk a little bit more in depth about what's going on with QuickTime 6. As I say, you've got this in sort of a preview form in your Jaguar disks today. We'll be doing updates to that, presumably in the coming months, so you'll be able to watch that evolve as we get closer and closer to final release of that. QuickTime 6 has got a lot of new features. I'm not going to go through all of the features here today. We just really don't have time. But I would invite you to hang around. We're going to have QuickTime sessions in this room all day long today, and then pretty much all day long on Friday as well. So you'll be able to learn about a lot of what's going on with QuickTime 6 in those sessions. Just highlight a few things here. Of course, we talked about the MPEG-4 integration on Monday. We talked about the Instant On streaming. There's also been a lot of work done to integrate QuickTime into Mac OS X itself. There's been some work done in the Cocoa area. There's been a lot of things done to improve the way that your Mac OS X applications can interact with QuickTime in sort of a more modern way. We'll hear more about that in some of the other sessions. We also completely rewrote the portion of QuickTime that's responsible for managing the compression and decompression of image sequences. We call it the Image Compression Manager. It's a complete rewrite. It's going to provide a lot of benefits. It's going to be a lot more flexible, provide a lot better performance. and there's a lot of stuff in here, and we'll be talking about that some more later today. I want to focus in on just a couple of things today in this session. We're going to talk about the MPEG-4.

As you know, MPEG-4 is a very rich standard. It encompasses a wide range of technologies, and in many ways, the technologies in MPEG-4 parallel the kinds of things that have been in QuickTime itself. You've heard Frank Casanova talk a lot about this DNA-level relationship. We're not entirely sure what that means, but I think he must be referring to the fact that QuickTime is the basis for the file format for MPEG-4. We're really happy about that. It's a very powerful file format, and we think it's going to be able to serve MPEG-4 very well. Now, apart from the fact that the technologies that are built into MPEG-4 are in themselves exciting and powerful technologies, the other fundamental thing about MPEG-4 that makes it such an interesting platform is the fact that it's an open standard. This means that there are companies, companies anywhere in the world can get involved with MPEG and create products and focus on the parts of the product that are most interesting to them and know that there will be a community of developers and products who are helping to fill out that kind of end-to-end chain of technologies and products that customers need to be able to do the work they want to do. About a year and a half ago, Apple got together with Philips and Cisco and Sun and IBM and Casena, and we created this industry group called the Internet Streaming Media Alliance. And the idea there was, given this cool open standard called MPEG-4, let's try and take some actions to try and accelerate the adoption of this technology and others to forward streaming on the Internet. And over the last year and a half, we've been able to pick up a whole bunch of new members, and we're doing a lot of really cool stuff.

The very first work that we undertook was to help standardize how you stream MPEG-4 content over an IP network. And that's been--that's rolled out now, and people are implementing. We've got a lot of interoperability work going on. And if you're interested in this or other things related to deployment of streaming media on the Internet, I would invite all of you to come and look at the ISMA organization and see if maybe there's a place for you there.

Now, ISMA is one organization that's focused on MPEG-4, but it doesn't just involve industry fora, like ISMA and MPEG-4 industry forum. There are also other standards bodies that are taking a very close look at MPEG-4 in order to be able to drive the next generation of their technology focus areas. Highlight a couple of these. 3GPP, this is the emerging standard for next-generation wireless communications. It's going to be a really big deal. There's a lot of development going on in Europe right now related to 3GPP. There's a lot of development taking place in Japan and Asia. Pretty soon there will probably be stuff happening in the U.S. You know, we're generally behind on these things in the U.S., but it's starting to move ahead. And it's all based on MPEG-4.

It's very, very cool. Motion JPEG 2000, also based on the MPEG-4 file format, which is in turn based upon the QuickTime file format. The next generation of digital radio, all going to be MPEG-4 based. Very, very cool. And you can already see, even at this early date, the way that the open standard is driving, catalyzing growth in whole new market areas. So let's talk a little bit about Apple's implementation of MPEG-4.

We have focused on three basic aspects of the overall spec. We've sort of kind of gone for the sweet spot in MPEG-4. Over time, I'm sure we'll add additional functionalities. But in this first release, we wanted to focus on the basics of audio and video, compression, decompression, and the integration with the rest of QuickTime. We've put a lot of effort into our own MPEG-4 video codec technology, and we've integrated into QuickTime so it's truly a first-class citizen. We've been working in a variety of interoperability trials, both with the MPEG-4 Industry Forum as well as with the ISMA and other organizations, and we've got a great story to tell there. And we've also been able to integrate a lot of advanced functionality into the encoder that you would normally associate with a professional encoder, but because we can control the technology completely in-house, we're able to offer these things even in the free download of QuickTime. So that's pretty cool. On the AAC side, again, an equivalent focus on quality. We looked around and we said, who's got the best AAC encoding technology? And it turns out it's Dolby. No big surprise. They've been focused on hi-fi audio compression and delivery for a long time.

And they have truly awesome technology for AAC encoding. We've integrated that technology into the heart of QuickTime. We've optimized the technology so that it will run really fast, so you can do all kinds of cool things with it in your applications. and it implements a true variable bit rate encoding for the first time in QuickTime.

Last of all, we wanted to integrate this into QuickTime in a way that would ensure that your applications will just work. One of the things we're very proud of in QuickTime is that over the years, as we've added new functionality, new capabilities, we've worked very hard to preserve API-level compatibility with all of your applications. And this remains true today with the MPEG-4 integration.

So if you've got applications that know how to process video and audio already, you're going to be able to open up these MPEG-4 files and work with them without any additional work. And this is because we've built the importers and the exporters leveraging the standard APIs that you're already accustomed to. Very cool. So I'd like to ask Tom-- you've seen lots of playback demos. I wanted to ask Tom to show a little demo of how the encoding side of this works. It's pretty similar to what you've already seen, but... All right, so here we have a clip that we got off of a DVD full of public domain clip art movies. So therefore we could use it here without any copyright issues. It's a DV stream of a panda. Okay.

So what do you do if you want to make an MPEG-4 out of some video that you have, a movie that you have within your application? Well, it's the standard QuickTime export dialog. And when you're on a system that's got QuickTime 6 in it, there's a new option, moving to MPEG-4.

QuickTime has built into it the ability to use export and provides user interface to let the user configure all the options they want with respect to the MPEG-4 encoding. I'm gonna do a high data rate, non-ISMA compliant MPEG-4 here. Guides the user through the steps of all the settings for MPEG-4. Your application doesn't have to be concerned with it. Save it away here.

I don't need that backup. So now QuickTime's going through its normal export process, doing the video encode, doing the audio encode, saving it out, and also converting the data from the native format that we've got right now into the special MPEG-4 compliant version for ISMA. So in Tom's demo, he's showing you how to make an MPEG-4 file. Of course, you can integrate MPEG-4 video or AAC audio right into standard QuickTime movies.

It doesn't have to be an mp4 file. That's sort of what you get for free in QuickTime. That's right, but this is actually a valid mpeg4 file, as they say. Now I've got to go find my thing after I created it. PandaEats.mpeg4. You can see it's an mpeg4 file. Just open it back up. And there it is. The Panda doesn't say a whole lot, unfortunately. He kind of just grumbles down there. So there you go. MPEG-4 encoding built into QuickTime. Great.

So, can we go back to slides? So if you've paid any attention at all to what's been going on with MPEG-4, you're probably aware of a little bit of controversy revolving around the MPEG-4 licensing. Spent a few minutes talking about that. Basically, the controversy revolves around the idea of how MPEG-4 video is going to be licensed into the marketplace. And there's basically two components to this. There's the proposed licensing terms coming from MPEG-LA, which is sort of the licensing authority for the visual patent holders, says that there will be royalties associated with the creation and distribution of codec technologies. That's the kind of thing that we do in QuickTime. And it's not cheap. We'll spend probably a couple million dollars a year to be able to distribute this stuff in QuickTime. But, you know, we do a lot of QuickTime work, and that's okay. We can tolerate that. The other dimension of the licensing model that's been proposed to date is a model that says, whenever a content creator wants to make content and distribute that to customers, they're going to be expected to pay a usage fee. I think the rate is about two cents an hour. And we and many others in the industry have a real problem with this. We think this is going to really hurt the marketplace. And so, you know, we're working hard and a lot of other companies are working hard to try to influence the licensees, the licensors, to modify that model. But the basic idea goes like this.

We feel that once you buy the technology, that you should be able to make content without having to pay every time you want to publish something. We also think that if you have the good fortune, creativity, and initiative to be able to create a really popular piece of video, the kind of things that the Disneys and the Pixars of the world do every single day, that you should not be subject to higher taxes simply because you've created a compelling piece of video.

So this discussion is going to carry forward and we'll see how it goes. But the QuickTime engineering team always has something to say about these kinds of controversies. And so we put together a little video for your enjoyment this year. We call it "Two Pennies for Your Thoughts." If we could run that video. We need the demo machine, please. So get demo two back up again. I don't know if this is an example of compelling content or not, but we'll see. This is in the classic tradition of the stupid movie. At Cinepeg 4 theaters, change your Change is good. Yes, we're making changes to better serve you. Changes that allow us to present more blockbusters. Changes the press is noticing. Changes that you'll notice too. So we invite you down to the local San Jose Cinepeg Multiplex to take in a show. Arriving at the theater, you'll meet our courteous and efficient staff that will explain a few of the improvements we're making for you. Dude, you gotta sign the license agreement.

After signing the license agreement, simply proceed into the theater. For faster seating, please be sure to sign the agreement on the back of your ticket. If you forget to sign, don't worry. Our staff is on hand to make sure you comply. Dude, you gotta sign the license agreement.

So take your seats and enjoy the show along with other moviegoers who understand that at Cinepeg Theatres, we'll take care of you. As you focus on enjoying the presentation, our management team will keep track of all those pesky details. You'll love our innovative Cinepeg pay breaks. Unlike other theaters, you'll find customer-friendly, per-seat coin slots within easy reach. You're part of the action. If you're new to Cinepeg Feeders, our helpful staff will point out the procedures we've instituted to guarantee the most enjoyable and compliant viewing experience.

For those on a tighter budget, enjoy our audio-only program at no additional cost to you. To help avoid unwanted expense, our team is eager to assist. At Cinepeg 4 Theaters, we're committed to customer satisfaction. You can terminate the agreement at any time. No questions asked. Remember, at Cinepick 4 Theaters, we're making changes for you. Wyoming, Alaska, Hawaii, or continental United States. Void were prohibited. Animals were not harmed during the testing of Cinepec pay break technologies.

So that was two pennies for your thoughts. So things have been moving forward on the licensing front, and I'd say we are cautiously optimistic. We've included all the technologies in the seat of Jaguar. We hope you'll take a look at that, and we fully expect we'll be in the marketplace with a GM product before too much longer here. So that's the MPEG-4 licensing situation.

Great. Let's take a look at another new item in QuickTime 6. This is called JPEG-2000. JPEG 2000 is sort of the next generation still image format follow up to the JPEG standard that everybody knows and loves. And it has some unique characteristics. First of all, it is 30% more efficient than JPEG on average.

It supports both lossy compression, just like JPEG does. Instead of being DCT-based compression like JPEG, it's now a wavelet-based compression. This will provide sort of a reduction in the blockiness that you associate with JPEG when you've not got enough bits. It's got the potential to support very deep color, sort of greater than 8 bits per pixel channel. It's very cool. It's got all kinds of features for making more elaborate encodings to deal with more sophisticated kinds of files. And on the -- in this new world of MPEG-4 licensing sensitivities, we are aware that they are working towards a royalty-free licensing model. So we fully expect this is going to be a very important standard for not only for still image work, but also for the next generation of kind of the motion JPEG style work that you associate with pro video kinds of applications. So now Tom's going to show us a little bit about how that works. Before he starts, so this is a new codec technology that's going to be built into QuickTime 6, so you should be able to try this out. It's not actually in the Jaguar seed that you've got, but we will provide an update at some point here before too much longer, and you'll be able to play with this yourself. Go ahead, Tom. Okay. So this very scary image was taken by one of the QuickTime engineers on the QuickTime team, and this is the raw Photoshop file uncompressed. It's around 35 megabytes, I believe. Pretty big.

Producing a JPEG 2000 picture from QuickTime is as simple as exporting and selecting the JPEG 2000 codec, dialing in the quality level that you want, saying okay, and you're good to go. So once again, applications that support the standard QuickTime export can just export to JPEG 2000 as a brand new feature and you can charge more money for your application in the next update.

Similarly, importing or opening JPEG 2000 pictures, same deal. If you support the standard graphics importers, you get the ability to open those JPEG 2000 images. So let's do some comparisons here. Let's go with the medium quality first. So classic JPEG here compressing that same image, we've compressed it with a medium level of quality down to 168K. The JPEG 2000 file compressed with approximately the same quality settings is smaller at 92K. So let's open those two files.

So there's the JPEG, and here's the JPEG 2000. And I'm going to switch back and forth between the two of them. So this is JPEG 2000. That's JPEG. That's JPEG 2000. And that's JPEG. That's APIC 2000? I feel like an optician here. So smaller files, same quality. But if you want to crank the quality down even further to make the file smaller, here's JPEG with the least quality compression that you can set with JPEG as it's shipping in QuickTime. It produces a 68K file. JPEG 2000 produces a 56K file. JPEG 2000 can actually, it scales a little bit better, so you can actually crank the quality down even further. But this quality setting, while it produces a smaller file, gives about the same quality as JPEG does. So here's the JPEG file. and then the JPEG 2000 file.

So this is JPEG 2000, and that's the JPEG now. It's going to be a little hard to see, but if you look at this red area of the fish right here above the eye, you can see, well, I can see, some blocky-type artifacts that are caused by the fact that JPEG is a DCT-based transform. JPEG 2000, those artifacts go away because it's a wavelet-based encode. So smaller file, better quality. And that's JPEG 2000. Great. Back to slides. Thank you. So that'll be in the upcoming QuickTime 6 release. So that's what we're going to cover for QuickTime 6 today. I want to move on to some of the other technologies that we're putting into Jaguar. QuickTime Streaming Server 4.

Thank you. So I think I want to start with this following quote here, and I'll read this to you just because it's a little bit hard to see. After we spent weeks in arduous testing and watching our favorite movie over and over, our numbers showed that Apple's Darwin streaming server and QuickTime 5 player package deserves top honors. Apple proved it could deliver a robust server and client that performed well. Its images beat the competition over a range of bandwidths. Best of all, the software is free regardless of which operating system you're running. This was published in Network Computing Review last month, and they were comparing the QuickTime streaming server to the Windows Media server and to Real Network's Real Systems server.

So that's quite an accomplishment. We're really quite proud of this. This is a testament not only to the hard work that's gone on at Apple, but of course, since this is an open source project, this is a testament to the hard work of the community of developers who have gotten involved with QuickTime streaming server, the Darwin streaming server, if you have helped move this forward, have helped ensure that the server would be available on virtually every major operating system out there, and we're pretty psyched about this. QuickTime Streaming Server 4 introduces a whole bunch of new features, and I'd like to talk about those a little bit. Of course, it starts with native MPEG-4 streaming, so you would expect we're going to support MPEG-4 in the client. We're going to certainly support it in the server. It also supports MP3 audio streaming. There's a new set of interfaces to allow you to administer the servers. We've made some improvements to skip protection.

We've incorporated support for instant-on streaming. This is actually a feature that is a coordinated development effort between the client software and the streaming server software. We'll talk a little bit more about that in a minute. And then there have been a number of performance enhancements. With the QuickTime streaming server, you can now drive around 4,000 modem rate streams off of a single box. So we're quite confident that you'll be able to swamp pretty much any network interface you can find.

So I'll show you a little screenshot here of the administration interface. This is a really big deal. If you're a company that's setting up a large number of streaming servers, you're going to have an administration hassle if you have to go to every single machine to figure out what's going on. We've built into the streaming server the ability to remotely administer all the servers from a web browser, and that's new for QuickTime Streaming Server 4. Let's talk about Instant On. We demoed this as a client-side feature. Tom's going to show you a little bit more about how that works and talk about the underlying technology there so you can understand what's really going on. Tom? Okay. Have at it.

Those of you who were at the keynote saw this demonstration of Instant On, but we're going to go over it in a little more detail, talk about what's actually going on here. So, first, we're going to open up a classic streaming file. And you can see that we come up, we have the standard queue buffering. There's a two-second buffering that takes place, and then the video starts to play.

Now, the reason the buffering goes on is to deal with the fact that networks don't have a continuous bandwidth. As the movie is coming across, there's going going to be hiccups in the network, glitches, and the data's going to need to get either retransmitted or recollected from the network. And that buffer gives the computer, the client, enough time to deal with those glitches, smooth them out, and give you a decent playback. Now, the downside to that is that when you move someplace else in the movie, you get another two-second delay, because once again this buffer has to be built up before the playback can begin. So this is sort of classic quick time streaming with buffering.

So now with the instant on technology, you get a different user experience. Open up the movie, and it's playing. right away, no buffering. You decide you want to go someplace else in the movie, so you click, and you're there. Once again, no buffering whatsoever. This is pretty neat. You can sort of click around some more. Just want to be mean to the server and make it seek all over the hard drive.

The really cool thing is this. You grab a hold of the thumb, and you scrub to any place in the movie. Just drag it around back and forth. This is a streaming movie. This stuff's all being streamed dynamically as we go. It's a very different experience. In fact, it's so different that the first time I saw this demo, I thought the person who was demonstrating to me was lying. It must have been a local movie, because there's just no way you could be doing this over the network, right? There's no way that can work.

Well, it can work, and the reason is, the technology that was built into QuickTime Streaming Server 4 that does the skip protection feature can over-buffer the data on the client. That is, download data at times of network lulls at a faster rate than the movie requires. The Instant On technology takes advantage of that. It aggressively uses the fact that the data is coming down faster during these cases of over-buffering and provides you with instant playback without waiting for the buffer to fill up all the way. It's able to play back right away with no delay. So that's how Instant On works, and it's a built-in feature of QuickTime 6. Great. Thanks, Tom.

back to slides. So that's a really quick view of what's going on with the QuickTime streaming server 4. Okay. So let's talk about live broadcasting. When we built the streaming server, one of the main reasons we wanted to have a server was because we wanted to be able to host live broadcasts. And so you need to have a server in conjunction with a live broadcast because you've got to have some technology that will allow you to replicate the streams out to a large audience. And as if you've ever watched Steve Jobs over the Internet, you may be aware that we are occasionally known to do some fairly large webcasts. In fact, from the data we have, we are pretty sure that we're doing the largest webcasts that anybody is doing on the Internet today. We get reports back from the folks who host the streaming servers during these keynote events, and they tell us that their peering partners are complaining to them because all the bandwidth that we're driving through networks like Akamai and Digital Island and so on, those networks are driving so much bandwidth that we're having an impact on the performance of the Internet as a whole. It's really quite remarkable. - Now, live broadcast is still pretty hard. There are a number of specific problems that you've got to be able to grope with in order to be able to make this stuff work. The first thing is that you don't have a lot of choices for cameras, or if you've got a lot of cameras, they're not very reliable. They're kind of finicky.

Talk a little bit about what that's about in a minute. In addition, the setup for this whole thing is pretty complicated. I mean, after all, you're talking about one machine to be able to create the streams. You're talking about a network of machines to be able to replicate the streams, and that's got to be coordinated with all the various clients. So it's inherently complicated. The tools themselves are pretty complicated. There are always going to be these network connectivity issues. Do I have enough bandwidth? Are there bottlenecks in the network? How do I work around those things? And again, we're really pushing the limits of what the hardware is able to do. We looked at these problems, and we said, Well, you know, the network connectivity issues, those are kind of working themselves out every day in every way. Things are getting better and better, that kind of thinking. There's a lot of people working hard on that problem. Moore's Law is working with us on the hardware side of things. So we said, well, you know, we better do something about these first two elements because I don't see anybody really working on those.

So let's start with the cameras. DV is a great format, and Apple has made a huge strategic investment around FireWire and the DV technology that you can access over FireWire and these fantastic new consumer and pro-grade cameras. But, you know, DV cameras are kind of expensive. They're not all that flexible.

You're going to get an NTSC-sized video no matter what size you're ultimately broadcasting. You're receiving a stream in a compressed form, so if you want to do any processing on it, you've first got to decompress the stream. In some respects, it's just kind of overkill. Now, there's USB, but USB is, you know, in our opinion, USB is really a wholly inadequate protocol for video.

If you look at the USB cameras, you're going to see a couple of characteristics across the board. Number one, they all have to compress the video in order to fit onto this little pipe that you get with USB. That means that the camera is, if it's going to be cheap, which is what most people want to have in their simpler cameras, that means you're not going to have a lot of money to put into the electronics required to support the compression. You're certainly not going to have a lot of money left over to be able to concentrate on nice lenses and things like that. We've actually heard some of these webcams that you get, they're plastic. And we heard a story from one of the manufacturers of these cameras. They say on the manufacturing line, they actually take wax paper and they drop melted plastic onto the wax paper, and that's the lens.

That's how you make the lens. It's not really a high-budget environment, and so much of your technology ends up... so much of your budget ends up going into the compression technology that you don't have a lot left over for the other things. The secondary thing is there isn't really a standard protocol for supporting USB cameras into the computer, and that means that this problem of finicky drivers and driver availability and software compatibility is going to be a big issue for a long time to come. There's some good news, though. There's another protocol called IIDC, and this is a FireWire-based protocol for web cameras. And we're going to build this into QuickTime 6. It's got some great features that we think are going to be awesome for live broadcast and probably other things. First of all, it delivers an uncompressed YUV format video stream. It's able to take advantage of the full 400 megabit channel for FireWire. They can be very inexpensive. You can go out on the web and you can find these cameras like these iBot cameras for under $100. But, and this is the cool part, you can also get really high quality cameras. There are lots of companies out there who are manufacturing special purpose cameras. We've got actually one of them up on stage here that you'll see in a little bit.

They're used for industrial applications. so the optics are very powerful. The camera format supports a wide range of image sizes. You can go from sort of small, tiny postage stamp types video all the way up to HD resolution images across this transport. You can support a wide range of frame rates, anything up to, I think, 60 fips. There are well-defined protocols for managing the cameras themselves. Some of these fancier cameras have all kinds of controls related to the focus and panning. and brightness and hue controls, all kinds of controls, and they're outlined in the specifications so you can write a piece of software that interfaces the cameras that will be able to be compatible across a wide range of devices and provide that kind of plug-and-play compatibility that everybody wants. Today there are about 100 models to choose from in the market, and there are certainly going to be more coming. So we think this is a very, very important direction for our camera strategy. So I'd like to ask Tom to give you a quick demo of how these things work in QuickTime 6 in Jaguar. TOM SCHEINFELDT: Okay. Well, you could write some software to support all these great features, or you could just use the software we've already got built into QuickTime. The nice thing about QuickTime, as Tim has mentioned earlier, is that it's a very extensible architecture. So the standard mechanism that's used for capturing video from cameras today, like DV cameras or uncompressed video cards, has been extended in QuickTime 6 to support these IIDC cameras. If you write an application that does image acquisition or video acquisition using the standard parts of QuickTime, then you already have support for these IADC cameras. So up here on stage I've got two cameras.

This is the first one. This is the second I'll bring up the standard sequence grabbing dialog. And first we're going to select-- I'm actually not sure which of these two it is. Which one do we have? OK. First we're going to select the iBot, which is-- Tim said you can get it for about $77.

Pick that as one of our inputs. And then if you have a little bit more money, you can get this really cool Sony camera here. That's about $1,000. The neat thing about it is it's got a 12x optical zoom, which is software controllable, although I'm controlling it with the button. You know this is going to be a good demo. Okay, now, stay real still, Tim.

All right. Show me the love, Colin. There's the love. But the really cool thing about this, okay, so now you can, like, move around, Tim. The really cool thing about this is because this is uncompressed video coming in a YV format, we don't have to do much processing to display it on the screen. We've got gobs of processing power left over to do full motion on both of the images and on the effect that's cross-fading between the two, or in this case, heart-fading between the two, I guess. So that's IADC built in QuickTime 6. Thanks, Tom. Okay, go back to slides.

So as I said, IIDC is going to be built into Jaguar, built into QuickTime 6. I think it's going to be really cool technology. So let's talk about the second problem that we wanted to solve, and that's the application, the tool side of the equation. We created this application called the QuickTime Broadcaster. It's built into the Jaguar C that you've got on Monday. We're going to make this available to customers once the product is finished for free. You'll be able to go to the website and download it. So we think that's kind of a breakthrough pricing model. Let's talk a little bit about the broadcast topologies, if you will. There's basically three kinds of broadcasts that we wanted to support. The first one is the local area broadcast. You want to have a video that you can share with friends in your work group area, say a classroom or an office environment, something like that. Basically, in this configuration, you're talking about the camera comes in in to the broadcaster application running on the same computer that a server is running that's able to replicate this stuff out to a handful of machines. If your network supports multicast, of course, you can multicast out to a larger number of machines, but most network environments aren't really up to that level these days. The second topology that's important to support is sort of what we call the enterprise model. So this is sort of in a larger kind a company context. You've got a good network. You want to do a real high quality video. You're going to have one machine that's dedicated to the video encoding, and you're going to have another machine that's running a dedicated server that's able to replicate out to thousands of clients. The third topology is the topology that has no limits as to how much money you can burn on the content delivery. The basic idea is here you'll have one machine that provides the encoding services through the QuickTime broadcaster.

And then you basically inject that stream into any of a number of different content delivery networks. At Apple, we tend to use Akamai, but there are others that you can work with. Deploying servers all over the world, looking at all the load balancing kinds of considerations. And with that kind of a model, you can literally reach tens of thousands of simultaneous viewers at a time.

Probably more if you're willing to cut down on the bandwidth. The limits there are basically your budget. You could spend a million dollars in the blink of an eye if you're not careful and you have a popular stream, and the ability to deploy enough servers around the world to be able to scale for that kind of an application. So the broadcaster itself has a ton of features. I'm not going to go through all the details here, but let me highlight just a couple of things. Of course, the broadcaster's been optimized and tuned to support MPEG-4, but it supports all the other QuickTime codecs as well. So if you've got an application that demands some other kind of video, that's perfectly fine. It uses industry standard protocols for streaming the video. We're leveraging the capabilities of QuickTime 6 to provide a reliable transport. That means that you can transport your broadcast. You can transport media from the broadcaster to the replication servers over a reliable transport mechanism, even though the replication service itself may be sent out over UDP where you're going to experience packet loss. I mean, the last thing you want to have is packet loss on the link from the broadcaster to the replication servers. So we've provided capabilities in QuickTime 6 and in the QuickTime broadcaster to be able to form a reliable connection between those two machines. Another feature that's in here that I think is real important, and my personal favorite feature, is this thing we call Instant VOD, Instant Video On Demand.

With Instant VOD, what you get is during the live broadcast, you can actually have that stream being recorded to the hard drive so that as soon as the broadcast is over, you've got a hinted movie that you can post to the streaming server for folks who weren't able to join the live broadcast. You don't have to have that multi-hour delay or whatever it may be, encoding the content after the fact. ready to go as soon as the broadcast is done. It's very cool and nobody else is doing it.

So let's go and take a quick look at the software and do a brief demo there. Yeah. So we have demo one up. So this QuickTime Broadcaster, which is on the CDs that you got, the Jaguar CDs you got. As Tim said, one of the nice things about this is we've really tried to make it easy to get going with broadcasting.

So the QuickTime Broadcaster has a number of presets already in place for standard types of encoding that you might want to do. and you can also create your own. You can also do custom settings if you have some specific needs. And all you need to do, bring up the broadcaster and click the broadcast button. And there you go, you're broadcasting.

camera over here. Now we do an incremental preview here. We don't preview live because we figure there's not a lot of point in taking up all the horsepower of the computer on a preview, especially if the broadcaster is off somewhere in a closet and you're not looking at it anyway. You can also turn that off if you don't even need to see it. And information is provided here about what's going on with the broadcast, how much CPU load is being used with the ENCODE, how many people are tuned into the broadcast, the data rate that you're using, how long the broadcast has been going on, and so forth.

If you need to do additional settings, you show the details, and you have full ability to configure all the inputs of the video and the audio and the network settings. If you're the kind of person who likes to tweak which broadcast ports are being used for your multicast, you can set those things yourself. So there's lots of ability to customize this and do the things that are important to you. One of the really interesting uses of this, Tim said that you can use any codec you want to use to do the broadcast. One interesting way to use the broadcaster is to do relatively low frame rate broadcasts of less lossy types of compression such as JPEG or JPEG 2000 where you might be doing slides or things on a white board where it's not important that you have a high frame rate but that you want the fidelity of the images to go across.

So you can customize this at a very low frame rate, set JPEG as your compressor, and you're ready to go there. And so that's the QuickTime Broadcaster. the other end? Are you going to show the reception end of it or not? Oh, do you want to see us receiving it? Nah, we saw that before in the GL demo.

You've seen it. They all look the same. So, can we go back to slides? So that's the QuickTime Broadcaster. So, we've reviewed QuickTime 6, we've reviewed QuickTime Streaming Server 4, and the QuickTime Broadcaster. These are all built into Jaguar. They're on your disk, so we invite you to go and take a look at those. In the coming months, we're going to be refining it, fixing the bugs.

like to hear about any bugs you think you've encountered. And it's going to be great. Now, I've only been talking about Mac OS X. In fact, I've really only been talking about Jaguar today. QuickTime 6, of course, is widely distributed for Windows clients. In fact, approximately 90% of the downloads we provide are going to Windows clients. We're not abandoning the Windows clients. We're not abandoning Mac OS 9 clients either. These are going to be a part of the QuickTime 6 thing, but this is kind of a Jaguar show, so we wanted to focus on those aspects of things today. But fear not, it'll be there for the other platforms as well. So there's one last thing I wanted to talk about, and that's a request that we receive from many of you when you come and talk to us about how things are going with QuickTime. By far, what we hear by far, the greatest challenge for many of you is going back to your companies and evangelizing QuickTime within an organization that may be dominated by Windows people or people who are focused on doing whatever Microsoft says is the right thing to do or have heard a lot about Reel. And your number one request to us has been, can you help us with the internal marketing of QuickTime within our organizations? We've been listening to that and the marketing team has invested a tremendous amount of energy and time to put together a new website just for this purpose. You go to www.apple.com.

slash QuickTime slash products, and you're going to see this page. This went up on Monday. And what you've got on this page and the associated pages are a tremendous resource that will help you to explain to your customers or possibly other folks in your own companies about where QuickTime is at, who's using it, what kinds of resources are available to deploy QuickTime, and all kinds of interesting information that will help your customers and your other partners understand why QuickTime is a tremendously reliable, stable, robust, and widely adopted format on the Internet and elsewhere. So I think you should go take a look at this and give us some feedback to let us know what you think. So that's basically what we have for you today about QuickTime. There's a couple reminders. We've got sessions all day long today here. You'll hear a lot more of the details about what's going on with QuickTime 6, some more sessions on Friday, all going to be right, here. There's a feedback forum Friday at 10:30 in the little rooms on the other end of the hall. I'll be there. A lot of engineers will be there. The marketing folks will be there. We really want to hear what's on your mind. And there's one last thing. We've got kind of a unique event taking place in the halls here this week, and that's a hands-on engineering lab. It's staffed by QuickTime engineers, and they're standing by to help you with all of your application development. So if you bring your code over there, you've got questions, Whatever it may be, we've got people who are willing to sit down with you and do their best to help you work through any QuickTime or Mac OS X related programming issues that you may have. So I hope you'll have a chance to come by and just drop in and chat with us for a bit. That's our talk. That's it. Thanks very much for coming. Appreciate your support. Thank you.