Microsoft NetShow 2.0 Technical Whitepaper

Microsoft Corporation

June 1997

Contents

NetShow 2.0 — Executive Summary
NetShow 2.0 — Introduction
NetShow Basics
     Technology Overview
     Application Scenarios
     Product Components
     New with NetShow 2.0
NetShow Advanced: Features and Benefits
     Server — Features and Benefits
     Content Authoring and Production — Features and Benefits
     NetShow Player and Software Development Kit — Features and Benefits
For More Information

NetShow 2.0—Executive Summary

Microsoft® NetShow™ version 2.0 is a platform for streaming multimedia over networks that range from low bandwidth dial-up Internet connections to high-bandwidth switched local area networks. Using NetShow, companies can offer new streaming content for applications such as training, corporate communications, entertainment, and advertising to users all over the world. NetShow is a powerful broadcast system that is easy to acquire and operate. It empowers companies to offer rich, high-quality interactive content over today’s networks.

NetShow 2.0—Introduction

Only a few years ago, the business world was full of text documents, and adding graphics to them was not easy. Now the race is on to offer Web sites that attract and retain visitors through the latest in graphics and animation. Audio- and video-enabled Web sites and applications are the next wave. The integration of audio and video into applications such as online training, corporate communications, customer and sales support, news and entertainment services, and product promotions will provide individuals and organizations with new and exciting ways to communicate.

Microsoft NetShow provides a complete platform for integrating audio and video into online applications, bringing the vibrant power of networked multimedia to the Internet and corporate intranets. With its leading-edge live and on-demand media-streaming technology, Microsoft NetShow allows users to receive audio and video broadcasts from their personal computers. It uses a client/server architecture and sophisticated compression and buffering techniques to deliver live and on-demand audio, video, and illustrated audio (synchronized sound and still images) to users of the NetShow Player. The NetShow Player continuously decompresses and plays the content in real time. Users can listen and watch live audio and video programs or navigate on-demand audio and video content.

Building on the open, standards-based platform established with NetShow 1.0 networked multimedia software, NetShow 2.0 provides an easy, powerful way to stream multimedia content across the Internet and intranets. NetShow 2.0 allows developers and Web professionals to add production-scale audio and video broadcasts to any Web application or site.

Microsoft NetShow 2.0 delivers the following:

NetShow, with its authoring tools, client and server APIs, and Active Steaming (ASF) file format, represents a significant source of opportunity for third parties creating value-added products such as NetShow authoring tools, streaming media servers targeted toward vertical markets, and multimedia tools. Independent software developers can augment their own products with NetShow functionality or provide compatible add-ons.

NetShow joins the NetMeeting™ conferencing software in the Microsoft family of networked multimedia products. Together, they provide complete information-sharing solutions, spanning the spectrum from one-to-one, fully interactive meetings, to broadly distributed one-way, live, or stored presentations. While NetMeeting enables one to communicate with a small number of others, such as for desktop videoconferencing, NetShow makes it possible to reach a virtually unlimited audience.

Microsoft NetShow 2.0 is also in the same product family as the Microsoft NetShow Professional Video Server, which provides a powerful way to deliver high-quality MPEG video across high-bandwidth corporate networks and dedicated video LANs. Typical uses for the Microsoft NetShow Professional Video Server are to provide rich interactive multimedia on networks that can accommodate high-bandwidth traffic, such as switched networks, dedicated-training local area networks, or networked kiosk systems. Key markets for the Microsoft NetShow Professional Video Server are entertainment, training, advertising and retailing, and hospitality, for use in hotels, cruise ships, and in-flight entertainment systems.

Together, Microsoft NetShow and Microsoft NetShow Professional Video Server enable a full range of audio and video delivery solutions over a variety of networks.

NetShow Basics

Technology Overview

NetShow provides a wide variety of features that allow customization of the system. How you use NetShow depends largely on the types of media you want to stream and the characteristics of the network used to deliver the data. Understanding these basic concepts helps determine how to deploy NetShow for your particular application.

