During my chat with several people using Windows Media Services, I realized that very few actually know about Server Side playlists. I will be focusing on this subject over the next few posts and try to de-mystify it a little.
Definition: Server-side playlist is a list that identifies what content is played for a client, the time at which it is played, and the order in which it is played. The server-side playlist for a Windows Media server is an XML document.
The way this is different from a regular playlist is that this is configured on the server and client has very little control over it. The client is unable to make out that the stream coming to it from a server is actually from multiple digital media files. Instead, client just sees a single stream coming to it.
Now, this is a very powerful tool for the following reasons:
- As the client just sees a single stream it does not have the ability to change the order of the files and the content has to be consumed in a particular order only.
- As multiple content is streamed as a single stream, client does not have to connect multiple times and thus saving precious bandwidth
- This is a great tool to to insert advertisements. You can wrap content requested by the client with additional advertisements that must be viewed whenever a client connects to a broadcast.
- You can use the server object (to be covered in subsequent posts) to specify dynamically what media files to stream. In other words, you can edit the playlist even while a client is viewing a stream identified by the playlist. This is an extremely useful feature that could be used to dynamically pick relevant content for the client.
- Even though the client sees a single stream, you can send more information about the digital media file being streamed by using the playlist attributes (to be covered in subsequent posts)
In subsequent posts I will give scenarios which are very common and where server side playlists could help. I will also cover the server object and talk more on dynamic content programming using server-side playlists.