2.3 Environment
The Media Streaming Server (MSS) system typically consists of a computer running an encoder, a media server, and a number of client computers running a media player. The encoder converts both live and prerecorded audio files to a digital format, and the media server distributes the content over a network or the Internet. Players then receive the content. The Media Streaming Server system also includes a web server as an optional component. The web server is used to serve webpages that have URLs to the media server, .asx files, and .nsc files. The web server can also be used to receive Windows Media Log Data Structure (WMLOG) messages.
Other optional components include the Digital Rights Management (DRM) license server and the DRM packager. These optional components allow the MSS system to stream encrypted content to the media player client. For relevant supported Windows versions, see [MS-DRM].
The success of the MSS system depends on a number of prerequisite factors for it to be configured and used by server and client computers. There are core networking protocols and services that are required to be open, running, and configured in order to correctly communicate with each other.
The network has to be capable of supporting TCP/IP traffic, such as TCP and UDP. Firewall ports are required to be opened to allow all network traffic to flow between clients, servers, and encoders. For authenticated streaming, the server, encoders, and clients are required to support the NT LAN Manager (NTLM) Authentication Protocol, as described in [MS-NLMP]or digest.
Finally, in some cases, the protocol does not provide a mechanism for a client to discover the URL to the server. Therefore, the client has to discover this data in another way, either by putting a URL to the server as a hyperlink in a webpage, or by using a redirector file, such as an .nsc file or .asx file.
In general, environment assumptions and preconditions depend on features and functional modes that are expected for the media streaming solution.
The use of specific individual protocols, as listed in section 2.2, depends on the scenario and the media server and client that are available on the network.
If the system requires interactivity by the media player client, then the system provides a unicast transmission and subsequently a protocol that supports unicast delivery.
Systems that broadcast media to a large audience and have limited network bandwidth and server capacity use multicast delivery. A multicast broadcast can add additional requirements on the network. For example, networks use multicast-enabled routers if they use routers with the multicast-enabled Media Streaming Server system.
Port settings for the various protocols generally differ. The settings depend on which Media Streaming Server Protocol is used, which network protocol is used, and whether the system uses multicast or unicast streaming.
If the system requires clients to authenticate before streaming content, the media server employs the authorization function of the protocols. If the media server or encoder allows anonymous connection, then these authorization functions are not required.
The following table summarizes the unicast, multicast, UDP, and TCP support that is provided by each of the MSS system member protocols.
|
Protocol |
Multicast or unicast |
UDP support |
TCP support |
Client redirection file required |
|---|---|---|---|---|
|
Unicast |
Used for transmitting Real-Time Transport Protocol (RTP) and Real-Time Transport Control Protocol (RTCP) packets |
Used for transmitting RTP and RTCP packets and normally used for controlling the streaming media session |
No |
|
|
Unicast |
Used to transmit data packets and can be used to request a packet resend |
Used to transmit data packets and to control the streaming media session |
No |
|
|
Unicast |
None |
TCP only |
No |
|
|
Unicast |
None |
TCP only |
N/A |
|
|
Multicast Unicast |
Used in UDP encapsulation mode only to transmit packets to an IPv4 multicast group |
Used to encapsulate Media Stream Broadcast Distribution (MSBD) Protocol packets are encapsulated in TCP |
No |
|
|
Multicast |
Used to encapsulate Media Stream Broadcast (MSB) Protocol packets |
None |
Yes |