Flash in windows media center

Since my TunerFreeMCE code has been out there for almost a year now, I have picked up a fair bit of experience of playing flash on windows media center.

Most of the TV companies who provide flash video do so using the Akamai tech stack to secure and stream their content. They build their own custom flash players on top of that to provide their own flavour to the players, e.g. related videos and so on. The probably intentional side effect of this is that it is really not trivial to get in to their flash streams and do anything with it. It’s not like the have an rtmp url easily accessible for you to get hold of. There are ways of doing it, but not easily. There is for example a project on sourceforge called rtmpdump (http://sourceforge.net/projects/rtmpdump/) which allows you to download flash videos from the BBC and from Hulu.One of the biggest problems with the TV companies building their own flash players is that they typically don’t build them to interact with the remote control – i.e. they don’t listen for key presses, or have useful javascript hooks to send messages to the player. I have at times overcome that in the past by building custom versions of the flash players. That’s time consuming and annoying.

Another annoyance with flash is that it is not supported in MCML – the vista and windows 7 presentation layer for writing media center applications. That means that any application like this has to exit MCML and enter html to play flash content. That’s not that hard to build, but it does have the additional pain that you can’t use the MCMLPad debugger with the code any more, because it’s not compatible with the Add-In required to go to html. Doesn’t effect the end user, but is a pain for the developer.

A further annoyance is Flash’s full screen behaviour. For some security reason, they don’t allow any mouse or keyboard input to be received by the flash player when in full screen, except the escape key. Probably to avoid someone creating a fake version of your PC and tricking you in to doing things, but its much more of a pain than a benefit in my opinion. That means that to pick up remote event, you need to exit full screen. You could just have a large flash window to work round that, but flash add some hardware acceleration in full screen mode that you miss out on with just a large flash player.

The really big problem with flash though is extenders. The way that extenders work is that they have one dedicated channel for music and video, and everything else is sent via a remote desktop connection. Microsoft have a great article on it here;

http://msdn.microsoft.com/en-us/library/bb852206.aspx

To summarize it though, you will get WMV, MPEG-1, MPEG-2, WMA, MP3 and WAV-PCM to play fine on an extender, and everything else is routed over the remote desktop protocol, which has quite a few limitations. Most notable of those limitations is that the frame rate is poor, and in some cases no sound (I have never worked out why no sound – if anyone knows the explanation, I would love to know). Microsoft’s advice is not to use flash on extenders. It’s a shame they didn’t make a flash engine part of the technology requirements on the extender, but it’s too late for that now.

As part of the windows 7 beta testing, I grilled Microsoft on support for flash in the MCML layer and on extenders. Unfortunately the answer is that they don’t see it as a priority at this time. I think that is very short sighted given the direction that online video is going. Over the past year, I have noticed more TV providers move away from WMV to flash, because it is cross-platform compatible. That gets the Mac and Linux lobbyists off their backs. I also suspect that the DRM on WMV being cracked didn’t endear that format to them either.

So, since the future of online video for the moment lies with flash, and Microsoft aren’t interested in providing better support for that in media center and extenders, the only real way of getting great support for online video in media center is for someone to write a transcoder for converting the flash stream to WMV or MPEG-1/2. Since the flash streams typically contain H.264 video for high def, simply unpacking it from the rtmp stream isn’t enough for it to play on extenders or pre-windows 7 media centers, since they don’t support that video format. That conversion is not a trivial thing to do on the fly (as opposed to downloading the whole thing first then converting it).

I am hoping that this mini-essay on the topic is going to prompt someone out there to start an open source project to convert flash streams to a media center compatible format. There are lots of add-ins that would benefit from it, like my TunerFreeMCE code, Yougle and I’d imagine SecondRun.tv when it gets release, so go on someone, make a name for yourself by taking up this challenge.

Tags: , , , , , ,

16 Responses to “Flash in windows media center”

  1. […] the post: So, since the future of online video for the moment lies with flash, and Microsoft aren?t […]

  2. […] This post gives bad news: Flash is not coming to MCE anytime soon. […]

  3. Rolf says:

    I installed TunerFreeMCE and it doesn’t seem to load any Hulu.com content for me – the plugin just hangs when I select a show. Thought you’d want to know.

    Great idea though; there’s a huge need for this sort of plugin. Have you ever considered open-sourcing it?

  4. Does it hang when you select a show or when you select an episode for the show? When you select an individual episode, it should navigate to the Hulu web site. If it isn’t doing that, it may mean that media center has been set to not display web content that is not suitable for media center.

    The code is open source. The source code is available at sourceforge. See my main site for details.

  5. RK Reddy says:

    Very good analysis i know microsoft want to bring silverlight in the place of flash.But still tey dont provide silverlight support in mce

  6. luis franco says:

    Hi. There is a online service that could probably be used to convert on-the-fly the flashvideos in avi format for viewing. Check http://vixy.net. Maybe you can make an arrangement with them for the service in tunerfreemce… :)…

    Btw I’m interested in adding portuguese channels to your app. There are a few portuguese sites that could be used for the content.
    Please send me an email if you’re interested and in guidelines in the best way to colaborate with you.

    Best regards.

    luis franco

  7. James says:

    any chance of integrating sling.com like you did with hulu? it has more content than hulu. i am asking here as it uses a flash player….

  8. Thanks for alerting me to that. I hadn’t seen it before. Looks really good. I’ll bear it in mind for future.

  9. Martin says:

    How can I add extra “channels” ? I would like to be able to use Windows Media Center to let my children watch Smile of a Child TV on the television as we cannot afford satellite tv.

  10. Hi Martin,

    it’s quite easy to create a plugin to add your own content. There are instructions here;

    http://www.milliesoft.com/index.php?option=com_content&view=article&id=62:tunerfreemce-plugin-creation&catid=4:tunerfreemce&Itemid=18

    in your case, I think that there is only one “program” you want to add, which is for the Live TV. To get the code to pick that up you can create a local xml file with the appropriate content in it and point the plugin to that. If you get stuck, e-mail me and I can help. Please send the plugin when it is done and I can add it to the site for others to use too.

  11. Hi, I came across this post while looking for help with Microsoft Silverlight. I’ve recently changed browsers from Google Chrome to Mozilla Firefox 3.1. Now I seem to have a problem with loading websites that have Microsoft Silverlight. Everytime I go on a site that requires Microsoft Silverlight, my browser freezes and I get a “npctrl.dll” error. I can’t seem to find out how to fix the problem. Any aid getting Microsoft Silverlight to function is greatly appreciated! Thanks

  12. Great post. If you wish to listen to BBC Radio on the iPhone – I strongly recommend BBC Streams – it is easily the quickest and most reliable way to listen to BBC Radio on the iPhone, iPad or iPod Touch and it’s free at BBCStreams.com.

  13. David Maggard says:

    I don’t know if you will see this but I am curious if the addition of Flash for Internet TV in Windows 7 MC does that give us any ability of adding Flash in easier/better ways, or allow support of extenders?

  14. Have a look at this entry;
    http://blog.milliesoft.co.uk/2009/11/flash-in-media-center/

    in short, it wouldn’t help on extenders, and it’s not available to developers yet.

  15. smnbss says:

    From your experience, so you think MS will be smart enough to enable at least html5 in MCE ? :)

  16. I very much doubt that Microsoft will release a new version of media center in the windows 7 timeframe. As far as they are concerned, it basically works. So I doubt that we will see html5, or flash, or any other improvements in windows 7 media center ever.

    I imagine that microsoft are thinking beyond media center on a PC for post-windows 7, i.e. widgets embedded in a TV, or embedded devices rather than requiring a full blown PC running on the front end. Who knows what that’ll be based on?

Leave a Reply