Share via


3.4 Example 4: Publish Secure Content to Media Server

Digital Right Management (DRM) integration occurs entirely outside the media streaming server. This section is intended to provide an overview of the integration of DRM with the media streaming server experience. This example demonstrates the use case extensions in sections 2.5.2 and 2.5.4.

Note  Digital Rights Management (DRM) is an optional component. For relevant supported Windows versions, see [MS-DRM].

Prerequisites

  • The general requirements are described in section 2.4.

  • The media streaming server meets all preconditions described in section 2.5.2 and 2.5.4.

Initial System State

None.

Final System State

The media server streams secure content to the media player client.

Sequence of Events

The following sequence diagram shows the communication between encoder, DRM packager, media server, media player client, and license server for streaming secure content.

Integrating DRM communication flow

Figure 19: Integrating DRM communication flow

  1. Server and encoder negotiate: The Media Streaming Server (MSS) server establishes a connection with the encoder for streaming, as described in section 3.2.

  2. Encoder requests DRM encryption: The encoder calls a [MS-DRM] application for encrypting the encoded stream.

  3. The DRM packager delivers encrypted content: The packaged media file has been encrypted and locked with a key. This key is stored in an encrypted license, which is distributed separately by the DRM server when it is requested by the player application. Other information is added to the media file, such as the URL to the DRM server where the license can be acquired. For information on the Digital Rights Management License Acquisition Data Structure, see [MS-DRM].

  4. Encoder streams content: The media server pulls the stream from the encoder, as described in section 3.2.

  5. Client/server negotiate and play back the media content: As documented in section 3.3, the media player client and the media server send messages to negotiate stream selection, and then stream the content.

  6. The MSS client streams the content to the player application for playback. The player application receives the ASF file header as part of the stream and determines that the content requires a license from the Content Encryption object, (as specified in [ASF] sections 3.14 and 3.15). The player application can continue to stream the content, but the player application cannot play the content until it has obtained a license to decrypt the content. The player application obtains the URL where the license can be acquired, as mentioned in step 3, from the ASF file header of the file. For information on the Digital Rights Management License Acquisition Data Structure, see [MS-DRM].

  7. Player application requests a DRM license: Using the file URL that was obtained in step 5, the Player Application requests the license from the DRM server. The license acquisition process can be silent or require user input. For example, the server can require a credit card transaction before issuing a license, or the client can obtain the user's consent before requesting a license from a server. For information on the Digital Rights Management License Acquisition Data Structure, see [MS-DRM].

  8. DRM server sends license: After the player application has completed the steps for acquiring the license, the player application can decrypt the content for playback. For a detailed example of media streaming, see section 3.3. For information on the Digital Rights Management License Acquisition Data Structure, see [MS-DRM].