Running NetShow 2.0 and Microsoft Internet Information Server on the Same Box


A Microsoft NetShow server will stream with 4 different transport protocol mechanisms: multicast, UDP, TCP, and HTTP. This article will discuss some basic requirements and some considerations of using each of these delivery methods.

More Information

When you install a NetShow server, by default it is configured to support Multicast, UDP, and TCP streams. HTTP streaming is not enabled by default due to a possible conflict with an existing HTTP server running on the same machine. Due to NetShow server having a Windows NT® 4.0 system requirement it is likely that the IIS HTTP server is configured and running on any given machine. Because of this, HTTP streaming is disabled in on the NetShow server by default.

The protocol a given stream uses is a combination of 3 factors: the configuration of the server, the configuration of the client, and the references used in the ASX or player open dialog box. This text will not be a full discussion of these permutations; rather, it is focused on the server configuration options.

The NetShow server will use multicast if you create a multicast channel and program and use a machine-generated announcement file (the ASX file). You can provide unicast rollover capabilities when you configure this channel by specifying a unicast server virtual alias and selecting the appropriate options during channel creation. When using a hand-generated ASX file you can still take advantage of Protocol Rollover between UDP, TCP, and HTTP. Note that by default TCP is disabled in the client and HTTP is disabled on the server, so the net result is that you will get a TCP stream by default. You can choose the UDP option in the client dialog box to enable UDP streams and the server will serve a UDP stream with no additional configuration. To do HTTP streaming, the following considerations must be weighed.

If you enable HTTP streaming on the NetShow server (via a registry change documented below), you cannot run an HTTP server on the same machine running on Port 80.

Here are your options.

  • Disable the Web server and run your HTTP services from a separate machine (recommended).
  • Change the Web server port to a non-standard port such as 8080 and you will need to append :80 on all of HTTP URLs (not recommended).
  • Mirror your ASFRoot or Content directory with an HTTP server virtual alias that is the same as your MMS path, (For example, mms://myserver/content/anasffile.asf and http:..myserver/content/anasffile.asf would both map to the same directory and file.) You can do this by creating a Virtual alias for the Unicast server and the HTTP server with the name "Content" and using the same physical directory location. This last option is also not recommended, as you will not get all of the functionality of an ASF file when streaming from an HTTP (NOT an HTTP stream from a NetShow server) server vs a Netshow server. You will also not see the same performance when streaming from an HTTP server that you would when streaming from a NetShow server. A Web server is not really designed with "streaming" files in mind. The functionality you lose is the ability to Seek in a file (Fast Forward and Rewind); also, Markers are not available. Additionally, if you are serving your ASF file from a Web server you MUST use an ASX file, or else the file will be downloaded rather than streamed.

How to enable HTTP streaming on a NetShow server:

You can enable HTTP streaming from a Netshow server (not to make it a Web server but to enable it to stream NetShow content on HTTP and port 80), but you need to make a registry configuration change. However, if you enable HTTP streaming on a Netshow server you can not run a Web server on port 80 on the same machine (in this case NetShow and IIS on port 80). You would either need to change the HTMLserver to a non-standard port, or disable it and run the HTML server on a different machine.

To turn HTTP steaming on, run the following REG file or edit manually.

<- This is the beginning of a REGEDIT file --- Snip here ->
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nsunicast\Parameters]
"EnableHTTPStreaming"=dword:00000001

<- This is the end of a REGEDIT file --- cut here ->


© 1997 Microsoft Corporation. All rights reserved. Legal Notices