Application Scenarios

Multimedia allows people to communicate better. The richer data structures of sound and moving images transcend the communicative power of text and graphics. This is why audio- and video-enabled applications are the next wave of Internet-based technology. And this is why NetShow provides the complete platform for integrating audio and video into Web-based applications to deliver entertainment, training, corporate communications, and advertising.

Product Components

NetShow is a comprehensive, tightly integrated platform consisting of the following software components:

New with NetShow 2.0

A number of major themes drive the feature set of NetShow 2.0. NetShow version 1.0 delivered basic audio and video services, enabled multicast and unicast delivery of live and on-demand content, and provided the essential interfaces for codec vendors, tools vendors, and Web masters to build value-added software for NetShow. The key themes driving the functionality of NetShow 2.0 focus on extending the strengths of NetShow 1.0 to provide an open, standards-based system that customers can use for production deployments of audio and video broadcasts. Below are the themes guiding NetShow 2.0: 

NetShow Advanced: Features and Benefits

NetShow 2.0, with its tight integration with Windows NT Server, Microsoft Internet Information Server (IIS), and Microsoft Internet Explorer, and with its support of open industry standards, provides a wealth of benefits and features for developers, Web professionals, network managers, and other users. Below are the features and benefits of each component of the product.

Server—Features and Benefits

Tightly integrated with Windows NT Server and IIS. NetShow and its streaming services are tightly integrated with Windows NT Server to provide an efficient, reliable, scalable, and secure platform for delivering audio, illustrated audio, and video content over corporate intranets and the Internet. NetShow utilizes all key Microsoft Windows NT Server manageability features, including a graphical administration console, performance monitoring, an integrated directory and security model, and the Event Log, which records program execution information. NetShow also fully supports Windows NT connectivity, including network environments such as IP, IPX, 14.4/28.8 POTS, ISDN, Ethernet, and others. Sharing the same user interface, APIs, services, and tools means that end users and computer professionals do not have to learn different interfaces or tools. An integrated solution offers easier management, better connectivity, and lower support costs, and because NetShow and Microsoft Internet Information Server are designed to work together, they combine to deliver a complete, well-tested, and high-performance system for broadcasting multimedia.

Server scalability. Because NetShow has been designed specifically for Windows NT Server, it is fully optimized to take advantage of Windows NT Server's high scalability to provide both small-scale implementation and easy upgradability to higher performance systems. NetShow can easily adapt to an organization's growth. NetShow scales to very high-performance, enterprise-class multiprocessor systems with many gigabytes of memory and terabytes of storage, and exploits the ability of Windows NT Server to run on leading-edge microprocessors such as Intel Corporation's Pentium and Pentium Pro and on Digital Equipment Corporation’s Alpha. Microsoft internal tests have shown that a NetShow server can handle over 1000 streams of data at 28.8 Kbps on an industry-standard Pentium Pro–based uniprocessor computer with 64 MB of RAM with no impact on the quality of the content and services delivered to clients.

Content propagation. NetShow 2.0 enables the server to be partitioned into several components that can be installed on different Windows NT Server–based computers. This feature allows the delivery of a greater number of streams in order to provide services to an otherwise unserviceable number of clients, and it also optimizes the server infrastructure used to distribute content to clients. This optimization enables the installation of a geographically distributed array of NetShow servers, to optimize how content is distributed from the source to clients, and also enables an array of less powerful and expensive computers to be deployed, rather than a smaller number of more powerful and costly platforms. The server infrastructure can consist of a geographically distributed array of NetShow servers, to optimize how content is distributed from the source to clients. The array, in turn, can consist of many small, inexpensive computers, rather than just a few powerful but costly platforms.

Server administration and management. NetShow 2.0 provides a very flexible way of deploying audio and video broadcast services over the Internet or within a corporate intranet. NetShow server can run on single or multiple computers, and has a Web-based administration interface for complete monitoring and remote administration. This rich, robust functionality, in addition to easy-to-use setup routines and tight integration with Windows NT Server, makes NetShow 2.0 a powerful yet easy system for broadcasting. Customers will benefit from faster deployment of custom solutions as well as reduced training and support costs.

