Welcome to MSDN Blogs Sign in | Join | Help

Eric Anderson's Blog

A dollop of all things Media (Center | Extender | Player)
And the winner is...

HD DVD. Now that Blue-ray is officially the last one standing in the blue-laser contest, the prices of HD DVD players have been plummeting. Being in the market for a DVD player, I decided last Friday to buy an HD DVD player to use as a DVD player since it is backwards compatible. I even got 2 HD DVDs in the box and the mailer for another 5 in the mail. So 7 free movies for buying a great player at a cheaper price than most standard DVD players... and the winner is Me.

Media Center Extenders need to be setup on the same subnet as the Media Center PC

I had posted a while back that I had trouble getting my Media Center Extender setup on a different subnet than the PC. I promised details, and I even got a few mails from people asking for details. Apologies for the delay - here, without further ado, are the details.

I live in a community that has fiber connected directly to every home. The catch (besides all the hidden fees you pay when you move there) - you don't actually own the router that sits in the wiring closet. The network provider owns the router, and will not let you configure the router at all. You can however email the network provider and ask them to make configuration changes. The downside of that approach is that they tend to just say no. Since I wanted wireless, I had my own wireless router plugged into their router, and all of my PCs and devices were plugged into that router. I made sure that my router had all of the necessary ports open, but the main router coming into the house, was closed down, which was causing problems. The router that I couldn't touch was configured to the strictest NAT setting, so I couldn't join my friends on Xbox Live. My Xbox worked great as a Media Center Extender though, since it was on the same router (and thus, subnet) as the Media Center PC.

After much talking to my network provider asking them to change some of the router settings so that my Xbox would connect to Live (KB article talks about this here), they agreed to not make those changes. They decided instead to setup my Xbox in the DMZ of the router, so that it alone could brave the cold of the internets without risking the other computers/devices on my network. So I unplugged my Xbox from my router and plugged it directly into theirs - problem solved. I could now play Xbox Live with my friends. Except that now the Xbox couldn't see my Media Center PC, so it wouldn't work as a Media Center Extender. This was a no-go since I primarily use my Xbox as an Extender.

I searched the internets far and wide trying to find out what the problem was now, and even called both the Xbox support as well as my network provider. Nobody knew what was wrong. One day at work, after a particularly frustrating phone call to Xbox support, I went into my developer's office to vent my frustration over the situation. He looked at me a little funny, and then reminded me that he had worked on Extender and knew what my problem was. He proceeded to tell me how routers work, with subnet masks, unicast vs. multicast, etc. I'm not a networking guy, but what he said made sense - and the bottom line is that Media Center Extenders will only connect to a Media Center PC that is on the same subnet.

To get my specific configuration working, I again contacted my network provider and this time had them assign the MAC address of my wireless router to the DMZ of their router, and then plugged my Xbox back into my router and everything worked again. I got my Xbox Live and my Extender working. All of this so that my network provider wouldn't have to open up the ports listed in the KB article above. But there you have it - details. Again, apologies for the delay.

WMP FireFox Plug-in at 6.1M Downloads

I just checked over with the Port 25 guys, and we are at 6.1 million downloads for the FireFox plug-in as of yesterday - nice! Congrats again to the team for pulling this together!

I meant… “Extenders for Windows Media Center” Me

I joined the Media Center Extender team right at the tail end of development, and I’ve been nothing but impressed with the new Extenders. We are starting to see some press roll out as well: http://www.engadget.com/2007/09/06/microsoft-debuts-extenders-for-windows-media-center-adds-divx-a/. Hm… divx support… pretty sweet - who knew? J

What I’d really like to see now is DVD managed copy + remoting and WMV bookmarking… I was happily surprised to see the latter supported with the last Xbox dash update when streaming over WMC. No reason we couldn’t add that to MCE/MCX…

Anyone agree/disagree? Any other ideas?

Vista performance & tying up WMP loose ends

I just read on Steve Rowe's blog about a performance update coming for file copy in Vista. This is great news - copying files has been pretty frustrating for me on Vista, and hopefully this makes it better.

Also, wrapping up some loose ends, the WMP OCX Firefox Plug-in documentation was posted a while back, but I never "officially" stated that it had been. The direct link to the docs is here: http://msdn2.microsoft.com/en-us/library/bb614515.aspx.

Geeking out with file sharing on Extender

