Sourcing from a multicast broadcast using Windows Media Services

A few folks have recently had questions about how to do sourcing of a video stream when using multicast with Windows Media Services (WMS). There are two basic scenarios that we often see:

  1. Unicast edge server sourcing from a multicast broadcast on an origin server
  2. Multicast edge server sourcing from a unicast broadcast on an origin server

In this post, I'll address the first scenario, a unicast edge server sourcing from a multicast broadcast on an origin server, as illustrated by the following diagram.

Multicast is often employed across an enterprise wide-area network (WAN) or content distribution network (CDN) to move broadcast content out to edge servers. Two examples of where this is useful are for distributing:

  1. Executive broadcasts across a multicast-enabled WAN link to a remote enterprise LAN that is not multicast-enabled.
  2. IPTV broadcasts across a CDN and then delivering the broadcasts to end users using public-facing edge servers.

The primary advantage of multicast is that no matter how many edge servers you have, you only have one video stream being distributed. In other words, even if you run a large CDN and have two thousand edge servers to which you need to distribute a 500kbps stream, your network will only need to support 500kbps. If you had to use two thousand unicast streams to reach those edge servers, some portions of your network would need to be able to support up to 1Gbps of streaming traffic (2,000 x 500kbps).

Let me describe how you would you set up this scenario when using WMS 9.0 or above. The following steps assume:

  1. You have Windows Media Service 9 Series running on Windows Server 2003 servers and/or Windows Media Services 2008 running on Windows Server 2008 servers, and
  2. Your network hardware (routers, etc.) between the Origin and Edge Servers is multicast-enabled.

Origin Server: Set up a multicast publishing point