NetShow administration is provided through an intuitive Web-based interface, which enables both local and remote administration. This lets administrators manage server installations, and make configuration changes, without having to physically access each server. Administrators can also set the maximum content throughput per file and per server, which controls network bandwidth utilization. NetShow administration runs on both Windows NT and Windows 95 operating systems.

NetShow has been designed to utilize Windows NT 4.0 server administration features such as the Event Log and Performance Monitor, which indicates the number of streams going out from the server, the percentage of CPU time being taken by the NetShow services running, and other performance-related data. An additional advantage here is integration with tools that developers are already familiar with.

Monitoring and logging events. NetShow includes tools for monitoring and logging events: the Monitor Events Log is used to display events and the NetShow Server Event Log is used to store events in a database. Both tools allow you to filter events by type: server, client, administrative, and alert. Server events indicate server status; for example, whether a server is online or offline. Client events are logged, for example, when a client connects or disconnects. Administrative events are logged when configuration settings are modified; for example, when the maximum number of clients or maximum bandwidth is modified. Alerts are logged when server configuration settings are exceeded; for example, when the maximum number of clients is exceeded.

Content management. Content can be stored on a hard drive, and whenever that data is published to a Web server and to clients, virtual directories can be created. This is especially helpful when content is being added and removed on a daily, or even more frequent, basis. And, as noted earlier, it is possible to place limits on the throughput of a server, or limit the bandwidth available for streaming certain files, for example. These are functions corporate network managers will require before deploying a server on their intranets.

NetShow 2.0 opens a new set of opportunities for Web-based broadcasts similar to current TV broadcasts. NetShow 2.0 enables content to be configured and scheduled for later delivery, and allows the generation of announcements to users of upcoming and in-progress sessions. The content scheduling mechanism is based on a channel metaphor users are familiar with, and the system is designed to allow a server to have multiple channels. By way of analogy, a cable company manages multiple channels, such as CNN, NBC, and others, which are organized in a numeric sequence to make television surfing easy. In this example, CNN might be channel 3, NBC channel 5, and so on. Each channel also has time-based programs, such as the 10:00 PM news, or a movie at 11:00 PM. Users can easily find their favorite programs, because they know when and where to look. Following this same paradigm, NetShow 2.0 makes it possible to organize audio and video content into separate channels, each of which has scheduled programs, in addition to announcements of current or upcoming sessions.

Server Administration Software Development Kit (SDK). The NetShow Server SDK supports the creation of NetShow Channel Manager administrative applications using the Channel Manager ActiveX control and the creation of NetShow Unicast administrative applications using the Unicast ActiveX control. Independent software vendors and Solution Providers can build customized administration utilities using this SDK.

Restricting access to NetShow Server. It is possible to control client and server connections to NetShow Server and the Real-Time Encoder based on the IP addresses of the clients or servers attempting to connect. Access is controlled by creating a list of addresses in the Windows NT registry. By default, all connections are allowed.

File transfer. Multicast file transfer provides another way for simultaneously distributing large quantities of data to many users. Multicast file transfer provides both a "best effort" and a reliable mechanism to distribute any type of file. With “best effort” delivery, delivery is guaranteed only within the limits of the forward error correction scheme used in NetShow.

Networking services: transport protocols. NetShow supports a variety of network transport protocols, including UDP/IP, TCP/IP, HTTP, RTP, and IP multicast. Support for these standards facilitates integration with low-level network technologies, resulting in better delivery of multimedia content. Because NetShow supports HTTP, clients behind firewalls can receive NetShow broadcasts without compromising the firewall security features. The client software automatically selects appropriate settings upon installation and selects the proper protocol for use by the server. This eliminates the need for system administrators to manually specify the mechanism to be used.