Normally I just have my main Media Center PC in the office that I use to keep all of my media content and I use my Extender to view it all in the living room on the TV. Since I’ve been testing the new Extenders at home though, and I don’t want to put test/beta bits on my main system (the wife-acceptance factor is pretty crucial here), I’ve had to setup a second PC.

I don’t want to have to copy over all of my media content from my main system to my secondary that the new Extender connects to, so I tried sharing out and using the folders off my main system. Normally this works pretty simply but just enabling the Guest account on the primary system. In most cases that will enable the second PC (and the Extender) to view the media content off of the primary. Unfortunately that didn’t work for me since I had already shared out my media folders with specific ACLs, which locks them down more tightly than they otherwise would be.

The next method I used to try and get this working was to follow the steps here: http://support.microsoft.com/default.aspx/kb/932306/en-us. I did manage to get it working fine, but I didn’t feel comfortable with that solution since it made me disable password-protected file sharing. I’m not very keen on that idea…

So here is the final method I used and stuck with (for proper attribution - I got this courtesy of Chad Boles).

Here are the steps:

1.       Create batch file called mcx.bat

a.       This file should do “net use s: \\server\share passwd /user:user /persistent:no” to map the server share with appropriate credentials.

2.       Share the directory holding the batch file out with the name “NETLOGON” with read privileges for everyone. Worth noting here is that you should not share this out under the Users directory of the hard disk – Vista will create a different share name for these. When I first tried this, I put the folder in Documents, which created the share path as \\server\Users\eric\Documents\NETLOGON instead of just \\server\NETLOGON. You can ACL the file and/or folder as well to keep your user account and password information protected.

3.       Set the logon script for the MCXn user to “mcx.bat”

 

I’m guessing this isn’t a core scenario for most MCE users today, but with Windows Home Server coming around the corner, this will start becoming more commonplace. We’ll definitely have to look at making this more consistent and simple in the future… in the meantime, hope this helps.

Pika Me

It’s no secret that there’s a new version of Media Center Extender that will be shipping soon (codenamed Pika). I just started using a prototype device at home, and I have to say that I’m pretty impressed so far. I’m an avid 360/MCX user, and while I love the rich 3D experience I get on it, I’ve always been disappointed by the lack of native divx/xvid support. Transcode360 is an ok workaround to the limitation, but my wife will never be able to figure out that to play a file you have to click Info/More and then select transcode. Plus I find that the transcoded file is just low-enough quality to make it not totally enjoyable for me.

Enter Pika in all its native-divx-support-glory. It’s just point, click, and enjoy on Pika – that could be enough to justify me buying one of these when it comes out and using it next to my 360...

 

6/25/07 addendum:

I had posted this to the comments section, but want to make it a little more visible by addending it to the post itself:

I should've been more clear in my original post - I was just so happy to see native divx support, I posted without going into the details. The media pipeline in Pika can handle quite a few media types as long as the hardware can manage the decode. You can see the supported media types for the processor that Chris calls out in his blog here: http://msmvps.com/blogs/chrisl/archive/2006/06/17/101784.aspx).

Our partners that are building retail product choose what features (wired and/or wireless, audio outputs, etc) + formats they will support. As it happens, the prototype device I'm using does support divx - and have I mentioned just how cool it is?! :) You'll just have to wait to see their press releases, but if what I've seen is any indication, you won't be disappointed!

WMP is going on Safari...

 It looks like Apple has listed our WMP Firefox plug-in on their Safari page… I sure hope they tested that scenario before they listed it… http://www.apple.com/safari/download/plugins.html

If anyone’s tried this and gotten it to work (or not), I’d be curious to hear!

Firefox documentation is coming!

It's been taking a little longer than expected, but the updated documentation for the Firefox plug-in is on its way... it will be posted to msdn once it's finished. I have an unofficial FAQ I can send out to anyone who wants more info on the supported design time parameters and scripting interfaces while you wait for the official docs to be posted... just leave me a comment or send me a message through the blog.

On another note, I've moved over from the media platform team in Windows to the Media Center Devices (read: Extender) team. Since I started my blog, I’ve kept a list of potential blog topics to write up when I get a few extra minutes. One of the topics has been to write up about how Extender works in a bit more detail since I had a pretty bad experience figuring out a connection issue I hit last year when I added another router to my network and assigned it a static IP (which put my Xbox 360/MCX on a different subnet than my PC). Anyway, that was number 9 on my list of topics… it’ll probably get moved up now. And judging by how often I’ve been posting, that means I’ll have something posted in about six months instead of two years J

Windows Media Player on Firefox

