Creating NetShow Content
Microsoft® NetShow delivers live and on-demand multimedia content over corporate networks and the Internet. Standards-based NetShow can transfer live multicast audio and files, and can play on-demand streamed audio, illustrated audio (audio and images synchronized to a common time line), and video. This document gives an overview of the multimedia content you can create and how to create it.
Say you work for ABX Compute Corporation and your company is getting ready to release the newest version of your product, the Widget. ABX Compute is going to have a release party to promote the new Widget and it is your job to design a way for all company employees, partners, and potential customers to share in the festivities, informational talks, and training that will go on.
At the party the company president will give a keynote speech, and then several vice presidents will give demonstrations on how to use the Widget. ABX Compute always videotapes release parties. You decide to use NetShow because you know that you can stream audio and images across the Internet, but your boss isn't quite convinced that it's the tool to use. He asks:
"How do we deliver rich multimedia to Internet customers who are using 28.8 modems?" You explain that with NetShow, you can create and stream audio and video while controlling the bandwidth. NetShow is codec-independent, and because all NetShow installations include the VDONet VDOWave codec, you can compress the video for streaming over a 28.8 bandwidth network.
If lots of people around the company are running multimedia files across the network, won't that bog down all communications on the network?" Multicasting a file sends a single file to multiple users across the network. In the case of streaming files, a system administrator designates a maximum amount of data that can be streamed across the network at one time. This keeps the network from being bogged down or from interfering with other communication on the network.
"How do we create the training and presentation files without spending a lot more money?" NetShow comes with several tools that allow you to turn various sources into .asf content. You can use the videotape to capture frames for illustrated audio .asf files and for Internet- and intranet-bandwidth video .asf files. You can use the existing video editing tools to capture frames and to edit the video.
ABX Compute has licensed a new video codec from Awesome Computers, can we use this codec with NetShow?" NetShow is codec independent. You can use any PCM/ACM codec for audio or video as long as the user's computer has the same codec.
All company employees are going to want to be part of the release party even if they can't attend. With NetShow, you can multicast the audio live from the release party to every employee, partner, or customer desktop. All any user needs to receive the multicast audio is the NetShow client. But what about viewing the demonstrations and training?
Use the demonstration and training portion of the videotapes to create various ActiveX™ streaming (.asf) files. As opposed to forcing users to download huge video files, NetShow streaming allows users, even during peak viewing hours, to watch video files with no download time. The NetShow client is free, so you don't have to worry about the user not having the client.
When streaming audio and video over a network, bandwidth is your most valuable resource and how to deal with it is your top priority. In most cases, you will want to deliver the richest multimedia content possible while using the minimum network bandwidth.
This document assumes that you know what NetShow is and what its components are, and explains how to use NetShow to make the best use of available bandwidth.
NetShow Live Content
Because you don't have to convert any of your source material to a different format, it is easy to create NetShow Live content. Just plug a CD player, tape player, audio output from a VCR or laser disc player, or any other audio source into the input on your NetShow Live server's sound card.
In the case of ABX Compute Corporation, feed the live audio from the keynote speaker's microphone into the NetShow Live server's sound card. The speech will be multicast to all listeners.
As long as you can input an audio source to your sound card via your computer's bus or the input jack, you can multicast that audio. (Be sure you aren't violating any copyright or ownership laws.)
When choosing an audio source, be sure that you have complete access to the entire source. Using a live source is fine, but do not use a streaming or multicast audio file as your input source.
NetShow On-Demand content is ActiveX streaming format (.asf) files. ActiveX streaming format is a multimedia file format for streaming information across the Internet or an intranet. With .asf files, you can deliver multimedia content such as audio, illustrated audio (audio with synchronized still images), or video, at various data rates, including 28.8. To learn how, see the section "Adjust Your Content for the Bandwidth by Using Codecs."
What Can You Do with .asf Files?
.Asf files can do more than just deliver audio and video content. Within an .asf file, while it is playing, you can open Web pages and deliver scripting commands to the client computer to create an entire user experience.
Using .asf files, you can, for example, deliver a training video, a PowerPoint presentation, or audio with synchronized images. With the ability to embed scripting commands, you can extend the ability of the .asf file so that it can invoke URLs, process feedback from the user, and execute client-side commands.
NetShow On-Demand Server streams only .asf files. However, you can turn practically any type of audio, images, or video into an .asf file and then include URL and script commands.
Your first step in creating an .asf file is to obtain the image, audio, and/or video content you want to use. When creating .asf files, always start with the highest quality source files. As network bandwidth dictates, you can reduce the quality of your source files. In the ABX Compute Corporation example, you can use any videotape that was shot at the release party. If anyone used PowerPoint to create presentation slides, you can use the presentation files too. The following sections briefly describe how to turn this content into .asf files.
Video is an excellent source because the audio and visual elements are already combined. To create a video source, convert (digitize) any beta, VHS, 8mm, Hi-8, laser disc, or other video content into .avi or .mov format. Once this is done, you can use the NetShow On-Demand tools to convert the video source into .asf files.
For our example, let's say you've got the Widget release party speeches and presentations on VHS videotape. The first thing you must do is convert the video format from VHS tape to digital .avi or .mov format.
To digitize your video content and place it on a hard disk or network share, use a video editing tool such as VidEdit, VidCap, or Adobe Premiere. For this conversion, you will need a computer that along with the proper software also contains a high resolution video card with audio and video inputs such as the Truevision Targa 1000 Pro, Miro MiroVideo DC20, or Digital Processing Systems Perception Video Recorder.
If you have digital video content that is not in .avi or .mov format, use a video conversion tool such as those mentioned to convert the video into .avi or .mov format.
If you want to create illustrated audio, all you have to do is make a copy of the video's audio track, and then synchronize frame captures to it.
You can use any image in the .bmp, .dib, .rle, .jpg, or .gif format to create .asf files. Begin with a source image from a digital camera, video frame capture, PowerPoint slide, scanned image, or any other digital art. Once the image is in a digital format, use any image processing software to convert it to one of the appropriate formats.
If you want to use video frame captures as images in an .asf file, you will need the software and hardware discussed in the "Video" section above. If you already have your video in .avi or .mov format, use a video editing tool such as VidEdit or Adobe Premiere to capture frames.
If the video is not in a file on a shared or local drive, use a video player to play the video into your video capture board and capture and save the video frames in a usable format to your hard drive.
If you use Microsoft PowerPoint to create presentations, you can easily convert these slides into the .jpg format using the Microsoft Producer for PowerPoint add-on tool at http://www.microsoft.com/office/powerpoint/producer/prodinfo/features.mspx. This Web site includes instructions on how to load and use the tool.
Only .wav files can be used in an .asf file. The .wav file can use any ACM codec; that is, any .wav file you can play on your computer can be used in an .asf file. (Your Windows® 95 or Windows NT® operating system contains these codecs.)
If you want to convert live audio, a CD, or any other external source of recorded audio into a .wav file, use sound editing software such as SoundRecorder or Sonic Foundry's Sound Forge to record the audio through your sound card's input or line-in jack, and then save it as a .wav file.
You can include any URL in an .asf file. NetShow On-Demand Player does not check, locate, or open the URLs. When NetShow On-Demand Player comes to a URL in an .asf file, it sends the URL to the default browser, which then locates the URL. If the computer that is playing the .asf file does not contain a browser or for some reason cannot access the URL, the URL is ignored.
Script commands are client-side code that you include in the .asf file. NetShow On-Demand Player does not run or execute script commands. Instead, as NetShow On-Demand Player receives the .asf file, the script commands are passed to a client-side application that handles the commands and executes the actions.
Select a Bandwidth
After you have your source, you need to decide what size network bandwidth you are going to create the .asf file for. Bandwidth limits the size of an .asf file. You can use NetShow tools to create an .asf file for any size bandwidth, but you may not be able to stream it across your network.
There are three classes of bandwidths: Internet, intranet, and specialized networks. Each class, and the type of .asf file that will stream across it, is briefly described in the following sections. In order to stream an .asf file over a limited bandwidth such as 14.4 or 28.8, you will need to reduce or compress your source files.
Internet (14.4, 28.8, or ISDN)
Internet bandwidth is equivalent to what most phone lines carry. 14.4 and 28.8 modem speeds are used by the majority of Internet computers, while only a few have access to ISDN modems. With a 14.4 modem, you can receive streaming audio with only a few images (if the streaming file is long). With a 28.8 modem, you can receive streaming audio and illustrated audio. With an ISDN modem, you can receive extremely high-quality streaming audio, illustrated audio (with many more images than with a 28.8 modem), and reduced-quality video.
Intranet (100-200 Kbps)
Intranet bandwidth is typical among business networks and is usually better than ISDN bandwidth. On an intranet, you can stream CD-quality audio, illustrated audio (with CD-quality audio and lots of images), and medium-quality video.
Specialized Networks (1-2 Mbps)
The bandwidth within a specialized network can carry true video.
Building the .asf File
After you have chosen source files and a bandwidth, you are ready to build .asf files. Because the source files used to create an .asf file are different, while you are creating the .asf file you will need to make sure that all source files that will comprise an .asf file can fit within the designated bandwidth. However, you may find that once you've built the .asf file, you don't like it. If so, edit and adjust the source files and build it again. As you build .asf files you will see that there are three main types: audio, illustrated audio, and video. The type that you build depends on the NetShow tool that you use.
Select a Tool
When you installed the NetShow On-Demand tools, you installed everything that you need to convert audio, video, and illustrated audio into .asf files. Each of the tools mentioned below is used to convert a specific file type or combination of file types into an .asf file.
Use WavToAsf to convert .wav files to .asf files. The size of the .asf file that WavToAsf creates are directly proportional to the audio source. If you use a CD-quality .wav file to create an .asf file, you will get a CD-quality .asf file. Even though this may be what you think you want, realize that you will be streaming this file over a network. Many bandwidths, especially those of the Internet type, will not be able to support the streaming of CD-quality audio. To build an audio-only .asf file for your chosen bandwidth, build the .asf file and then test it to see whether it can stream over the network bandwidth. If it cannot, you need to compress the audio source and rebuild the .asf file.
The WavToAsf command-line tool is not an editor, so if you need to do any editing or you want to compress the .wav file, you will need to use a third-party tool. As mentioned before, if after creating an .asf file you need to edit it, you will need to use a third-party tool such as SoundRecorder or Sound Forge 4.0a to edit the audio source and then rebuild the .asf file. Even though you must run WavToAsf from the command line, WavToAsf allows you to create a full .asf file complete with markers, URLs, and script commands.
To return to the ABX Compute release party example, you could use WavToAsf to turn the multicast audio into a richer .asf file. Using WavToAsf, you could add script commands or invoke URLs at points in the audio where the additional Web page or .asf file information would add to the audio-only .asf file.
VidToAsf is a command-line tool that converts .avi or .mov files into .asf files. As with WavToAsf, VidToAsf is not an authoring or editing tool, it only converts video files into .asf files. The size of the video file that you use as a source directly correlates to the size of the .asf file. If you need to edit or compress the video source in any way before converting it to an .asf file, use a video editor. Use VidToAsf to turn the videotape from the ABX Compute release party into an .asf file.
When you run the command to convert the video source to an .asf file you can also specify standard .asf options such as including markers, URLs, or script commands.
ASF Editor is the most robust of the .asf creation tools. With ASF Editor, you can combine and synchronize images, audio, and script commands, and then output these into an .asf file.
To help you create .asf files that are suited for limited bandwidths, ASF Editor allows you to specify the bandwidth and also furnishes you with tools for re-sizing and compressing the audio and images.
In ASF Editor, you design the .asf files by placing the audio and image source files in a time line. ASF Editor gives you a graphic representation of how the source files fit in the specified bandwidth. From this representation you will be able to tell whether your files can be built into an .asf file, whether you have attempted to put too much image or audio information into the bandwidth, or whether you have room left in the bandwidth for more information.
Unlike VidToAsf or WavToAsf, ASF Editor allows you to specify a bandwidth, which sets a limit on the size of your .asf file. Based on your chosen limit, as you build your .asf file, you may be forced to edit or discard some of the source files in order to correctly build an .asf file. If you want to edit the content of your audio or image sources, you will need to use a third-party tool. If the image or audio won't fit in the bandwidth, use the ASF Editor compression tools to force the source into the designated bandwidth. If you like how the audio and image files fit together, build and then view your .asf file.
Use ASF Editor to combine portions of the ABX Compute release party multicast audio, audio clips from the videotapes, frames captured from the videotapes, scanned pictures taken at the party, and slides taken from presentation files into an .asf file. You can determine the bandwidth that the .asf file will stream over.
Publish to ASF
If you use Microsoft PowerPoint to create presentation files, you have another source for creating .asf files. Because .asf files and presentation files are so similar, Microsoft created an easy way to turn your PowerPoint presentations into .asf files. Publish to ASF is an option in the Office 97 version of PowerPoint that you can use to output a PowerPoint presentation directly to an .asf file that's ready to stream. For instructions on how to use Publish to ASF, including how to select a bandwidth or reduce the quality of image and audio files, see the PowerPoint 97 Help.
What if you have lots of existing PowerPoint presentations and don't want to upgrade to the new version of Office? Use the free tool called Producer for PowerPoint http://www.microsoft.com/office/powerpoint/producer/prodinfo/features.mspx. This add-on tool allows you to output the slides in a PowerPoint presentation to JPEG images. These images can then be used to build an .asf file using ASF Editor.
Adjust Your Content for the Bandwidth by Using Codecs
What makes NetShow such an effective tool for creating streaming network multimedia files is its capability to adjust the source content files. NetShow is codec independent. Other technologies use a proprietary codec (that is, the codec can be used only by that one application and other codecs cannot be applied). NetShow lets the .asf author and end user utilize a well-rounded suite of bundled and stand-alone third-party codecs for voice, music, images, and video for various bandwidths. This results in a greater number of options, more flexibility, higher quality content, and because the codecs can be upgraded independent of NetShow, faster innovation.
After choosing a bandwidth, reduce the size of your source content. There are two ways that you can reduce the size of your source content: adjust the size (height and width) of the source of image or video files, or apply a codec. Most of the time you will want to apply a codec.
To adjust the size of an image or video file, use an image editor (Adobe Photoshop, CorelDRAW, or Microsoft Imager) or video editor (AVIEdit, Adobe Premiere). You cannot adjust the size of an audio file without changing the content.
When you install NetShow, you also install a variety of codecs designed specifically for image, audio, and video. These codecs reside on your computer and are available to the various editing tools that you will use to edit your audio, video, and image sources. Most codecs are designed for a specific purpose.
To learn about the codecs that are included with NetShow, see http://www.microsoft.com/technet/archive/ie/reskit/ie4/Part5/part5b.mspx. For example, VDONet VDOWave is a good video codec, but it is not good for compressing images. It's better to use JPEG compression for images. Before you build your .asf file, experiment with the various codecs to reduce the size of your source files.
Because the codecs are installed on your machine, you can use the codecs in any application that supports codecs. For example, to compress an .avi file, you could open Adobe Premiere on your computer and apply the VDONet VDOWave codec to the .avi file. Of the three NetShow tools (VidToAsf, WavToAsf, and ASF Editor) that are installed on your computer, only ASF Editor allows you to associate codecs with source files. You must use video or audio editing tools to associate codecs with the source files before using VidToAsf or WavToAsf to create .asf files.
Once you have the video content in .avi or .mov format, compress the files before you convert them to .asf. Because most compression algorithms are specifically designed for audio or video, you should compress both the audio and video portions of your .avi file. Use tools such as Sonic Foundry's Sound Forge 4.0a or Adobe Premiere to apply compression algorithms to the .avi.
NetShow supplies you with the codecs that you will want to use. For example, if you are creating a video .asf file of the ABX Compute release party for use over the Internet (28.8 bandwidth), you'll want to use the VDOWave codec for the video portion and the L&H codec for the audio portion. If you're creating a video .asf file for use over the ABX Compute internal network (100 Kbps bandwidth), you may want to use the Indeo 4.1 codec for the video and the Truespeech codec for the audio.
Streaming the ASF File
After creating an .asf file, you will want to play it. You can double-click the .asf file to play it locally, but how do you enable others to stream the .asf file to their desktops? First, place the .asf file on a NetShow On-Demand server, and then create a way for others to access the .asf file
Posting ASFs on NetShow On-Demand Server
To post .asf files on a NetShow On-Demand server, simply copy the .asf files to the NetShow home directory on that server.
Using ASXs or Embedding the Client
For users to play an .asf file on a Web page, the Web page must either contain an .asx file (similar to a hypertext link to an .asf file) or NetShow On-Demand Player must be embedded in the Web page. The following information covers how to do both.
Using ASX Files
ActiveX stream redirector (.asx) files are necessary for playing .asf files from a Web page that does not contain an embedded NetShow On-Demand Player. An .asx file provides the information that NetShow On-Demand Player needs to connect to a server. An .asx file is a one-line text file whose contents look like this:
An .asx files specifies:
The protocol used (either HTTP or MMS)
The name of the server
A virtual directory (if necessary)
The .asf file
Only one .asf file can be specified per .asx file. Place your .asx files in a directory on an HTTP server. It is a good idea to create a virtual directory for the .asx files so that it is easy to create, remember, and possibly edit the path to these files.
The most common scenario for using an .asx file is as a link in a Web page. The following graphic shows what happens when a user clicks an .asx file in a Web page.
In this scenario, NetShow On-Demand Player (NSOPlayr.exe) is called as an external player. The following list describes the steps that the client, HTTP server, and NetShow On-Demand Server go through:
On a client, the user clicks a link, <A HREF=HTTP://webserver/file.asx>, that requests the downloading of the .asx file.
The HTTP server sends the .asx file. to the client computer.
The client computer reads the .asx file (ASF mms://Srvr/go.asf) and determines which server to contact and which .asf file to request. The client computer launches NSOPlayr.exe.
The client computer contacts NetShow On-Demand Server and requests the .asf file.
NetShow On-Demand Server begins streaming the .asf file to the client.
Embedding the Client
An easy way of providing NetShow On-Demand Player to people who don't already have it on their computers is to embed NetShow On-Demand Player in a Web page. Embedding NetShow On-Demand Player requires that you write some script commands or that you use the ActiveX Control Pad to create your Web page.
When a user accesses the page, the player is optionally downloaded. In the script commands that you use to embed NetShow On-Demand Player, you can set the property that identifies which .asf file to play as well as how to play it. The following script shows the NetShow On-Demand Player class ID and several of its properties. To learn more about NetShow On-Demand Player and its properties, see the NetShow On-Demand Client SDK.
<OBJECT CLASSID="clsid:2179C5D3-EBFF-11cf-B6FD-00AA00B4E220" HEIGHT=240 WIDTH=320 NAME=NSOPlay ID=NSOPlay > <PARAM NAME="FileName" VALUE="mms://NSOserver/demo.asf"> </OBJECT>
How you set the parameters determines how NetShow On-Demand Player will work. The FileName parameter identifies the .asf file that will play. You set the value for this parameter to be a URL just as if you were going to play the .asf file from the Open Location option on the NetShow On-Demand Player File menu. For more information on embedding NetShow On-Demand Player in a Web page or Visual Basic® application, see the NetShow On-Demand Client SDK.
NetShow is low-cost and uses existing infrastructure to make multimedia material available on an intranet or the Internet. NetShow provides a central server administration capability that allows you to scale the multimedia content to fit within your network. With this ability, you can store immediately-accessible training video and illustrated audio files for use both inside and outside the company. The ability to use any codec with NetShow gives you more options and flexibility. Innovation is faster because codecs can be upgraded at any time.
Now that you understand how to create and deliver .asf files to the desktop, give it a try. With practice, you'll know what quality and size of images, audio, and video can fit within the different network bandwidths. For additional information on NetShow or any of its components, see the NetShow Web site at http://www.microsoft.com/netshow.