Engineering Windows 7

Welcome to our blog dedicated to the engineering of Microsoft Windows 7

Media Streaming with Windows 7

Media Streaming with Windows 7

We’ve blogged about a number of features related to home networking and media in Windows 7.  A scenario which brings all these together in a pretty cool way is Media Streaming.  This scenario allows you to use a Windows 7 PC as a hub for media sharing—where you can share media with other PCs and devices on your home network via streaming, and even stream this information securely over the internet.  Scott Manchester on the Devices & Media program management team coordinated this post, but as you will see it represents work across the Core User Experience, Media Center, Networking, and even Windows Live chose to take advantage of the new APIs in this scenario.  This is a pretty detailed post and there’s a lot to try out.  Those of you using the RC to test things out, you can always install on another PC and use it for the 30-day period without requiring a new PID key.  Have fun!  --Steven

Windows 7 includes a number of exciting new media streaming features that enable you to enjoy your media collection on other PCs and devices in the home and while on the road from across the internet. We’ve created a networked media experience that is more friendly to use and simpler to set up. Now enjoying music, pictures, and video on your network connected PC or media device “just works” without concern for media formats, transports, or protocols.

There are a growing number of Network Media Devices (NMDs) certified to interoperate using an open and widely embraced industry standard called the Digital Living Network Alliance (DLNA). Windows 7 implements this open standard, which means that sharing media between NMDs, Windows PCs, Windows Home Server, and Extenders for Windows Media Center (including Xbox 360) is easier and more natural. Supporting this standard also means that the myriad of NMDs such as electronic picture frames, network radios, televisions, and others are companions to Windows 7 PCs and may seamlessly participate in the whole-home media experience.

Not Just for the Techie

We made it much simpler to configure media streaming. Before Windows 7, media streaming features were focused on media enthusiasts. To improve the setup experience, media streaming has been integrated with the new HomeGroup feature so in a typical home network configuration, media streaming is enabled and works by default. There is also a new “Stream” menu prominently displayed in the Window Media Player user interface (see figure below) that exposes simple scenario-based configuration options. These options allow you to:

  1. Set up your home PC so you can access your media libraries while away from home
  2. Allow other Windows 7 PCs and devices to push media to your Player and control it
  3. Quickly authorize all home PCs and devices to access your media collection

Each of these scenarios will be discussed throughout this post.

Configuring the stream options in Windows Media Player

HomeGroup introduces the concept of “shared libraries” for music, pictures, and video. As described in a previous blog post, these shared libraries are accessible from within the navigation pane of Windows Explorer and Windows Media Player, and from the “shared” view of each media category within Windows Media Center (see figures below). The scope of these libraries is the same from each of these views.

Libraries shared between Media Player and Media Center

Media Center

Windows Explorer will automatically discover and provide access to shared media libraries on other HomeGroup PCs. In addition, Windows Media Player and Windows Media Center will automatically discover shared libraries from:

  1. Windows Media Player 11 and 12
  2. Windows Home Server
  3. All DLNA compliant media servers (e.g. network attached storage)

Who Can Access My Shared Media Libraries?

A HomeGroup is a secured set of Windows 7 PCs that can view and consume each other’s media seamlessly. Sharing is automatically set up among HomeGroup PCs and HomeGroup settings allow you to choose what types of media you would like to share; for example, you may choose to only share your music library and not your video or pictures.

Changing homegroup settings

In addition to all HomeGroup PCs being able to access your media, we made it easy to allow devices to access shared media libraries on Windows 7 PCs. This can be done conveniently from either HomeGroup settings or within Windows Media Player:

Enable streaming.

Allowing devices to share media from Media Player

You can also choose to restrict which specific PCs or devices have access to your media by choosing “more streaming options…” from the Windows Media Player “Stream” menu.

Restricting sharing to specific devices.

Play To: Windows 7 as a Universal Remote Control for your Media Collection

