Comparing Web servers to streaming media servers

I'm often asked by customers whether they should use Web servers or streaming media servers to deliver their content, especially now for new rich media sites rolling out Silverlight. The answer invariably depends on their business objectives. Each type of server offers pros and cons related to infrastructure, business model, administrative requirements, and end-user experience. This post will provide some information that might help when making this decision.

Two articles provide a good primer for such a discussion. The first is Web Server vs. Streaming Server, an older analysis that needs updating but provides great context. The second is the relatively more recent Streaming from a Web Server, which provides Web server how-to instructions and updates the comparison to streaming with Windows Media Services 9 Series.

Both articles basically make the case for using a streaming media server based on efficiency, quality, features, scalability, content protection, and protocol options. Many of the points made are still very valid, while others have diminished in relevance due to improvements in bandwidth and changes in technology. For instance, let's look specifically at IIS and Windows Media Services

  • In many scenarios, HTTP streaming:
    • Has proven to be very scalable in terms of concurrent connections on a Windows Media Services server
    • Is increasingly effective for delivering high-quality end-user experiences as bandwidths to homes and branch offices increase
  • IIS 7 takes a giant step forward from IIS 6 and competing Web servers with the new IIS 7 Media Pack bandwidth throttling feature and Windows Server 2008 scalable networking capabilities, as it can:
    • Make better use of resources on the server and delivers more concurrent data streams over HTTP when serving large files, such as video content
    • Provide configurable functionality similar to Fast Start and Fast Cache in Windows Media Services
    • Send media content at the encoded bit rate, or an administrator-defined rate, for popular formats such as Windows Media Audio, Windows Media Video, and MP3
    • Throttle other data types at administrator-defined rates

Given these changes and many others for Windows Server 2008, we might change the high-level "Comparing server features" table from the Web Server vs. Streaming Server article to look as follows…

Windows Server 2008 Feature

Windows
Media
Services

IIS 7 +
Media
Pack

Stream through most firewalls

X

X

Stream content with Digital Rights Management

X

X

Fast Streaming

X

~

Fast Start

X

X

Fast Cache

X

X

Fast Reconnect

X

  

Fast Recovery

X

  

Advanced Fast Start

X

  

Stream without downloading

X

  

Broadcast (live)

X

  

Intelligent streaming

X

  

Optimized for delivering Windows Media content

X

X

Indexing

X

  

Rich Windows Media client logging

X

  

Built-in Windows Media Cache/Proxy plug-in

X

  

Supported on Server Core installations

X

X

Available for Windows Web Server 2008

X

X

Stream content to cross-platform Silverlight clients

X

X

Delegated Administration

  

X

Centralized Configuration

  

X

Secure Socket Layer (SSL) for on-demand streams

  

X

Ability to deliver a broad range of media formats

  

X

   

If you compare this to the original table, you'll notice that both IIS and Windows Media Services have some great new features that might affect your choice for delivering streaming media. Clearly, your decision will be based on your particular business requirements. Fortunately, with the new functionality provided by Windows Server 2008, your options for this decision have just increased.

After Windows Server 2008 launches, we'll provide updated versions of both Web Server vs. Streaming Server and Streaming from a Web Server. In the meantime, stay tuned to www.iis.net for more information on the delivery of streaming media, and let us know if you have any questions or topics that we can address.

-Chris

