Introducing Video.Show: A Silverlight Reference-quality Sample

Introducing Video.Show: A Silverlight Reference-quality Sample

Rate This
  • Comments 26

imageOne of the favorite things about my job is being able to share really cool new content with you all, and so today is a good day to end the week on! Since we completed the Family.Show WPF reference sample, we've been working away in partnership with a great developer team from Vertigo Software on a Silverlight video scenario, and today is the day when we get to open it up to the developer community in the form of a first public beta.

Video.Show is an end-to-end solution that provides a reference-quality sample for user-generated video content sites. Taking advantage of all of our latest technologies: .NET Framework 3.5, ASP.NET AJAX, LINQ, Silverlight, Expression Encoder and imageSilverlight Streaming, Video.Show provides support for uploading, encoding, tagging, viewing and commenting on videos. Since not many people are building video sites like YouTube that have millions of videos, we've optimized the experience for sites with tens to thousands of videos.

The version published today is a beta release; we've still got a few minor tweaks ahead of us before we're ready to call this final. Nevertheless, if you're interested in using Silverlight to build out a video site, it's a great starting point. The screenshots on the right-hand side of the post give you a quick idea of the capabilities of this application. Here's a short feature list:

  • imageVideo wall for browsing videos. Hover the mouse over any individual video to see an instant thumbnail preview.
  • Time marker-based comment system. Pause the video at an interesting moment and add your comment, and it will appear as that frame is displayed on playback.
  • Site membership using ASP.NET. Sign in and create a custom profile; favorite, tag and upload videos.
  • First-time experience for a user without Silverlight installed demonstrates best practices for detection and installation.
  • Web services for retrieving video catalogs, tagging and favorites.
  • Background batch processing task that handles the encoding of videos using Expression Encoder and uploads to Silverlight Streaming.

We'll continue to extend this solution over the next couple of months and eventually merge it into the Software + Services Blueprints initiative that was announced at TechEd Developer in Barcelona last week. But for now, we'd love you to download it and try it on your machine; give us feedback on what you like and don't like about it so we can improve it for future releases. At this point in time, the solution is available in source code form, but by the time we release we'll have a live production site in place where you can visit to see the site in a real-world setting. Since it's licensed under the Microsoft Public License, maybe one of you will have a live site using it even before we do!

Download Video.Show here from CodePlex. Have a great weekend!

  • Ah, I see why it's Beta. It got confused over an upload and used the same thumbnail for two videos in a row. Still, this is fabulous. I look forward to seeing it develop.

  • Has anyone tried to deploy this code, I get AG_E_NETWORK_ERROR when i try do do it.

  • Could I get just a little guidence? I'm not bad at reading code as a way to learn the new technologies, but I'm not clear on how one actually does the deployment. I can open the project in VS2008 Beta2, now, how do I deploy it to a test web site? Thanks.

  • Hi Tim,

    We struggled for a day or so, getting a local Silverlight application to reference SLS media.  Here's part of what it took:

    function createSilverlight()



    source: "Page.xaml",

    parentElement: document.getElementById("SilverlightControlHost"),

    id: "SilverlightControl",

    properties: {

    width: "100%",

    height: "100%",

    version: "1.1",

    enableHtmlAccess: "true"


    events: {},

    initParams: "remoteMediaURL=streaming:/XXXXX/d80dcab94fce44b59b1057bba1696cb5/Lake.wmv"



    The nugget here is the source points to a local Page.xaml but the initParams get munged when you call the CreateHostedObjectEx().

    It turns out that the WebApplication.Current.StartupArguments works great in Silverlight 1.1

    IDictionary<string, string> startupArguments = WebApplication.Current.StartupArguments;

               string strText = startupArguments["remoteMediaURL"];

    Go Silverlight!

  • Is there a dedicated project page/site for this yet? I'm sure we'd all love to jump in and contribute/query :)

  • As regards the MS Public License, can the code released under thsi, be used in Commercial applications?

  • Rupak, but of course! We're keen for you to use it in whichever way helps your business. Incidentally, there will be a new release out tomorrow, so stay tuned to

  • Where's the new release? :) I'm experiencing network errors all the time now when trying to view new movies.

    Would love to know how this is all developing, especially the video hosting side. I want to get a beta of our implementation out asap.

  • Wicked.  Is this a replacement for the Blueportal kit on Codeplex or something  completely different?  

  • 【来源: Tim Sneath 】 如果你在学习Silverlight或者想建造一个录像网站,那么 Tim Sneath推荐的 这个刚刚在CodePlex上发布的项目, Video.Show ,是个非常有参考价值的项目

  • Summary I ran into an interesting issue a few months ago with IE8 support on sites which use ASP.NET

Page 2 of 2 (26 items) 12