In addition to playing media streamed from other shared media libraries within Windows Media Player, Windows 7 can now send media to be played on other Windows 7 PCs and DLNA-certified digital media renderers. We call this feature “Play To.” With “Play To,” you can browse or search from within Windows Media Player or Windows Explorer to find your desired media, and then choose where you want it to be played. A versatile remote control window is presented for each “Play To” session, providing you with the ability to control the entire experience.

Choosing the Play To device in Media Player

Choosing the Play To device from Explorer

It does not matter where media collections are stored. “Play To” is available for both local media libraries and for shared media libraries. If you would like to send media from one Windows 7 PC to another, choose “Allow remote control of my Player” from the Windows Media Player “Stream” menu on the receiving PC. This will cause Windows Media Player to be discovered in the “Play To” menu of other Windows 7 PCs on the same network.

Allowing remove control of the player

When media streaming is enabled on your Windows 7 PC, “Play To” will be available in Windows Media Player and Windows Explorer via the right click menu for media items. If Windows 7 has not discovered a “Play To” capable PC or device on the network, this context menu will not be available. DLNA provides guidelines to certify different device categories and roles. Not every DLNA-certified device supports the “Play To” feature. Look for DLNA-certified Digital Media Renderers (DMR), and for the best performance, look for DMR devices that carry the “Compatible with Windows 7” logo.

Compatible with Windows 7 logo

Once you’ve selected media items to play on another PC or device, a “Play To” remote control window will launch providing standard controls like play, pause, stop, skip forward and backward, seek forward and backward, volume, and mute. Not every device will support all of the control features and some media types may not support seek. Once the “Play To” remote control window is launched, you can reorder or delete items, add to the queue, or toggle repeat. It’s even possible to add new media items from Windows Media Player or Windows Explorer by dragging them into this window.

Play To remote control window.

There is no artificial limit to the number of “Play To” sessions you can launch. You may send pictures to a picture frame, video clips to a TV, and music to another Windows 7 laptop all at the same time. Furthermore, different types of media can be sent to a single destination, as shown in the example above.

What About the Xbox 360 and Extenders for Windows Media Center?

Xbox 360 has two ways to receive media streams from other Windows 7 PCs, which we refer to casually as “dashboard” mode and “extender” mode.

In dashboard mode, Xbox 360 functions in the role of a simple media player. While it’s not officially a DLNA-certified device, you can use Xbox 360 to browse the shared media libraries from Windows 7 PCs (there is also support for this in Windows Media Player 11) and pull content from those libraries for playback within the dashboard.

Using Xbox 360 for media playback

Using Xbox 360 for media playback

In extender mode, Xbox 360 (and other Extenders for Windows Media Center) is seen by Windows 7 PC’s on the network as both a Digital Media Player (DMP) and a Digital Media Renderer (DMR) device. Using the Extender for Windows Media Center on the Xbox 360, you can browse media libraries on other computers and pull that content for local playback, similar to the process of using Xbox 360 in dashboard mode. However, in extender mode Xbox 360 will also support “Play To” so that users of Windows 7 PC’s on the network can push content to it. All extenders, when associated with a Windows 7 PC, will be discovered in the “Play To” menu of other Windows 7 PCs.

Internet Access to Home Media

With Windows 7 we’ve also extended the media streaming experience outside the home and allow you to access your home media from anywhere in the world via the internet. We’ve made media streaming over the internet a natural extension of the experience within the home. For the experience to be seamless we needed to solve some significant technical challenges, such as:

  1. Discovery – Resolving the computer name at home to a routable IP address
  2. Privacy – Ensuring the home media is only accessible by authorized users
  3. Security – Encrypting browsing and streaming of media to prevent eavesdropping
  4. Reliability – Network connection speeds, media formats and bit rates, and router firewalls all create potential reliability issues for a seamless experience

