Server Side Playlists - Wall Clock Feature and Tech Ready
I was participating in the Ask the Experts (ATE) session for Tech Ready last week and it just showed me how bad we have been at marketing some of our powerful features. Tech Ready is an internal conference for Microsoft employees where employees in the field are given a preview of the all the technologies coming and they are armored to be able to answer customer questions
Here are two questions I got for Windows Media Services:-
- When are you guys going to build a web part to manage a Windows Media Server?
This one is easy, we already have a web based management tool called the ASP Admin or Web Admin. This provides all the functionality available through the rich client but using ASP pages for the same. It has the ability to manage a remote server as well.
- A customer of mine wants to be able to program channels broadcast through a Windows Media Server. They want to be able to control what program plays at 9PM and then what plays at 10 PM and so on.
This one thing continues to baffle me. Why did we not yell out and tell the world about Server Side Play Lists (SSPL). Yes, SSPL enables anyone to do the above and a load of other powerful things. Some of them have been covered in my previous post and a lot more will be covered in my subsequent posts. I will do my bit to tell you all reading this blog on why I am so excited about SSPL.
To answer the above question - SSPL allows you to control what time a particular entry starts playing. This time is the actual server time and not a relative time. I mean if you say 9PM, the content will start playing at 9PM according to the sever system time. We call this feature wall-clock feature. The wallclock value can be used in the begin and end attributes to start and stop media according to a real-time clock.
Here is an example SSPL:
<smil>
<excl>
<priorityClass peers="Pause">
<media id="Prog1" src="Prog1.wmv" mce_src="Prog1.wmv" begin="wallclock( 2005-07-28T15:30-08:00 )"/>
<media id="News" src="http://WMEncoder02:8070" mce_src="http://WMEncoder02:8070" begin="wallclock( 15:59:50 )" end="wallclock( 16:30:00 )" />
</priorityClass>
</excl>
</smil>This is well documented on MSDN as well. Please refer the online documentation for more details.
Note: A server side playlist cannot have only elements pertaining to future. There should be atleast one element that can be active the moment the publishing point is started. This could be a jpeg (looping), an ad or some other piece of content. There can be wallclock'ed media elements in addition to the non-wallclock'ed content and they can be used with PriorityClass to interrupt(pause, etc.) the playing content and play instead.