Managing network transport: intelligent fail-over. The broad range of network transport protocols supported by NetShow allows content providers to choose the protocol most effective for delivery of their content, depending on the application scenario and network infrastructure available. NetShow allows content to be delivered using IP multicast, UDP/IP, TCP/IP, RTP, and HTTP, thus supporting a wide range of deployment scenarios. In addition, NetShow is optimized to reduce content delivery losses due to changes or obstacles in the network infrastructure. For example, NetShow exploits the benefits of IP multicast on multicast-enabled networks, automatically falls back to unicast UDP/IP traffic if necessary, then to unicast TCP/IP and finally to HTTP traffic if unicast UDP/IP cannot be delivered by any means.

This powerful feature allows content providers to use NetShow to broadcast content using either unicast or multicast techniques without worrying about the nature of the available network infrastructure. NetShow will automatically fail-over from multicast to unicast mode, and from UDP/IP to TCP/IP and HTTP transmission to ensure content delivery. This feature also allows content to be sent through firewalls, allowing corporate users to view NetShow content as easily as other users.

Firewall support. To prevent unauthorized access to their networks, corporations deploy firewalls. Most firewalls are based on packet filtering. In packet filtering, the computer examines the source and destination IP addresses of a packet and forwards only those packets for which access has been granted.  The content streamed from Microsoft NetShow can stream through a number of firewalls from vendors such as Ascend Communications Inc., CheckPoint Software Technologies Ltd., Cisco Systems, Computer Software Manufacture, Cycon Technologies, LanOptics Inc., Firewall System, Microsoft Corporation, Milkyway Networks, Secure Computing, and Technologic Inc. In addition, several additional vendors are working to add support for NetShow 2.0 to their products. The NetShow Web site lists the firewall products currently supported. This page will be updated periodically as additional firewall vendors announce support for NetShow.

Content Authoring and Production—Features and Benefits

Content type: audio, video, and illustrated audio. NetShow can deliver both audio and video content at different bit rates, starting from audio optimized for 14.4 Kbps dial-up connections to stereo-quality audio optimized for ISDN connections, and from video optimized for 28.8 Kbps connections up to video optimized for 6 Mbps delivery. The ability to deliver illustrated audio content is also critical for optimizing content delivery and using network bandwidth efficiently. Illustrated audio allows ideas and information to be shared on narrow-band networks. Illustrated audio is similar in concept to an on-line slide show, where audio is synchronized with specific images such as Microsoft PowerPoint slides to create an interesting and effective interactive multimedia presentation. When working with video material, a content author can use illustrated audio to select key frames to illustrate and augment a sound track, while avoiding the problem of random frames often seen with slow-scan or reduced frame rate systems. As more bandwidth becomes available, the content author can increase the frame rate, image size, and quality of the individual images. This trade-off between the bandwidth available on a given network and demands for quality and performance determines how content authors should develop their illustrated audio content.

Rich, synchronized multimedia experience. NetShow 2.0 provides live and on-demand streaming of audio, illustrated audio, and video synchronized with pictures (JPEG, BMP, GIF files) as well as script (Jscript and ActiveX script), URLs, and text. The result is a compelling mixed-media experience. Content providers can now generate sophisticated productions in which graphics, slides, photographs, and URLs can all be synchronized with audio and video streams.

File format. The Active Streaming format (ASF) is an open, standards-based multimedia file format that allows content and tool developers to work to a shared specification that supports the authoring, combining, archiving, annotation, and indexing of synchronized media objects without regard to original media formats or underlying transports. Active Streaming format allows multiple types of data—for example, audio objects, video objects, still images, URLs, and HTML pages—to be combined into a single synchronized multimedia stream that can be stored on a variety of servers and transmitted over a range of networks.

