Windows Media Center

Windows Media Center is a digital video recorder and media player developed by Microsoft. It is an application that allows users to view and record live television, as well as organize and play music and videos. The application is included in various versions of Windows XP Media Center Edition, Windows Vista Home Premium and Ultimate and all editions of Windows 7 except for Starter and Home Basic. It is also available as a paid add-on for Windows 8 and Windows 8.1.

Media Center can play slideshows, videos and music from local hard drives, optical drives and network locations. Users can stream television programs and films through selected services such as Netflix. Content can be played back on computer monitors or on television sets through the use of devices called Windows Media Center Extenders.

It is possible to watch and pause live TV with support for up to four TV tuners or two dual-tuner cards (a maximum of two tuners outside of the United States). These TV tuner cards can support TV broadcasts in Standard Definition as well as high definition video through DVB-T and ATSC standards. These standards are unencrypted broadcast television. It is possible to view encrypted private network television stations that are not broadcast over the air with internal and external tuner options that support the insertion of a CableCard provided by the Cable TV company. Many brands of tuner cards allow connection of traditional TV antennas to the RF connector on a PCI or PCIe expansion card that is installed within the PC with Windows Media Center functionality. As of now, Windows 8 Developer Preview may replace Windows Media Center as Xbox Live.

Windows Media Center has since been discontinued as of Windows 10.

History
Originally codenamed "Freestyle" during development, Windows Media Center was first included with a special edition of Windows XP called Windows XP Media Center Edition. A new version of Windows Media Center was included in Windows Vista Home Premium and Ultimate editions. The user interface was redesigned and tailored for the 16:9 aspect ratio. Support for multiple tuners was added in later releases and varies depending upon the version of the operating system purchased. Also introduced to U.S. users was Internet TV, which allows access to streaming content through the Media Center interface.

Microsoft later updated Windows Vista Media Center with a feature pack known as TV Pack 2008. This release, which was previously codenamed "Fiji" was only made available via OEMs for new computers that came preinstalled with the update. It is not available as an update for existing Windows Vista Media Center users. The update tweaked the user interface, replaced the .dvr-ms filetype with .wtv files, added support for digital subchannels, QAM, as well as increased the total number of each type of tuner allowed, added DVB-S and MHEG. In the beta there was support for H.264 (which allows for DirecTV) streams, however that feature was removed from the release version.

Much of the functionality added with TV Pack 2008 was included with the version of Media Center included in Windows 7, along with an update to the user interface.

Features
Media Center uses TV tuner devices to play back and record TV shows from standard antenna, cable or satellite signals. Users can record television programs manually or schedule recording via the electronic program guide. Recordings can be burned to Video DVD or, barring copy restrictions, be transferred to a portable media player. Media Center supports both analog and digital tuners and allows up to 4 of each tuner type [Analog, Digital OTA, Clear QAM, Cable Card] for a possible total of 16 TV tuners to be configured. All the tuners use the same guide data but it can be edited and configured to include additional channels such as Clear QAM not found or included in most Titan Guides. While watching live television, the program keeps a buffer that allows users to rewind or pause live TV, allowing users to skip commercials. (A third party program MCEbuddy allows automatic commercial skipping on recorded programs.)

Media Center can stream live and pre-recorded television to Windows Media Center Extenders such as the Xbox 360 console, but other Windows computers can just access recorded, not live content. Playback of content on television is possible through Media Center Extenders or by directly connecting a computer running Windows Media Center to a television. The menus of Windows Media Center are displayed in a 10-foot user interface suitable for viewing on large screen televisions and can be navigated using various remote controls. Windows Media Center PCs require a sensor to be able to interact with the remote control. The sensor must have Windows Plug and Play device drivers. To advertise Media Center support, remote controls must also have certain buttons such as the Green Media Center logo Start button and buttons for navigation, playback and volume controls, power and channel flipping.

Media file support
Windows Media Center organizes and displays videos and music found on both local and networked computers. Music albums are arranged with accompanying album art that can be downloaded off the Internet automatically or added manually into Media Center. Users can create playlists of different songs or albums as well. While playing music, the user can pause and fast forward songs and view visualizations. Analog FM radio support is also available if the user's TV tuner supports it.