To overcome these technical hurdles, we designed a model that uses an Online ID Provider to help facilitate discovery, privacy, and security. The new Online ID Provider infrastructure in Windows 7 allows you to link your Online ID (e.g. you@live.com) with your Windows user account. This enables an authentication/authorization server to provide the necessary privacy to establish a protected link between two Windows 7 PCs (e.g. your laptop on the road and your PC at home). Internet access to home media is enabled from the “Stream” menu in Windows Media Player.

Enabling internet access to home media.

The setup process walks you through linking an online ID with your Windows user account, which must be performed on both the home PC and remote PC. The same online ID must be used on both PCs in order to establish the connection between them. In order for remote PCs to access the home media collection, the PC at home (acting as a server) must be on a “Home” network location. Remote PCs (acting as clients) can browse and receive content streamed from the home PC from any network location (Public, Work, or Home). The network location is chosen when first connecting to any network and can be changed later from the Network and Sharing Center.

Specify the network to be a home network

Reliability - Network Connection Requirements

Streaming media over the internet from home works best with an “always on” broadband connection. Broadband uplink speeds vary from a modest 200Kbps to 10Mbps or more. Downlink connection speeds will also vary from crowded hotspots, hotel rooms, and wireless network connections in friends’ homes. Regardless of the uplink or downlink speeds, we wanted to ensure that even high bit rate content (e.g. high definition recorded TV) could be streamed with a good experience. The internet media streaming feature uses advanced bandwidth detection algorithms and end-to-end network heuristics to determine how to stream content that is at a higher bit rate than the smallest link in the network path.

Another challenge with internet access to home media is creating a peer-to-peer connection between the remote client PC and the home PC serving the media. A typical home network will get a single unique IP address from an internet service provider, and this IP address is shared by all the devices and PCs in the home using Network Address Translation (NAT), a function of an Internet Gateway Device (IGD) or Wireless Router. This creates a challenge for a remote PC or device to make an unsolicited connection inside the home, both in terms of resolving the home’s unique IP address and traversing the NAT to communicate directly to a unique PC or device on the home network.

Windows 7 employs some advanced NAT traversal technologies to establish the peer-to-peer connection and, with most IGDs, will allow a reliable connection to the home PC from any remote PC. For best results you should use a wireless router or IGD that has been certified by the Windows Logo program.

Media Formats

In Windows 7 we let you enjoy the media you want and don’t trouble you with the need to know about file types or codecs in most cases. (For more details, see Table 1 below). In addition to supporting local playback of new formats, we can also ensure that the content will play on devices that may not support the codec, bit rate, container, or format of that content. We accomplish this by using the new transcoding support in Windows 7.

Let’s say for instance you have a DivX movie you want to watch on your new DLNA certified television which only supports WMV and MPEG2. Windows 7 will determine the capability of the TV (codec, bit rate, etc.) and dynamically convert the DivX video to a format the TV can play. The general rule of thumb is: if Windows Media Player can play the content on the PC then the content will almost always play back on the network connected device. Bandwidth estimation techniques are used for media streaming within the home and over the internet, which enables Windows 7 to transcode using the most optimal format and bit rate.

Table of media format support.

 Table 1: New Decoders in Windows 7

The format and bit rate chosen for transcoding, especially for video, is highly dependent on the CPU performance of the transcoding PC as identified by its Windows Experience Index:

Windows Experience Index

We also created a flexible model for silicon partners to provide hardware accelerators that automatically work with media streaming and other Windows 7 features. This new acceleration model allows hardware developers to build media foundation proxies for media format encoders and decoders that are fully implemented in their hardware (perhaps in a GPU or additional hardware device). With hardware supported encoding and decoding, Windows 7 can offload the computationally demanding transcoding to dedicated hardware as a background task without affecting the CPU performance of the PC.

Digital Living Network Support in Windows 7

The Digital Living Network Alliance (DLNA) is a consortium of more than 200 companies interested in specifying technologies for exchanging media in home networks. The DLNA architecture is based on the UPnP specification, but in addition, DLNA specifies transport protocols (based on HTTP and RTP) and sets of media formats.