Alright, you can all breathe a collective sigh of relief as I am actually posting a blog entry. The delayed posting I think is worth it: today we are releasing a new Firefox plug-in for WMP! We’ve been tracking the issues in the forums about WMP showing some odd aspect ratio issues, as well as other bugs under Firefox, and we decided to tackle the problem and write a new plug-in to get this working again. Apologies to all for how long it took and the relative quietness we’ve had on this front – we’ve been heads-down getting Vista shipped and then directly afterwards we started working on this plug-in.

There is an existing Netscape plug-in out there, but we recommend that people use our new plug-in when developing web sites that use the WMP OCX. In a nutshell, here’s what we did with the new one:

  • New robust design that addresses all of the known issues with the old plug-in
  • WMP will now work in Firefox in Windows Vista
  • Support for the WMP OCX scripting interfaces

The plug-in has been scoped to support a subset of the 6.4 design time parameters, so existing sites that want to use the new plug-in may need to update some of their HTML tags. If you use the plug-ins new MIME type though, you can take advantage of fuller design time parameter support, based on 9.0 interfaces. We will have the MSDN documentation updated to reflect the supported tags/elements in the near future. In the meantime, if you want to start using the new plug-in, you can force your sites to use it by using the new application/x-ms-wmp MIME type.

Feel free to leave any feedback on the plug-in here, or contact me with further questions.

Apparently I’m a horrible blogger

…since I’ve let three months go by without a single post. Don’t worry, I have plenty of excuses. The biggest one is that my wife gave birth to our second (and last) baby, so I’ve been a little busy doing that and taking some time with the family. So there you go, that’s why no blogging for the last three months – I’ve been busy doing things like NOT sleeping.

I’ve gotten several questions from people wanting deeper info on my video card post. I’ll try to summarize those replies into something I can post in the next couple of days. I’ve also gotten some mail from people wanting info on SAMI – I’ll try to write something up on that coming up too.

Video card anyone?

The million dollar question these days seems to be what video card people should buy to watch high-definition video on Windows Vista. If I had a dollar for every time I’ve answered this question… well you get the point. So I’m just going to post this info and start pointing people here.

Laptops don’t allow you to upgrade your video card, so there’s not much point talking about mobile parts unless you are looking to buy a new laptop. Laptop video cards are integrated with the mainboard, and how well it will perform is generally a factor with how it was implemented. For instance, an ATI x200 Mobility graphics adapter can do pretty well if it is paired with the right memory – and I don’t just mean the amount of memory, but the bandwidth as well. That card with a good chunk of dual-data channel memory can perform pretty good – pair that same card with single-channel memory and you may not have the best experience. For that reason, you can’t just make a blanket statement about the performance a particular mobile graphics chip – it’s all about the system it ships in. But back to the people who can upgrade their desktop graphics cards…

There are two big players in the discrete graphics market, and if you ask any of your friends what graphics card they’re using at your next LAN party (I’ve only been to one of these but the wife’s ridicule has lived with me ever since), and it will either be ATI or Nvidia. So, that being the case those are the two graphics manufacturers we’ll look at.

Nvidia and ATI took slightly different approaches with their hardware design – Nvidia has dedicated video processor chips on their cards, while ATI has dedicated logic units in their GPUs to handle video processing. Both of these are reasonable implementations, although in theory it seems that there may be some slight advantage in having a dedicated video process unit with Windows Vista. This would allow the GPU to spend more of its time crunching on the 3D-heavy DWM (painting the desktop) while concurrently processing the video stream. In reality, most of the current cards are beefy enough to handle small limitations.

If you go with Nvidia, then minimally I would recommend a 6600GT (note the GT on the end) card for HD content to be watchable. The amount of VRAM and the memory bandwidth are two key HW requirements for getting HD to play properly. The 6600GT has enough of both to work pretty well – I have a 6600GT w/ 128MB VRAM on my main desktop running multi-mon at pretty high res’s and it still works solidly for me on Vista. If you want to pay more money for a card in hopes it will last longer, then I’d recommend a 7600GT or greater.

If you go with ATI, then minimally I would recommend an x800 card for HD content to be watchable. I have an x800 XL card that’s been running Windows Vista x64 for the last year, and it has been working very well – and I keep the TV going through Media Center perpetually on this box. If you are willing to shell out more money and get one of ATI’s newer cards, then I’d recommend an x1600 or greater.

Building a playback app (DShow vs. MF vs. OCX)