Media Center allows users to browse pictures and play them in slideshows, as well as play video files. Media can be categorized by name, date, tags, and other file attributes. In addition, users can organize and play films through the "Movie Library" feature introduced in Windows Vista Media Center. Through the "Internet TV" feature, users can also stream television and web shows from select content providers.

CableCard support
Windows Vista Media Center introduced support for CableCard devices. However, CableCard was only supported on OEM hardware that had been certified by CableLabs. Windows 7 Media Center supports adding CableCard to existing hardware, provided the hardware meets certain requirements. Shortly after the release of Windows 7, Microsoft released the Digital Cable Advisor tool to verify that the requirements are met before activating CableCard support.

Portable devices
Windows Media Center allows synchonization with certain portable devices. These devices include Windows Mobile Pocket PCs, smartphones, Portable Media Centers and other players that can sync with Windows Media Player. Microsoft's Zune cannot use the sync function, but can play Media Center recorder TV files when they are copied to a Zune monitored folder.

While synchronizing television shows, Windows Media Center encodes the shows using Windows Media Encoder to a Windows Media Video format at a lower quality than the original format used for viewing on the desktop media center. This is to complement the limited storage space and processing power of such portable devices. Optionally, music can also be re-encoded to a smaller file size upon synchronization.

Application development
Windows Media Center was designed as a programmable platform; other programs can tie into the Media Center UI using the WMC API, which is provided as a managed API. The functionality of Windows Media Center can be extended by three different types of applications: Windows Media Center Presentation Layer Applications: These are managed applications written using the WMC API and packaged as .NET assemblies. Presentation Layer applications can have full access to both the .NET Framework as well as the Windows Media Center API, with the latter exposing a managed object model to access and manipulate the current states of the media management and playback, live television, video recording as well as the presentation capabilities of Windows Media Center. Presentation Layer applications are rendered using the bitmap-based Windows Media Center Presentation Layer, the user-input and presentation system of WMC. Presentation Layer includes support for animations, dynamic layout, keyboard/mouse as well remote navigation. Presentation Layer applications can be streamed over RDP to Windows Media Center Extenders; so Presentation Layer applications run on the extenders without any modification. Presentation Layer, however, exists only in the Windows Vista version of WMC.

Presentation Layer applications are created using an XML based declarative markup language, known as Media Center Markup Language (MCML). MCML is used to define the user interface, with animation, text input, navigation, data binding, and local storage support available from the markup itself. If custom code or other functionality is required to implement a certain feature, .NET assemblies can be referred. Any .NET language can be used to write the code-behind assemblies that implement the required functionality. An MCML document defines the interface as a collection of  elements, each exposing four attributes:   which defines what that UI element will display,   to control the presentation aspects of the element,   which enumerate the set of private state data for the element, and   which allow the attributes to be modified based on certain triggers. By modifying these attributes at runtime, either from markup or code behind classes, the interface is generated.

Presentation Layer applications can either be locally installed, or downloaded from the web as necessary. However, in the latter case, the code is untrusted; only the .NET classes that are marked as safe for use by Internet-originating code can be used. Before an application can be used, it has to be registered with Windows Media Center. An application can either register itself as a top-level menu item, in any of the sub-menus (depending on the type of application), as an autoplay handler, into the Program Library (the menu category for all programs), or as a background application without a user interface running as long as a WMC session continues.


 * XAML Browser Application
 * WMC can also act as host for XAML Browser Applications (XBAPs), which are rendered in the WMC UI itself. XBAPs are rendered using the vector-based resolution-independent Windows Presentation Foundation component of .NET Framework 3.0. XAML Browser Applications have their UI written in XAML with code behind in any .NET language. XBAPs are also limited to Windows Vista. WMC provides limited support for streaming XBAPs to Windows Media Center Extenders. XBAPs have been declared deprecated in Windows Media Center SDK version 5.3.


 * Hosted HTML Applications
 * WMC can host Internet Explorer within its own UI (using WMC UI widgets) and can display web pages and web applications. This feature is supported in both Windows XP and Windows Vista. Web applications written specifically for being hosted in WMC can use a subset of the WMC API which is exposed via JavaScript. HTML applications are also not fully supported for streaming to extenders.