DLNA defines device roles (e.g. servers, players, renderers, etc.) and the protocols that these devices use to discover each other and communicate with each other (e.g. UPnP, HTTP, RTP, etc.). Windows 7 implements several of the DLNA device roles (see table 2 below) and it also implements the DLNA protocols required for communications and media exchange. With Windows 7, your PC will be able to interoperate with a broad variety of DLNA certified devices like TVs, stereo systems, cell phones, DVRs, game consoles, etc.

DLNA acronym table

Table 2: DLNA Device Profiles Supported by Windows 7

Because Windows 7 implements several device roles, there are different ways in which you could choose to use a Windows 7 PC at home. The remainder of this section explains the different scenarios.

Scenario 1: You store your music, video, and pictures on a Windows 7 PC. You’ve recently acquired a TV with a DLNA logo. Using the TV, you can browse the media library available on the Windows 7 PC. You can use the TV to watch the video and pictures, and listen to music stored on the PC. Figure 1 illustrates this scenario. In this case, the Windows 7 PC behaves as a DMS. Notice that this scenario was already available in Windows Vista and in Windows XP using Windows Media Player 11.

Figure 1: The TV unit browses and plays content stored in a PC

Figure 1: The TV unit browses and plays content stored in a PC

Scenario 2: You have a Network Attached Storage (NAS) device where you store your music, video, and pictures. The NAS device implements a DMS. You open Windows Media Player on a Windows 7 PC. You can find the NAS device using Windows Media Player, and you can browse the media library available on the NAS device. You can watch the video or pictures, and listen to music stored on the NAS device. Figure 2 illustrates this scenario. In this case, the Windows 7 PC behaves as a DMP.

Figure 2: A Windows 7 PC browses and plays content stored on a NAS device

Figure 2: A Windows 7 PC browses and plays content stored on a NAS device

Scenario 3: You have a cell phone that not only takes pictures but can push the pictures to a Windows 7 PC. You can show the pictures to your friends using the large-screen display of the PC without the need to physically transfer the files to the PC with a USB thumb drive, for example. Figure 3 illustrates this scenario. In this case, the cell phone acts as a DMS and a DMC and the Windows 7 PC behaves as a DMR.

Figure 3: A cell phone pushes pictures for display on a Windows7 PC

Figure 3: A cell phone pushes pictures for display on a Windows7 PC

Scenario 4: You’ve acquired a stereo system with the DLNA logo. On his Windows 7 PC, you’ve accumulated a vast collection of music with thousands of songs. Because your collection is large, you prefer to search, organize, and select songs using the rich capabilities of the Windows Media Player. Once you select the songs, you simply push the songs to your stereo system using “Play To.” You also have a NAS device containing an additional collection of music and video. You can use the Windows 7 PC to browse the content on the NAS device and push it to the stereo system. Figure 4 illustrates this scenario. In this case, the Windows 7 PC behaves as a DMS and a DMC.

Figure 4: A Windows 7 PC browses local content or shared content on the network. The PC then pushes the content for playback in a TV unit (DMR).

Figure 4: A Windows 7 PC browses local content or shared content on the network. The PC then pushes the content for playback in a TV unit (DMR).

There's definitely a lot to enjoy here.  Have fun!! 

-- Scott, Tim and the Devices & Media team

