Microsoft Media Services

March 7th, 2008

Microsoft Media Services was Microsoft’s proprietary network streaming protocol used to transfer unicast data in Windows Media Services (previously called NetShow Services). MMS can be transported via UDP or TCP. The MMS default port is UDP/TCP 1755.

Microsoft deprecated MMS in favor of RTSP in 2003 with the release of the Windows Media Services 9 Series, but continued to support the MMS for some time in the interest of backwards compatibility. Support for the protocol was finally dropped in Windows Media Services 2008.

Note however that Microsoft still recommends using “mms://” as a “protocol rollover URL”. As part of protocol rollover a Windows Media Player 11 client opening an “mms://” URL will attempt to connect first with RTSP over UDP and if that fails it will attempt RTSP over TCP. Earlier Windows Media Player clients as well as version 11 after having failed RTSP will attempt MMS over UDP, then MMS over TCP. If MMS fails a modified version of a HTTP over TCP connection will be attempted, this modified version is also referred to as MMSH

Softwares which support MMS

  • Windows Media Player
  • Winamp
  • mplayer

Social and legal issues

March 7th, 2008

Some streaming broadcasters use streaming systems that interfere with the ability to record streams for later playback, either inadvertently, through poor choice of streaming protocols, or deliberately. Some of these broadcasters place these interferences on their media because they believe it is to their advantage to control their intellectual property or necessary for compliance to licensing requirements by content providers. A concern for some broadcasters is that these copies of broadcasted material will result in lost sales. Whether users have the ability and the right to record streams has become a significant issue in the application of law to cyberspace.

According to some, there is no way to prevent a user from recording a media stream that has been delivered to their computer. Bruce Schneier once said, “Digital files cannot be made uncopyable, any more than water can be made not wet.” To date, efforts to prevent copying streaming media has been limited to making it inconvenient, illegal, or both.

One method of interfering in recording streaming media is DRM (Digital Rights Management) technologies. The DRM protection does not prevent a user from recording the streamed bits but the DRM gives some control of the reproductions or plays of the recorded file to a streaming media provider by requiring a key to unlock / decrypt the content.

Using unpublished data formats is another way for streaming media providers to protect their media. This security method can be reverse engineered, and encrypted streams must be decrypted with a key that resides on the consumer’s computer, so these measures are security through obscurity, at best.

Efforts to make it illegal to record a stream may rely on copyrights, patents, license agreements, or national legislation that implements the anti-circumvention provisions of the WIPO Copyright Treaty.

Cost Issues

March 7th, 2008

Although the internet will fundamentally change many industries, the fact remains that streaming large amounts of data (such as video) over IP is still expensive. CDN’s (content distribution networks) are companies that provide the infrastructure (servers and pipes) required to reliably deliver data worldwide. As in other industries, the cost (usually priced per gigabyte) is a function of quantity. At the end of 2007, a rather small commitment of 750 GB per month costs about $1.50/GB while a commitment of 100,000 GB per month cost $.30 per GB (USD).

Streaming bandwidth and storage

March 7th, 2008

Streaming media storage size (in the common file system measurements megabytes, gigabytes, terabytes, and so on) is calculated from streaming bandwidth and length of the media with the following formula (for a single user and file):

storage size (in megabytes) = length (in seconds) · bit rate (in kbit/s) / 8,388.608

(since 1 megabyte = 8 * 1,048,576 bits = 8,388.608 kilobits)

Real world example:

One hour of video encoded at 300 kbit/s (this is a typical broadband video for 2005 and it’s usually encoded in a 320×240 pixels window size) will be:

(3,600 s · 300 kbit/s) / (8*1024) give around 130 MB of storage

If the file is stored on a server for on-demand streaming and this stream is viewed by 1,000 people at the same time using a Unicast protocol, you would need:

300 kbit/s · 1,000 = 300,000 kbit/s = 300 Mbit/s of bandwidth

This is equivalent to around 125 GiB per hour. Of course, using a Multicast protocol the server sends out only a single stream that is common to all users. Hence, such a stream would only use 300 kbit/s of serving bandwidth. See below for more information on these protocols.

History

March 7th, 2008

Attempts to display media on computers date back to the earliest days of computing, in the mid-20th century. However, little progress was made for several decades, due primarily to the high cost and limited capabilities of computer hardware.

Academic experiments in the 1970s proved out the basic concepts and feasibility of streaming media on computers.

During the late 1980s, consumer-grade computers became powerful enough to display various media. The primary technical issues with streaming were:

* having enough CPU power and bus bandwidth to support the required data rates
* creating low-latency interrupt paths in the OS to prevent buffer underrun

However, computer networks were still limited, and media was usually delivered over non-streaming channels, such as CD-ROMs.

The late 1990s saw:

* greater network bandwidth, especially in the last mile
* increased access to networks, especially the Internet
* use of standard protocols and formats, such as TCP/IP, HTTP, and HTML
* commercialization of the Internet

These advances in computer networking combined with powerful home computers and modern operating systems made streaming media practical and affordable for ordinary consumers. Stand-alone Internet radio devices are offering listeners a “no-computer” option for listening to audio streams.

In general, multimedia content is large, so media storage and transmission costs are still significant; to offset this somewhat, media is generally compressed for both storage and streaming.

A media stream can be on demand or live. On demand streams are stored on a server for a long period of time, and are available to be transmitted at a user’s request. Live streams are only available at one particular time, as in a video stream of a live sporting event.

Research in streaming media is ongoing and representative research can be found at the Journal of Multimedia.