As files stream across a network, it is possible for packets of information to be lost, particularly on the Internet. When packets are lost, the viewer can experience choppy play, loss or gaps in the audio, and even loss of entire images. If packets stop being delivered, the NetShow Player stops rendering until it can rebuild its buffer. To improve performance when packets of information are lost during transmission, it is possible to use NetShow error correction and concealment facilities included in the file format. For example, the ASF Editor and ASF Real-Time Encoder can optionally include this redundant error-correction data in the stream, which enables the NetShow Player to correct for certain levels of packet loss. If there is extreme packet loss (to the point where error correction is not possible), the player masks the errors. For audio masking, the player uses neighboring audio information to conceal the loss of data. For image masking, NetShow supports conversion of images into loss-tolerant JPG images, which the NetShow Player can then utilize to minimize the lost of data packet, as opposed to discarding the entire image.

ASF files can be stored on traditional file servers, HTTP servers, or specialized media servers. The lack of data communications dependencies within ASF allows ASF data to be carried over a wide variety of transport protocols, including TCP/IP, RTP, ATM, and UDP/IP.

Broad variety of audio and video compression. NetShow 2.0 provides a wide range of audio and video compression models to satisfy the needs of different forms of content at different network bandwidths and bit rates. NetShow provides a basic and an enhanced approach to compression. The basic approach provides the default compression technologies for content providers to start streaming content immediately. This means high-quality audio and video content, but a smaller download and fewer codecs to choose from, to benefit those who are new to developing streaming content. The enhanced approach allows more experienced content developers to select the codec that best suits the content they are working on. This approach means a wide variety of codecs to choose from, but also means a larger download for the client.

Lernout & Hauspie (L&H) The L&H codec is designed for use as a low bit rate (preferably voice-quality) codec. This codec has only one setting, compressing everything to 4.8 kbps. Audio compressed this small is not going to have the richness associated with CD-quality audio; however, for certain types of audio, such as someone talking or running dialog, it works well. This codec is a fine choice since it has been designed to work best with less dynamic audio sources.
Vivo H.723 Vivo’s G.723 codec is an excellent codec for general-purpose audio.
FhG MPEG Layer-3 The FhG MPEG Layer-3 is a high-fidelity mono and stereo audio codec that is particularly well suited for CD-quality audio. It provides excellent compression for general-purpose audio from 10 to 56 Kbps.
Microsoft MPEG-4 The Microsoft MPEG-4 codec is a scalable-rate video codec designed for high quality video from 28.8 Kbps through 1 Mbps. This is the first implementation of the leading-edge standard for video compression.

RT24 A 2.4 Kbps codec, great for voice-only audio tracks. At 2.4 Kbps, the RT24 codec compresses audio smaller than any of the other codecs installed with NetShow.
Lernout & Hauspie (L&H) The L&H codec is designed for use as a low bit rate (preferably voice-quality) codec. This codec has only one setting, compressing everything to 4.8 Kbps. Audio compressed this small is not going to have the richness associated with CD-quality audio; however, for certain types of audio such as someone talking or running dialog it works well. This codec is a fine choice since it has been designed to work best with less dynamic audio sources.
Vivo G.723 Vivo’s G.723 codec is an excellent codec for general-purpose audio.
Voxware MetaSound The MetaSound codec is an excellent codec for general-purpose audio from 8 to 28 Kbps.
Fraunhofer Institut Integrierte Schaltungen MPEG Layer-3 The MPEG Layer-3 is a high-fidelity mono and stereo audio codec that is particularly well suited for CD-quality audio. It provides excellent compression for general-purpose audio from 10 to 56 Kbps.

The following video codecs are installed with Microsoft NetShow.

Microsoft MPEG-4 The Microsoft MPEG-4 codec is a scalable-rate video codec designed for high-quality video from 28.8 Kbps through 1 Mbps. This is the first implementation of the leading-edge standard for video compression.
VDOnet VDOnet is a low- to mid-bit rate video codec.
Vivo H.263, and Intel H.263 H.263 is a low-bit rate video codec, which means it is designed for streaming video over low-bandwidth networks such as a dial-up connection to the Internet (28.8 Kbps).
Duck TrueMotion The Duck TrueMotion codec is designed for high-bit rate applications of video. Use this codec for .asf files or ASF streams that will be played over an intranet or locally, where you have access to bandwidth in the range of 1-2 Mbps.

