This blog is intended to document our learning's about Miracast technology and explain things to consider when implementing a solution using Miracast. It is primarily about Windows 8.1 tablets and Windows Phone 8.1 as the authors work for Microsoft in the Worldwide Modern Devices Centre of Excellence (CoE). We work on a program called First Wave which assists market leading customers in using and deploying the latest Windows technologies. For video case studies around our projects go to http://www.microsoft.com/en-us/windows/enterprise/customer-stories/default.aspx
The authors, Lutz Seidemann (Infra) and Paul Tallett (App Dev), worked on many of these projects but the relevant one is the Mandarin Oriental Hotel Group project which is detailed in the Customer Scenarios section. Both are Solution Architects with Microsoft Consulting Services – Worldwide Modern Device Center of Excellence.
What is Miracast
What is Miracast and how you can use it in your architectural concepts?
Let's have a first look to Wikipedia:
"Miracast is a peer-to-peer wireless screencasting standard formed via Wi-Fi Direct connections in a manner similar to Bluetooth. It enables wireless delivery of audio and video to or from desktops, tablets, mobile phones, and other devices. It allows users to, for example, echo display from a phone or tablet onto a TV, share a laptop screen with the conference room projector in real-time, and watch live programs from a home cable box on a tablet. Both the sending and receiving devices must support Miracast for the technology to work. However, to stream music and movies to a device, such as a TV, that does not support Miracast, adapters are available that plug into HDMI or USB ports. Miracast allows a portable device or computer to send, securely, up to 1080p HD video and 5.1 surround sound (AAC and AC3 are optional codecs, mandated codec is linear pulse-code modulation — 16 bits 48 kHz 2 channels).The protocol uses a direct Wi-Fi connection between the two devices without involvement of a wireless router and cannot be used to stream to a router access point. It was created by the Wi-Fi Alliance." (From <http://en.wikipedia.org/wiki/Miracast> )
Ok, here the same again in a nutshell:
Miracast is a protocol that will transmit audio and video between devices via Wi-Fi. It relies on the Wi-Fi network available (802.11n), using 2.4GHz and 5GHz bands. With this, you can enjoy multimedia content streaming from any Miracast enabled device such as your Windows 8.1 Tablet or Windows Phone to the Miracast device in our environment. It is not necessary that both devices are connected to the Internet. They only need to share the same local wireless network. The shared information is sent by the device via Wi-Fi through a Wi-Fi Direct connection to a receiver connected to the display device. The receiver then decodes the video signal and passes it to the TV display (or other display device). Miracast supports WPA2-PSK encryption, so all you share is safe.
Windows 8.1 or Android with version 4.2 and higher support Miracast natively. For Windows 7 you need to download the Intel WIDI drivers. If you familiar what Apple called Airplay, Miracast works similarly.
Miracast Devices
Broadcasting photos, videos, music and other media from your mobile device or PC to your TV need not be a laborious process, fraught with wires and extra peripherals. Miracast, and Intel's compatible cousin technology WiDi, let you beam whatever is on your device's screen right to a television, and there's a good chance that the devices you already own have this technology built in.
Nowadays, all Windows 8.1 PCs with recent Intel CPUs and Wi-Fi cards already have the hardware necessary. On the phone side windows 8.1 phones and Android 4.2 Jelly Bean or later you can use to send a Miracast signal. If you have a Miracast-capable Phone or Tablet, all you need is a receiver to attach to your home theatre. To help you choose, have a look on current Miracast receivers.
Step 1.) Select your Miracast receiver
Rocketfish Miracast Video Receiver ($79.99):
Belkin Screencast 4.0.18.0 ($119.99):
Netgear Push2TV PTV3000 ($59.99)
D-Link DHD-131 ($99.99)
Actiontec Screen-Beam Pro ($69.99)
Lumia HD-10 ($79.99)
You need make sure the Miracast device is compatible with your TV. Most Miracast solutions use 1080p for their screen resolution, but many older TVs only support 1080i or even only 720p. The only device we found that can support 1080i & 1080p is the Actiontec Screen-Beam Pro.
The Wi-Fi Alliance website maintains a comprehensive list of compatible devices, although that list does not account for Miracast-compatible technologies like Samsung's AllCast Share. More information, including a list of Wi-Fi Certified Miracast products, the Wi-Fi Alliance Display technical specification, white paper, and more is available at www.wi-fi.org/miracast.
Step 2.) Connect your Miracast receiver to your TV
All Miracast receivers plug into a TV's HDMI port and are ready to receive as soon as they turn on.
Step 3.) Connect your Windows 8.1 PC or Tablet
After you added your Miracast connection , from now you can access via the usual project
For detailed instructions have a look here .
Step 3.a) Connect your Windows 8.1 Phone
After you tab your phone is displayed to the TV
Step 3.b) Connect your Android Phone
Note: instructions differ depending on whether you are streaming from an different Android version. This is Android 4.4 (KitKat)
Go to Settings/Connections and tap on Screen Mirroring
You will then see this screen and you can tap your Miracast dongle:
The device will go through the pairing process:
And your screen is now mirrored and you can tap to disconnect:
Customer Scenario
One year ago Mandarin Oriental partnered up with Microsoft in early adopter program called Windows Firstwave.
Mandarin Oriental’s intention is to make its wealth of online marketing content, hotel information and guest services more easily accessible to its digitally savvy guests. Leveraging the Microsoft platform, Mandarin Oriental is able to integrate a combination of services formerly offered via the television, telephone or guest directory with content available on the company’s website to deliver a more intuitive in-room experience for guests via custom touch apps running on Microsoft Surface Pro tablets. The Mandarin Oriental Group has piloted Microsoft Surface Pro tablets in four of their award-winning properties in London, Washington DC, Las Vegas and Tokyo.
Microsoft Consulting Services worked together with the hospitality solutions partner iRiS Software Systems, and InterKnowlogy to develop a suite of custom Windows 8.1 touch apps, available in nine different languages, that manage services for in-room dining, concierge and housekeeping requests, a guest compendium which provides information about the hotel’s facilities and access to guest feedback and guest preferences.
Here a quick overview of the solution architecture before we go deep on our Miracast implementation experiences during the pilot:
During the Architecture design session we proposed to use Windows Embedded 8.1 Industry on Microsoft Surface Pro to Mandarin Oriental. This version of Windows 8.1 is functionally identical to the consumer/pro versions of Windows 8.1 with the exception that Embedded 8.1 industry adds capabilities to lock down the device - in this specific case a Write Filter is used to write all changes that happen to the OS after it is booted into a cache which is then overlaid on the file system. In normal operation this cache is transparent to the user and Industry Embedded 8.1 operates as any Windows 8.1 PC would. However when the Surface Pro is rebooted the cache is deleted restoring the Surface Pro device to the install state. This is how user state (files, downloaded apps, browsing history, customization, etc.) is removed through a reboot initiated at checkout. It's a simple and effective process and it's similar to the way that 3rd Party products (e.g. Deep Freeze) works except in this case, the capability is built into the OS making Surface Pro with Windows Industry 8.1 ideal for this type of commercial application. The user can install any app, download email, work on documents, change any configuration they want, including log into a Microsoft Account (MSA) with the surety that at checkout, or when the Surface device is rebooted, all user-specific data is removed.
Additionally, all OS updates are applied after checkout by automatically switching the device to Servicing Mode where the write filter is disabled and all the patches applied keeping the install image secure and up to date. For real-time updates required by application such as Defender or Microsoft Forefront you can add folder level write filter exclusions to prevent that data being wiped off at reboot. An important benefit of this approach is that specific hotel apps can be sourced from multiple developers, and these can be complemented by any app that can be downloaded from the Windows Store (the very functional Bing apps for example).
This contrasts with the alternative Android/iOS mechanisms in use for tablets deployed for this type of application in hotels. For these OS's which do not have such evolved management mechanisms, the typical approach is to build one large app that must contain all required functionality. The tablet is then locked in kiosk mode running this app only. Writing one big monolithic app is clearly a less efficient software development approach, and it removes from the user experience nearly all of the familiar tablet functionality associated with the OS - i.e. something as simple as a web browser - if such functionality is desirable to include in the user experience, must be written/included in the hotel app development process. In Windows 8.1 Industry Embedded such functionality, and much more, is included out of the box leaving the developers to spend their time and money developing line-of-business hotel-specific functionality which means they can be potentially much more productive.
(Read the Mandarin Oriental Hotel Group Press Release , Blog or watch the Video )
OK, let's circle back to Miracast, what this blog is all about :
Part of the Mandarin Solution is Miracast to provide all guests the possibility to stream there preferred videos, watch Hulu or Netflix, internet TV channels or any other content direct on the big in-room TV. Imagine you go into a hotel room and can watch your preferred movie without messing around with a cable connection or different kinds of adapters. You just connect to Netflix and watch, I would call this very slick.
What you need consider to build such a solution?
Remember that although the Miracast communication uses Wi-Fi Direct and does not go via your router, the channel it uses is determined by the Wi-Fi channel being used by the computer and your connection may not automatically upgrade and switch if a better channel is available.
In a multi-device setting network traffic may be an issue if multiple devices are using the same channel or if the network has a lot of traffic. That’s important for environments such as Hotels, where you have many Miracast devices (Dongle and PC/Phone) very close to each other.
Understand your Wi-Fi Network:
- Most Wi-Fi Access Points (AP) can be configured to prefer a certain channel, spacing these out across your environment in a matrix arrangement can considerably improve overall Wi-Fi performance. Using a signal strength meter to obtain hard data on signal strength is very important here. There are some signal strength apps available on smart phones if you don’t have a specialized device.
- In general the 5GHz bandwidth is less noisy than 2.4GHz ; you can find baby monitors, microwave or Bluetooth devices sending on 2.4GHz. More information here.
- If you can set up a 5GHz Wi-Fi network rather than 2.4GHz (the default) and get your computers to use that by default, this will generally give better results. 5GHz has higher bandwidth but shorter range so your mileage may vary. Configure your Router for "Optimize for compatibility" mode, which allow to configure a separated 5GHz channel per room (36,40,44,48,149,153,157,161).
Drivers and Firmware
- Make sure you have all the latest Wi-Fi drivers and device firmware releases
- Update your Miracast dongle firmware.
- Update your Wi-Fi Router firmware, especially if you plan to go for 5Ghz infrastructure.
- Update your TVs when using the build-in Miracast function
Code samples
For the Mandarin Oriental project we wrote a Modern app that sent keystrokes to invoke the charms bar and bring up the projection screen which we pinned to the Start Screen to make it very easy for guests to discover this functionality. Since Modern apps are not allowed to send keystrokes to the system, we used a technique called Brokered Components which allows desktop code to be called from a side-loaded Modern app. Sending the keystrokes is fairly trivial, here's the code we used in the Brokered Component:
private async Task<int> StartProjectionTask(int n)
{
await Task.Delay(1);
InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.VK_K);
Thread.Sleep(1000);
InputSimulator.SimulateKeyPress(VirtualKeyCode.DOWN);
InputSimulator.SimulateKeyPress(VirtualKeyCode.DOWN);
Thread.Sleep(1000);
InputSimulator.SimulateKeyPress(VirtualKeyCode.SPACE);
//Thread.Sleep(3000);
//InputSimulator.SimulateKeyPress(VirtualKeyCode.UP);
//InputSimulator.SimulateKeyPress(VirtualKeyCode.UP);
//InputSimulator.SimulateKeyPress(VirtualKeyCode.UP);
//InputSimulator.SimulateKeyPress(VirtualKeyCode.SPACE);
//Thread.Sleep(1000);
return 0;
}
Brokered Components in Windows 8.1 apps is documented in this article: http://msdn.microsoft.com/en-us/library/windows/apps/dn630195.aspx
And a step-by-step guide is here: http://devhawk.net/2014/04/25/brokered-winrt-components-step-one/
Summary
As a recap, Miracast is a very exciting technology and if you spend a little time on the key points it works very well. After testing a few dongles, we selected ActionTec because of the wider selection of TV resolution (1080i and 1080p) and configuration options we got in the firmware. Working with the Actiontec engineering team was a pleasure.
Your environment may differ, so we don’t want to give a generic recommendation.
Those are the critical components :
- WI-FI Drivers
- Tablet Firmware
- Wi-Fi Router Firmware
- Wi-Fi Network configuration
- Miracast Dongle
- Dongle Firmware
Finally, give us feedback; share your implementation experiences; ask question and we will try to help.
Happy Implementing Lutz and Paul
Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in theTerms of Use.