First, we need to set up the Origin Server, from which the multicast originates, sourcing from a file, playlist, or live encoder. 

  • On the Origin Server, right-click on Publishing Points in the console tree on the left side of the WMS user interface, as shown below.


  • Click on Add Publishing Point (Wizard)… to create a new publishing point with the following settings (click Next to move from one dialog box to the next):
    • Name: A descriptive name (I'll call it GlobalMulticast in this example)
    • Content Type: One file, for testing purposes. (Later, you can source from a live encoder running on a PC, such as the free Windows Media Encoder 9 Series or a free trial version of Microsoft Expression Encoder 2, hooked up to a Webcam or other video camera.)
    • Publishing Point Type: Broadcast publishing point
    • Delivery Options: Multicast; for testing purposes, leave the 'Enable unicast rollover' box unchecked
    • File Location: Pick any lengthy Windows Media video (.wmv) file that you have
      • TIP: For testing purposes, you could also source from a WMS Server-Side Playlist that is set to loop
    • Publishing Point Summary: Verify your selections
    • Completing the Publishing Point Wizard: Leave the default choice of creating a .nsc file and click Finish
  • Multicast Announcement Wizard
    • Click Next if you see the Welcome dialog
    • Specify Files to Create: Select the second option, Multicast information file (.nsc)
    • Stream Formats: Click the Add button
      • Add Stream Formats:
        • If sourcing from a file, click the Browse button
          • In the Windows Media Browse dialog box, change the Data Source and Location fields as needed to find your multicast source file
          • Click once on the file name to highlight it
          • Click the Select File button
        • If sourcing from an encoder, enter an HTTP path to it
        • Click OK
      • Click Next
    • Multicast Logging: Leave the default No answer and click Next
    • Save Multicast Announcement Files
      • For the edge servers that will be sourcing from the multicast, LAN users, you must save the NSC file at a location that can be accessed using an absolute path (e.g., \\server\directory\file.nsc - in this example, I made use of a shared 'media' directory and would specify \\mediapack1\media\GlobalMulticast.nsc)
      • For local LAN users, you can save the NSC file:
        • On a Web server (for example, if you are using the default Web site in IIS7 running on the Origin Server, enter a path such as c:\inetpub\wwwroot\file.nsc), or
        • On a server share (for example, \\server\directory\file.nsc)
      • Click Next
    • Archive Content: Leave the default No answer and click Next
    • Completing the Multicast Announcement Wizard: Click Finish
  • Ensure multicast streaming is enabled
    • In the console tree, click the new broadcast publishing point (if the publishing point is started, click Stop)
    • In the details pane, click the Properties tab
    • In Category, click Multicast streaming
    • In Plug-in, click WMS Multicast Data Writer, and then right-click – if Enable is not grayed out, click on it

Edge Server: Set up a unicast broadcast publishing point

Now, let's set up an edge server, which will receive the multicast stream and pass it on to end users via unicast streams.

  • On the edge server, right-click on Publishing Points in the WMS console tree
  • Click on Add Publishing Point (Advanced)… to create a new publishing point in the Add Publishing Point dialog box, with the following settings:
    • Publishing Point Type: Broadcast
    • Publishing Point Name: A descriptive name (I'll call it EdgeBroadcast in this example)
    • Delivery Options: Multicast; for testing purposes, leave the 'Enable unicast rollover' box unchecked
    • Location of content: We need to point at your Origin Server. Supply a path that is similar to the Content type example shown for a Multicast stream, mcast://\\server\directory\file.nsc. Using the Origin Server settings above, I would fill in mcast://\\mediapack1\media\GlobalMulticast.nsc (see image, below).


    • Click OK
    • Right-click on the new publishing point, and select the Start option (see image, below)


    • To test that the unicast stream is working:
      • First use the Test Stream feature in WMS. Click once on your edge publishing point in the console tree, then in the details pane, select the Source tab. Click on the Windows Media Player icon at the bottom (circled in image below, on a WMS 2008 server).


      • Next, from a client PC, launch Windows Media Player and open (Ctrl + U) the unicast stream on the edge server, using a URL such as mms://server/publishingPoint. In my example, I would use mms://edgeserver1/EdgeBroadcast (URLs are not case-sensitive).

If all went well, you are now able to source from a multicast broadcast and re-distribute content using unicast streams from the edge.

Coming soon: I'll describe how to set up scenario #2, sourcing a multicast edge server from a unicast origin server.

12 Comments

  • HI,

    I am interested in finding out how to open a media stream (multicast UDP) with Windows MEdia Player 10. We have Cisco IPTV and would like to use Windows media player.

    any help is appreciated.

    Thanks,

    Boris

  • Hi, Boris,

    A few thoughts come to mind:
    1. Your network routers must be multicast-enabled, meaning that they can transmit class-D IP addresses, or you are only delivering multicast stream over the local segment of your local area network.
    2. Any firewalls between your server and your clients must allow multicast traffic to pass through: http://www.microsoft.com/windows/windowsmedia/forpros/serve/firewall.aspx.
    3. In Windows Media Player, you need to ensure the multicast protocol is enabled (for a larger deployment, this can be set using Group Policy). To configure protocol settings manually:
    a. In Windows Media Player, on the Tools menu, click Options.
    b. In the Options dialog box, on the Network tab, in the Streaming protocols area, ensure the multicast protocol check box is checked.
    4. You will need to point the Player to a multicast information file (with an .nsc file name extension) directly, or within the context of an announcement file (with an .asx file name extension). These are typically located on a file share or Web site.

    Here are a couple of Cisco-related resources that might help:
    1. An easy-to-understand (and somewhat older) overview of how Windows Media fits into Cisco networks: http://www.liamkeegan.com/techtips/cdn-multicast.html
    2. If you are also using Cisco ACNS in your network: http://www.cisco.com/en/US/netsol/ns340/ns394/ns50/ns264/networking_solutions_white_paper09186a00801f46a9.shtml#wp42929

    I hope this helps!

    -Chris

  • Chris, I appreciate the info you have posted, I am trying to set up a multicasting server, but I run into problems getting the encoder to work right, I get errors about format problems, I get the encoder running off of port 8081, I then try to link the windows media server to it & get the format errors then.

    any help will be appreciated.

    Roger

  • Ooopppss,

    Meant to tell you I have it already running in unicast mode, just can't convert it to multicast.

    roger

  • Hi,

    I don't know how to broadcast public.
    I can't change the IP 192.168.1.68 to my IP.

    Can anybody helps me?
    Sorry for my English,

    Regards,
    Frank Riezebos
    (frank_rdam@live.nl)

  • I have a multicast stream injected into my Network that I want to capture using Windows Media Encoder or another video compression tool at a branch office, push to my Windows Media Server at my Main Office and then multicast out to all remote offices via my WMS.

    Any suggestions on a Media Encoder Tool that'll support this endocing on a stand alone computer?

    Best Wishes
    ~nick

  • Hi Chris

    Any chance you can address the 2nd scenario you mention: Multicast edge server sourcing from a unicast broadcast on an origin server ?

    My VPN doesn't support multicast but my LANs are single subnet so they should. I would like the LAN servers to source over unicast from my central WMS server, but multicast to local clients.

    Thanks
    Mark

  • How do you set all the clients to play the .nsc file? I know once i assoicate the file on the PC to play via media player it always willl but i was wondering if it can be set throught Group Policy?

  • Hi, Nick,

    If the multicast coming in at the remote office is a Windows Media multicast, then you can capture it there with a Windows Media server using the steps described in my post (above) for sourcing from a multicast at an Edge Server, and then unicast it to your main office WMS server. In your scenario, the map is just laid out in reverse order.

    In the main office, you would set up WMS to source from the unicast stream coming from the edge, then stream it out as a multicast. That will be the topic of another blog post, coming soon.

    -Chris

  • Mark and Vadiraj,

    A post on the second scenario - Multicast edge server sourcing from a unicast broadcast on an origin server - is coming soon. Stay tuned!

    -Chris

  • Any hints on how to go about scenario#2.
    The only scenario I was able to implement was to have a unicsat http stream and then multicast it, is this an optimal solution?

  • Article doesn't mention that you need Enterprise version of server or better to multicast. Standard version, you're out of luck.

Comments have been disabled for this content.