HME (Home Media Ecosystem) for Windows XP Embedded

HME (Home Media Ecosystem) for Windows XP Embedded

  • Comments 3

Overview

HME (Home Media Ecosystem) is new with Windows Media Player 11. This feature allows a Windows-based system to serve streaming media to client devices, which can be Windows Vista systems or other embedded devices (such as an Xbox 360). HME is very useful for embedded applications, as it turns Windows Media Player into the core of a set-top-box system. HME is available for Windows XP Embeded as of the Windows XP Embedded Update Rollup 1.0 release. This article shows how to build and configure an XP Embedded image that can act as an HME server.

Building the Image

It is fairly straightforward to build an image with HME: just build an XP Embedded image that includes the Windows Media Player 11 and the Winlogon components. All other dependencies will be brought in upon dependency resolution, including the new Windows Media Format Runtime 11 component, which contains the WMPNetworkSvc service. The service is implemented in wmpnetwk.exe and shown as “Windows Media Player Network Sharing Service” under Service administration.

Service installation

When the image is built and passes a successful FBA, you’ll be able to confirm that the service is installed on your image by seeing this line in the FBA log:

[FBALaunch] C:\Program Files\windows media player\WMPNetwk.exe install (ExitCode: 0x0)

Enabling the service

Booting into the image, HME is not enabled by default. To enable HME, just share some media from the embedded box, by following the instructions at http://www.microsoft.com/windows/windowsmedia/player/faq/sharing.mspx, under “how do I turn on media sharing?”.

If you have sc.exe on your image (from the Service Command Line Tool component), you’ll be able to confirm that HM is running by using the following command:

C:\> sc query WMPNetworkSvc

SERVICE_NAME: WMPNetworkSvc

        TYPE               : 10  WIN32_OWN_PROCESS

        STATE              : 4  RUNNING

                                (STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)

        WIN32_EXIT_CODE    : 0  (0x0)

        SERVICE_EXIT_CODE  : 0  (0x0)

        CHECKPOINT         : 0x0

        WAIT_HINT          : 0x0

 

You can also use sc.exe to programmatically enable the service (use “sc start”).

Important Note: You will NOT be able to enable HME on an image that has the Minlogon component configured. The HME service must be configured to run logged on as “NT AUTHORITY\NetworkService” (it is so by default), and never to run as SYSTEM (or “local system account”).

What is shared?

The service allows remote systems on the same subnet to access all media on the server’s Media Library (as understood by Windows Media Playe). In that manner, you control what is shared by adding and removing media from Windows Media Player’s library.

This is very similar to regular Windows file sharing, except that there is no authentication, since it is meant to work in a trusted environment (such as that of a LAN in a private home). Access to the server is blazingly fast, compared to traditional Windows file server.

A quick test for the server is to plug a Windows Vista (it must be Vista, as the Windows XP version of WMP11 does not have an HME client) on the same subnet, and observe that the media library on the remote computer shows as an additional node under “library”:

By clicking on that node, the client is able to browse and play media on the server.

CODECs and transcoding

It is important to notice that media can only be played on a client if the client has the CODECs to play that media. Windows Media Player’s HME system has built-in CODEC negotiation and transcoding – such that media is converted on the server before streaming so that it matches one of the CODECs installed on the client. That process, however, only works if both client and server share at least one common CODEC for the type of media being streamed. So you’ll want to carefully evaluate your usage scenarios, and pre-install CODECs on the XP Embedded image to meet client-side expectations.

Conclusion

HME is an important feature of Windows Media Player, which is sure to find its way into embedded applications. XPe’s Windows XP Embedded Update Rollup 1.0 makes it fairly easy to configure and use HME on Windows Embedded systems.

- Alex

  • rdi uk distance learning courses

  • I have windows media server installed. I can get one if my files to play and any of the files microsoft makes available. But any of my other files do not work. I can stream it on that one machine or any other machine but not when I call it from one machine to another (over the network I keep getting a Connecting media message. I have no idea what is happening and I have investigated this for a month without success. Any help would be so appreciated.

    Thanks.

    JenniferLott@IamMorrison.com

  • Hi,

    You might want to post your question on the Windows Media Center newsgroup -http://www.microsoft.com/windowsxp/expertzone/newsgroups/reader.mspx?dg=microsoft.public.windows.mediacenter

    This blog relates to another product, namely Windows XP Embedded.

    Lynda

Page 1 of 1 (3 items)
Leave a Comment
  • Please add 3 and 8 and type the answer here:
  • Post