Michael Wolf
{Binding ME}
Thursday July 02, 2009
Smooth streaming source
this is a short one.
A couple days ago I needed to create an adaptive streaming player. If you don't know what adaptive streaming is, its what Microsoft is marketing as smooth streaming, its a method by which a single movie is encoded into multiple bit rates, and is chunked into 2 second chunks, such that individual chunks can be pushed down the wire and reassembled. This is the technique used during the 2008 Olympics, and has only improved from there. One of the most interesting parts of this technique is how it scales, by simply using established http caching mechanisms ( see alex's blog for more great details). The thing about smooth streaming in silverlight is that it’s not "native" support, it takes some plumbing to make it work. However as much as smooth streaming has been publicized when I went looking for example code there was little direction to be had. Most references point to either the open video player initiative, which is great but lacks the adaptive source, or simply says "encode with expression encoder, and you get a silverlight player with smooth streaming built in". Yet I wanted source to make my own not a prebuilt one. Doesn’t every dev want to look at the plumbing after all. Then I remembered that Encoder comes with the source for the templates.
So long and short of it, is if you look in "C:\Program Files\Microsoft Expression\Encoder 2\Templates\en\" theres your adaptive streaming source.
Also for the other folks who just go googleing/binging(doesn’t sound as good) for the source, here you go.