If you want to add audio/video playback capabilities to your Windows application, you have several options to choose from. For tighter control, you can take advantage of the API exposed in lower-level infrastructure components, like DirectShow, the Format SDK, or Media Foundation. If you just want generic, universal playback functionality, you can use the WMP OCX.

I think it’s a common misconception that the OCX is only used for embedding in web pages, in places like gamespot.com or cnn.com. In fact, the OCX can be embedded in a standalone app and used solely for its playback infrastructure, without the user even knowing that it’s there. Media Center for example uses the OCX for some of its playback paths even though from the user perspective, you wouldn’t know that there are completely different pipelines being used when switching between DVD, TV, or WMV.

In Windows Vista, there are a lot of benefits to using MF, including enhanced glitch resilience. But there are still limitations in terms of the video formats supported natively in MF, and a simple intuitive programming model. DShow has been the defacto Windows A/V standard for the last several versions of Windows, but it doesn’t have a high-level API to program to, neither is it particularly resilient to system load in Windows Vista.

The OCX provides a sophisticated playback model that spans all the different pipelines, while maintaining a relatively easy API. Rollover is a big piece of functionality that the OCX provides, in that it will always choose the most optimal playback pipeline and then roll back as it needs to. The OCX also has some limitations in terms of overhead (namely playlist support) and trying to overlay text or other UI on top of the video (including if you try to use a non-rectangular video surface), but it is otherwise a solid mid-weight playback solution.

For future versions of Windows we’re looking at simplifying the playback story – making it easier to embed playback functionality into apps without having to deal with the complexities of different playback infrastructures  without some of the current limitations in the OCX.

 

11/2/06 Addendum:
I just came across a whitepaper that a coworker of mine wrote that goes into a bit more detail on this for those that are interested. I would’ve taken it a different direction - maybe started it off with a joke about three guys who go into a bar - but hey, it’s still a good write-up. Enjoy!
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/t_d_migrating_from_directshow_to_media_foundation__cyor.asp

Who’s got the better WMP – Vista or XP?

By now, you’ve probably downloaded Beta 2 of WMP 11 on your Windows XP system. Is it better? There are quite a few blogs already debating that topic, but if you ask my opinion – it is. This is the first version of WMP that I can actually use to manage my music collection instead of relying on Windows Explorer – so in my mind, that is definitely a step forward. But usability and pretty/ugly UI are not what I want to talk about in this post, so I digress…

You also may have installed a Beta or Release Candidate (RC) of Windows Vista and tried that version of WMP. It looks and feels just like WMP11 Beta 2, but there is quite a substantial difference between them, and that is in the infrastructure it uses to playback media content. The playback infrastructure has been mostly replaced by Media Foundation, which is a new media platform technology only available in Windows Vista.

Media Foundation (MF) is the next-generation media pipeline technology that we’re betting on to replace DirectShow in the long term. Windows Vista is a much more sophisticated OS and has higher constraints on the hardware required to run it – one of the biggest new features is the Desktop Window Manager (DWM), that allows for the desktop to run in 3D. Video itself has been projected onto 3D surfaces since Windows 2000 (thanks to the Video Mixing Renderer), but in Windows Vista now it is only one 3D surface of many that has to be timed/mixed/composited all in real-time – and oh, don’t drop any frames! It’s quite a challenge, but Media Foundation offers resilience to all of the other goings-on in the system, and helps to keep audio/video flowing freely through the pipeline (much like the internet, the a/v pipeline is not a truck… it’s a series of tubes… oh wait, wrong topic J). MF can be a separate blog topic if people are interested in digging into specifics – I’d rather keep this post focused on the playback infrastructure.

If you’ve been running the Windows Vista betas, you may have hit some pain points where videos that used to play on XP now won’t play on Vista. I’ve spent the better part of this last year tracking down this sort of issue, so I know your pain. A/V playback is not an easy problem to solve when you’re building it on a house of moving parts – new graphics driver model, new desktop compositing model, new a/v pipeline, and new apps sitting on top of them all – but we’ve come a long way and it’s really taking shape. A helpful aspect of our design with the playback infrastructure that WMP uses (and MCE to some extent), is the ability to rollback to legacy playback mechanisms if there is an error trying to play certain media content. WMP (and the OCX) will rollback to DirectShow or Format SDK pipelines, so that the file will just play.

If you have feedback or questions on this post, let me know. Or let me know if there’s a specific topic you’d like me to hit!

Eric

Page view tracker