NetShow authoring tools. In order to choose the correct tool, users should understand the basic types of NetShow content. NetShow authoring tools take source information (either in live or stored form) and turn it into the Active Streaming format that NetShow Server can easily stream. Live information can be anything you can feed into your audio or video card, including a CD player, microphone, VCR, or video camera. Stored information can be .avi, .wav, .jpg, or .bmp files. Once the media has been converted to the Active Streaming format, you can deliver it to NetShow Server for streaming either as a stored .asf file or as a live ASF stream.

On-demand content. Microsoft's primary content creation tools are the ASF Editor, VidToAsf, WavToAsf, and Publish to ASF. The NetShow ASF Real-Time Encoder is primarily a tool for creating live content; however, it can also be used to generate on-demand content. In addition to the growing number of Microsoft NetShow content creation tools, there are also an increasing number of third-party tools that output .asf files. The following list briefly describes the Microsoft NetShow tools.

NetShow Player and Software Development Kit — Features and Benefits

Running the NetShow Player. There are two ways of using NetShow Player to play content:

Client Software Development Kit: rich programmability. The NetShow Player is built on ActiveX technology. The NetShow Client ActiveX control provides an extraordinarily rich set of client APIs that enable clients to harness the power of a comprehensive set of broadcast applications. Web masters, systems integrators, and developers can quickly and easily use the NetShow ActiveX control functionality to create custom business solutions using a variety of visual programming tools. Because the Player control is an ActiveX control, a developer can create applications in Microsoft Visual Basic, Microsoft Visual Basic Scripting Edition, Microsoft Visual C++, Microsoft Visual J++, or any language that will work with ActiveX controls. The Software Development Kit for the NetShow Player is included in NetShow 2.0 and is also part of the Internet Explorer 4.0 Software Development Kit (SDK).

Client cross-platform support. Support for cross-platform clients is a key customer requirement for NetShow. The current beta of NetShow 2.0 provides client support for both the Windows 95 and Windows NT operating systems, and the client software has been enhanced to further facilitate cross-platform portability. The NetShow client for Windows 3.1, Macintosh, and UNIX platforms is scheduled to be available within two months of the NetShow 2.0 release.

Integration with Microsoft Internet Explorer 4.0. The NetShow Player is now an integral part of Internet Explorer 4.0. The NetShow Player is installed automatically as part of the browser during the full-configuration installation of Internet Explorer 4.0. NetShow brings the power of broadcasting to Microsoft Internet Explorer, enabling it to receive a new class of innovative interactive content. NetShow enables the synchronized streaming of audio and video with other Web page elements, such as URLs, to increase the impact of content delivery. The NetShow client can forward the received URL addresses to Internet Explorer, allowing a new Web page to be displayed in either the browser window or a frame contained within the page currently being viewed. Image and video hotspots can also be created. While hyperlinks and image maps are a common concept in Web pages, they have been limited to text or a static image. NetShow enhances hyperlinks and image maps by associating user interactivity with defined regions on dynamically changing images, or even video. Additionally, Visual Basic or Java scripts can be combined with NetShow content to enhance broadcasting with a multitude of Visual Basic and Java capabilities. The retrieval of live data will facilitate the development of specialized programs and generally enhance the user experience by providing a new class of interactive content.

NetShow plug-in for Netscape Navigator. NetShow 2.0 includes a Netscape Navigator plug-in that enables Web surfers using Navigator to view Web-based NetShow content.

Support for Intel Corporation MMX processor. NetShow receives a significant performance enhancement from the Pentium II processor. MMX optimization enhances the performance of the NetShow Player by up to 40 percent and the NetShow Real-Time Encoder by up to 90 percent. For example, an executive using an MMX technology-equipped laptop can now deliver live video coverage of his or her product presentation to an audience of thousands on the Internet. The performance boost for NetShow is possible because the MPEG-4 codec included with NetShow is optimized for MMX technology.

For More Information

More information is available on the NetShow Web site at http://www.microsoft.com/netshow/.

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

-----------------------------------------

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.