Leave a Comment
  • Please add 3 and 6 and type the answer here:
  • Post
  • I have been lucky and it works for me while streaming from Win7 to my xbox.

    But there are still some nuances that will probably prevent normal users to use this feature even if it works for them.

    1. If I start xbox after media player, media player does not show "Play To" menu. I have to restart media player to make it notice xbox is alive. Not a user friendly thing.

    2. I am on a domain joined computer and win7 keeps turning media streaming off and does not turn it back on when not on a domain. It sometimes turns media streaming off even during restarts, without even changing location to domain network.

    3. Windows explorer also does not discover an active xbox on its own if if was started after explorer. I have at least to press F5 to make it show the "play to" menu. I think that after explorer sees the xbox first time, it should remember it and always provide the play to menu. And if the xbox happens to be not reachable at the moment it could at least tell me to turn it on.

    4. Once you manage to play a file to xbox a window with a play list pops out. There are just very limited controls.

    - There is no fast forward.

    - There is no skip x sec forward nor backward.

    - The movie progressbar is only able to jump to fixed positions that are too far away in time for a standard movie (50s for a 90min movie). I cant imagine how it would feel watching something that is 3hours long and only be able to jump in minutes. I often want to jump back 5-10 secs if i miss something in a movie. Here you only can jump 50s!!!

    - The progressbar does not show time information when you hover over it so you even dont know where you would jump if you pressed it.

    - The active item in the list only shows remaining time and you cannot change that

    - There is a volume control same as in media player except this one does not work. Works just for muting although it has the side arrow near it.

    5. Pressing fast forward or backward on xbox media center remote screws playback up. Sometimes it jumps to start. Sometimes it just stops playback with no way to resume it (except from pc).

    6. Even pressing jump forward and back on xbox remote only jumps in 30s increments.

    7. Still no subtitle support even if it should be much easier to implement on PC than xbox.

    I am sorry to say but for me it is far more comfortable to use xbox's own media browsing and playing than this thing. It is a bit dissapointing since all the obstacles that limit you on xbox media center remote are not present on PC as a platform. So making a powerful player with powerfull controls is much easier on PC where you can use keyboard, mouse etc.

    I am also sorry cause i know that even though you have pioneered this technology and brought it where it is, someone else will come and make it usable for normal users. And that will sadly be Apple.

  • I saw that many of you are disappointed that about streaming MVKs using WMP12. You should check out the new technology preview we are doing at DivX Labs. It is a Media Foundation-based MKV splitter. With it you can do all of the cool Media Foundation stuff (Media Center Extenders, remote streaming, UPnP, etc) for MKV.

    http://labs.divx.com/mkvwin7preview

    We welcome your feedback on it in our forums: http://labs.divx.com/forum/290

  • Go Win 7 team Go...

    Please keep adding more. A great one is adding Workspaces like in linux. You would of course be able to turn on or off. I do use something like this thats under 400k in size and it's great. I'd just like to have this built into Win 7. Really it shouldn't be that hard for such professional programmers.

  • What about existing Vista/XP systems with UNC shares? I know W7 can access these shares, but those non-W7 computers cannot access the W7 HomeGroup or even non-HomeGroup shares.

    Many of us have a mixed network with XP, Vista, Linux, Mac or other possible Operating systems. HomeGroup settings make it so only other windows 7 computers that can access this streaming and shared data are those also in the HomeGroup.

    Another point where problems comes in is the UPnP vulnerabilities. Forcing people to open up UPnP on their network also opens up a slew of possibilities for external hackers and viruses that exploit UPnP. Any smart network admin knows one of the first settings you disable in networks and shared computers is UPnP.

    Lets hope Microsoft wises up and makes some sort of program either via secured VNC, secured UNC or secure link layer protocols to allow non Windows 7 computers to join or access the data. I know of too many HTPCs using various linux distros that are left out in the cold from retrieving shared content from Windows 7 shared data.

  • Hi

    Why are there no themes for hte windows media center in windows 7?

    I think the color blue is pretty boring. I prefer the color black in windows media center. Why not create some color themes for Windows Media Center in Windows 7 the users can choose from?

    I also think the new windows media player in windows 7 is missing or something coolnes. It looks boring and flat. Why not use some kind of 3d effects to spice up the cd covers and make it cool..

    And what about mkv. "Matroska Video File Type" codecs plugin. it is so widespread that it is a shame it is not a part of windows media player i Windows 7

    greetings

  • Where is the radio and TV stations along with support in Windows Media Player? There should be a tab for the radio stations in libery. I think more and more radio and tv stations goes to ip transmitting in the years to come.. A big wish ..

  • My MediaCenter PC W7 with a TV tunner always on, but not the beamer that's attached on it.

    My laptop, W7, i use it to do my work.

    **NOW** tell me how i can record a TV program or configure my TV guide to record a program when i am sitting in my study room with my laptop!!

    I can't... i have to open RemoteDesktop to control my TV... that is silly. Why i can't use the Mediacenter capabilities on my laptop to control the MediaCenter of my PC?

    (and still no support of DVB-C)

  • I have an Netgear EVA700 box connected via a wireless network. There are two computer in the house, one running Vista servicepack1, and the other running windows 7. Playing DIVX files on the netgear works fine for VISTA, but the same file when played via the windows 7 beta version has much poorer picture quality (diagonals are stepped, and panning is very jerky). Even worse the video restarts about 10 minutes into the program. I have tired several files and the results are the same.

    I have tried copying the file to an USB stick and it plays fine when the usb stick is set in the player, in other words its not the file (usb works fine) or the network (the vista machine works fine) It can only be either windows 7 or the mediaplayer 12.

    I can understand a bug causing the restart, but the large difference in picture quality, I can not understand. I thought that all the video processing took place in the netgear EVA700, and that all the computer was doing is sending the file over the network, otherwise I do not understand how the EVA can play from a USB stick. Does anyone else have a similar experience? I have now droped using wmp12 to strean and started using TVersity medias server which works fine.

  • It looks great, but I didn't find the equalizer in Media Player. I think it's very important feature for low quality music.

  • im having a very similar if not identical issue as the one pointed out by vistise. i am using linksys dma2200 and 2100 as extenders and have them setup and working with windows 7. the very annoying issue is the extremely long loading of the file (about 50 seconds). additionally once the media center iface goes black as if the file is ready to play, on the right hand side of the screen the message "buffering..." appears for another interminable amount of time. The file then starts playing but the time bar at the bottom, when invoked by pushing either the play or the pause button on the remote, displays wrong time elapsed and duration. Fortunately i have found a temporary workaround both for the "buffering..." message and the wrong timings: by pressing the pause and then play again buttons on the remote the time bar at the bottom seems to correctly display the time details. Ah,i also have the weird aspect ratio and poor video quality issue but have solved it just by replacing the fourcc info with "xvid".

    Note that all these issues have come up only with windows 7. all my pcs with vista do not experience them.

    many thanks

    David

  • modern classic furniture

    http://www.honzon.com

    modern retro egg chair

    http://www.honzon.com/products/Egg-Chair.html

    modern retro swan chair

    http://www.honzon.com/products/Swan-Chair.html

  • modern classic furniture

    http://www.honzon.com

  • Here's some feedback on this for you:

    I just spent 30 minutes trying to get my xbox to see the media I had in my library. Apparently just sharing it isn't enough! I had to go in to "customize" the options for the device, uncheck the "use default" and manually click "Make all of the media in my library available to this device". WTF? My default settings are "all ratings", so why wouldn't I want all media shared? Even worse, I have no frickin' idea where the options for choosing what media is shared by default is actually located.

    How you expect a casual user to navigate this mine field I'll never understand.

  • but are so slow for showing pictures and video that it is unusable for that purpose.  I have instead setup a HTPC connected directly to the TV to deal with that.  After considerable time setting this up, changing the OS on the HTPC is NOT something I want to deal with in the near future.

  • when invoked by pushing either the play or the pause button on the remote, displays wrong time elapsed and duration. Fortunately i have found a temporary workaround both for the "buffering..." message and the wrong timings: by pressing the pause and then play again buttons on the remote the time bar at the bottom seems to correctly display the time details. Ah,i also have the weird aspect ratio and poor video quality issue but have solved it just by replacing the fourcc info with "xvid".

Page 3 of 10 (141 items) 12345»