What makes ASF good?
ASF is like a textbook (see What does ASF look like under the hood?). A good text book. How so? Well, a good textbook would convey the information it is supposed to convey, and it would do so in an effective way. Similarly, ASF does what it is asked to do, and it does so in a flexible, powerful, and efficient way.What is ASF supposed to do? As discussed earlier (What is ASF?), ASF is a presentation file format for streaming multimedia. As such, ASF is supposed to allow for the efficient delivery and playback of powerful multimedia presentations involving the combination and synchronization of various types of media. ASF does this, and it does it well.
In particular, ASF provides certain fundamental benefits:
ASF allows for playback of multimedia content both from a local source and from a remote server on a network, including intranets and the Internet. This is very important to content providers. Once the content provider produces a multimedia presentation ready for viewing, the content provider may not know whether that presentation ultimately will be delivered from a local CD-ROM, from a network server, or both. Moreover, if the content will be delivered from a network server, the content provider may not know whether that content ultimately will be delivered from a Web server, a media server, or both. A single ASF file covers every scenario. It would be like being able to read a textbook not only with the book lying on your desk, but also with the book lying on the desk in the next office, or on a desk halfway around the world.
Extensible media types.
As mentioned earlier (What does ASF look like under the hood?), ASF provides for seven core media types: audio, video, image, timecode, text, MIDI, and command. However, these are not the only media types that can be stored in an ASF file. Different ASF implementations can support additional media types. To the extent that specific data is associated with an additional media type, this data could be included in the type-specific data field of the stream properties object for that additional media type. The rest would stay the same. It would be like supplementing a ringed binder textbook with new loose-leaf pages.
Component download.
In order for multimedia content to be delivered across a network, it usually needs to be compressed. This is particularly true for audio and video, which are very data-intensive. In order for the compressed content to be played back, it must first be decompressed by the client and then rendered on the client display. In order to do this, the client needs, at a minimum, the appropriate codec component (performing compression/decompression) and the appropriate rendering component. Other components may also be necessary to accomplish playback. If the client does not already have the necessary components, it needs to get them and install them. ASF allows the content provider to provide information in the ASF file header object which, in turn, allows the client to locate and download the necessary components. This would be like reading a textbook, coming across some foreign text you do not understand, and going to the front section of the book where you find information helping you get hold of a translator for that foreign language.
Scalable media types.
All network pipes are not created equal. Some are fat (fast), some are skinny (slow), and others are in between. The fatter the pipe, the better the quality of multimedia that it can deliver. For video, better quality translates into a larger picture, a sharper picture, and a faster frame rate. Content providers often don't know what sizes of pipes await their content. This is where scalable media types become important. With a scalable media type, ASF allows the content to be broken up into several different streams. Usually, there is a base stream, to which enhancement streams can be added. The base stream provides for the lowest quality, but can be delivered over the skinniest pipe. Adding enhancement streams to the base stream buys better quality, but demands a fatter pipe for efficient delivery. By providing for scalable media types, ASF allows the client to experience the optimal quality presentation given the client's particular machine and network configuration. It would be like a textbook covering a technical topic at a basic level suitable for lay people, and, for the engineers, providing additional pages with technical details on the same topic. The lay people would probably not understand the additional pages, and the engineers would need to first read the non-technical discussion in order to get a context for the technical discussion.
Prioritization of streams.
Network pipes on the Internet are like Highway 101 in Silicon Valley. Sometimes the 101 is empty and you can speed along. At other times it's busy and traffic ebbs and flows. At rush hour, it's bumper to bumper and you crawl. But it's prioritized. Car pools have priority over single-passenger cars. Emergency vehicles have priority over everyone else, riding on the shoulder if necessary. Keeping to the textbook analogy, it would be like the introduction saying: "Try to read all the Chapters. If you don't have the time, just read Chapters 1-6, but, in any case, make sure you read Chapters 1-3." ASF allows the content author to establish prioritization among the various data streams. For example, in a newscast text might be more important than audio, which in turn might be more important than video. The content author can establish this hierarchy by inserting a prioritization object in the ASF file header.
Multiple language support.
Before the Internet, it was already becoming a small world after all. With the Internet, the world is turning into a sandbox. A great deal of multimedia content is capturing an ever-widening international audience. As such, that content needs to be delivered in multiple languages. ASF allows for individual streams to be associated with particular languages, provides for exclusivity arrangements among multiple language streams, and supports any language text through unicode. It would be like a textbook containing English, French, and German versions of a chapter, and including instructions at the front of the book indicating that you should read only one of them.
Environment independence.
ASF files travel through many different spaces: the production machine, the server, the network pipes, and the client machine. There are different technologies for each of these spaces, including network types, protocols, and operating systems; server machines and operating system platforms; client machines and operating system platforms; and client composition frameworks and rendering engines. ASF is independent of all of these. ASF files can be generated on any production machine, served from any serving machine, delivered over any network infrastructure, and received and played back on any client machine, including being composed and rendered under any framework. This independence is important for universal interoperability. It's similar to how a textbook can be printed by any publisher, distributed through any distribution channel, and read by any person.
Rich inter-stream relationships.
The new medium of the Internet allows for complex combinations and synchronization of different multimedia types. In the hands of the right people, this can result in presentations of extraordinary power. These kinds of presentations require a supporting infrastructure. ASF provides this infrastructure. The content producer can specify dependency relationships among various individual streams. For example, if the French audio is being streamed and played, perhaps the German and English audio should not be. Or perhaps video effects stored in one stream would be visible to the client only if an enhancement video stream, which provided increased picture sharpness, was being streamed and played. ASF allows these relationships to be specified in the ASF file header object. It would be like a page at the front of a textbook saying: "If you are an engineer, read Chapter 4 but not 5. If you are a doctor, read chapter 5 but not 4. Read Chapter 7 only if you have read Chapters 2 and 3," and so on.
Expandability.
One predictable thing about the Internet is that innovations will arise that we have not yet anticipated. ASF is ready for the unpredictable. Remember that ASF is based on objects. Because of this, ASF can be readily expanded to account for future enhancements and innovations in multimedia. These enhancements and innovations can be implemented, for example, using additional optional header objects. It would be like taking your Lego house, and adding other Legos to build a spaceship house; like supplementing a loose-leaf ringed binder textbook with sections covering newly discovered information.
In sum, ASF is one book you won't be able to put down.
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.