16 Comments

  • Hi Chris !
    I have some questions:
    1) We have to send a media stream from mobile camera (Sound + Video) to Windows Media Series. Does such a possibility exist?
    2) Can we send this media stream without Encoder?
    3) Is there a standart protocol of transfer of data to Media Series?
    4) Will anything appear in this direction with Media Series 9.5?
    5) When will Encoder Expression be able to send a stream to Media Series?
    6) Recommend us, please, any specialist's blog that is engaged in streaming video and mixing.

    thanks

    Vladimir Leshchinsky

  • Nice post, Chris. I'd note that the features you talk about with IIS7 Media Pack are specific to v1.0 release, planned to coincide with Windows 2008 / IIS7 RTM. As you know, with subsequent releases of the Media Pack we plan to add more features over time... I would also note that with the Media Pack option you get all the extensibility of IIS7, including managed pipeline extensibility for doing all kinds of custom modules for your media requests...

  • Hi, Vladimir, 
    Thanks for your questions!  Here are my attempts at answers... 

    1.       I'm not clear on what scenario you are trying to address with streaming from a mobile camera, so I'll answer this four ways...

    a.       For broadcasting a live stream from your Windows Mobile phone, check out the very cool ComVu PocketCaster product.b.      If you want to upload recorded video files from your mobile phone for on-demand streaming from within a blog, a great example of one way to do this is James Clarke’s Jetfuel plug-in, which combines short cell phone video clips with Windows Live Writer, Expression Encoder, and the free SilverLight Streaming service.c.       To stream an event from a remote location that has network access to your Windows Media server, you can set up an appropriate camera, connect it to a video capture card on a PC running Windows Media Encoder or Expression Encoder, configure the encoder, and then use pull or push encoding to stream the content to your server for distribution.d.      A number of Windows Media partners provide all-in-one encoding and serving appliances that might be of interest to you.  Here are a few recent examples:


    1.       Featured Microsoft Partners at NAB 2007
    2.       VBrick’s WM Appliance 
    2.       For a camera that encodes directly into the Windows Media format, Wilife makes Windows Media-based security cameras.  If you also need audio, you might contact them to inquire about their plans for audio capabilities.3.       The standard protocol for transferring a Windows Media stream from an encoder (such as Windows Media Encoder or Expression Encoder) to Windows Media Services is HTTP.  When sourcing from an upstream Windows Media server, you can use either HTTP or RTSP.4.       Windows Media Services for Windows Server 2003 and Windows Server 2008 both support sourcing from remote locations.5.       The Live Encoder features of Expression Encoder will be included in the upcoming RTM, slated to release concurrently with Silverlight in Summer, 2007 (so, depending on your definition of Summer, this might happen either tomorrow, or by September 22  J ).6.       For a summary of great Windows Media VC-1 encoding resources, such as a link to encoding guru Ben Waggoner’s blog, see James Clarke’s blog post on Hidden secrets of VC-1 Quality. 
    I hope this helps!  If you need clarification or more information, please write back with more questions. 
    -Chris
     

  • Hi, Chris
    thanks for nice post.
    we have some problem implementing Windows media server

    1. our environment
    OS: windows 2003 Standard Edition(Media Server9)
    Reverse Proxy Server : IBM webseal 4.1 (Tivoli Access Manager)

    2. Business needs
    our customer need to stream through reverse proxy server

    3. Our Problem
    we configured windows media server as webseal (reverse
    proxy server) backend web server and we tried to stream contents using http://webseal_ip/JCT/a.wmv
    but, it failed

    4. Cause of failure
    first http request arrived media server through reverse proxy server
    but, media server returned a.wvx containing URL with
    it's real IP address and DNS name.
    after client received that meta file, it try to connect not through reverse proxy but media server directly

    5. Question
    1) Do We need another configuration in media server ?
    2) We Tested Web server streaming in reverse proxy environment and it works well
    but, this senario, wmplayer takes too much memory
    (to stream 80MB wmv, it allocates about 120MB RAM)
    what we can do ?

    thanks for reading poor english

    RYU GUN WOO


  • Hi, Ryu Gun Woo,

    I'm not clear on where the .wvx is coming from - typically, that is served from a Web server. If so, then the authoring of those playlists needs to be changed to point at the Webseal server.

    If the problem is that the Windows Media Server itself is responding with the origin server IP address, I see two possible solutions:
    1) Check to see if the Webseal has a configuration setting to rewrite the streaming media URL. For instance, Blue Coat appliances have an asx-rewrite function that will correct this issue, so perhaps Webseal has something similar.
    2) Replace the Webseal server with another Windows Media server running on Windows Server 2008. This comes with Reverse Proxy support in the built-in Cache/Proxy plug-in, allowing you to point to an upstream origin server easily from the UI.

    I hope this helps.

    -Chris

  • Thanks Chris...
    We solved problems...but we don't know what was the exact cause of problem.

    first...if we use URL like http://webseal_ip/jct/publish_point
    , WMS returns a.wvx like meta file. (if the player doesnot support wvx file extenstion, it creates popup windows(download or execute))

    As you mentioned, webseal rewrites the streaming media URL.
    but there was one strange thing.
    WMS gives Webseal that http response as http version 1.0, but Webseal gives player that response as http version 1.1.
    I think the player cannot understand that respose and retry...
    and fail

    second..we use URL like mms://webseal_ip/jct/publish_point
    it works well through http protocol.
    (webseal cannot handle mms or rtsp protocol, so client failed
    connect by that protocol and finally success http protocol.

    the difference first and second is...
    In fisrt method...the user-agent(http spec) was NSPLAYER WMFSDK (i think this is IE media player plug-in)
    and returns wvx meta info and use http 1.0

    the second method, the user-agent was just NSPLAY with
    auth infomation and dose not return wvx and use http 1.1

    I suspect the problem was....webseal changed backend webserver's response from version1.0 to version1.1
    and using http:// invoke IE plug-in

    thanks a lot

  • I'm glad you were able to find a solution! :-)

    -Chris

  • Hey Chris,

    When you say "Ability to deliver a broad range of media formats", can you elaborate on that? Adobe just dropped the price of their Flash Media Server to $995/server for the "professional" version. Will the Media Pack have any benefit in the delivering of Flash?

    Thanks,
    Colin

  • We deliver wmv files from Windows Media Server on Windows 2003 Enterprise server configured to support http on port 80.

    This has woked fine. Response is snappy and dragging the timeline on a long video (some up to five hours) is almost instant in Windows Media Player..

    Recently we moved to Silverlight for presentation. Soem nice features and we want to stay with Silverlight. However, video viewed in Silverlight takes long to buffer when sliding the video timeline control.

    Why is this, and is there anyway to make silverlight as snappy as media player when delivering from the WMS?

  • We deliver wmv files from Windows Media Server on Windows 2003 Enterprise server configured to support http on port 80.

    This has woked fine. Response is snappy and dragging the timeline on a long video (some up to five hours) is almost instant in Windows Media Player..

    Recently we moved to Silverlight for presentation. Soem nice features and we want to stay with Silverlight. However, video viewed in Silverlight takes long to buffer when sliding the video timeline control.

    Why is this, and is there anyway to make silverlight as snappy as media player when delivering from the WMS?

  • Hi, Colin,

    Thanks for your great question. By "Ability to deliver a broad range of formats," I mean a few things. First, I'm broadly referring to the fact that an HTTP progressive download from IIS can include any media file format, including Flash .flv files.

    Second, thinking more specifically about the new IIS Media Pack, the Bit Rate Throttling feature provides advanced support of audio/video media formats. This includes automatic detection of the encoded bit rate in a file, and intelligent progressive download throttling based on that. Built-in support is included for digital media with the following file name extensions: .asf, .avi, .flv, .m4v, .mov, .mp3, .mp4, .rm, .rmvb, .wma, .wmv. The advantage of this feature is that it allows you to get most of the bandwidth cost savings and scalability increases traditionally associated with a streaming media server, such as Windows Media Services 2008.

    Third, going beyond media files, the Bit Rate Throttling feature allows any file type, media or non-media, to be throttled at a constant rate. An administrator can easily specify a new file type and throttling settings through the user interface.

    With regards to pricing, you can now get both the IIS Media Pack and Windows Media Services 2008 as free downloads. Both will install on all versions of Windows Server 2008, including the affordably-priced Windows Web Server 2008, which has a retail price of $469.

    -Chris

  • Chris, I am running Windows Small Business Server 2003 and had a question about Windows Media Services. I can connect to my WMS using RSTP locally, but when I try to access it from my external IP address it fails. This worked up until I ran the Internet and E-mail configuration tool under Server Management. Do you have any suggestions? I know that port 554 is open on my router, so I am sure it's not anything to do with that.

    Thanks,
    Charles

  • Joe, you should see snappy response times in newer builds of Silverlight. Some customers are reporting up to 50% faster response compared to Windows Media Player. If not, please send me e-mail using the Contact link above so we can dig into the details.

    -Chris

  • Hi Chris,
    I am actually developing one silverlight application where we are planning to stream 300+ video files from windows media server 9 in a lan or wlan to 500 client devices
    we want to show best quality video.What file format should i use and at what bit rate,key frame etc??. also what is recommonded hardware configuration of WMS server for faster speed

  • Team

    I just want to stream a live event audio only, I have a web page with a comercial ISP, I need to stream from a pc to the web page, them the users connecto to the web page to hear the audio

    I need advice

  • Hi, Matthew,

    If you are using Windows Server 2008, then these URLs might help...

    * Explanation & workaround you can use to confirm the issue: http://blogs.msdn.com/randomnumber/archive/2008/09/05/wmp-unable-to-connect-to-wms-9-5-wms-returning-503-service-unavailable.aspx
    * Fix: http://support.microsoft.com/kb/960372

    Please let me know if this helps.

    -Chris

Comments have been disabled for this content.