Building Best-In-class Miracast Solutions With Windows 10
Building Best-In-class Miracast Solutions With Windows 10
Building Best-In-class Miracast Solutions With Windows 10
Abstract
Miracast is a wireless display standard designed for mirroring screen content to an array of
devices that collectively provide a great user experience. Quality Wi-Fi, graphics,
composition, media encoders/decoders, and third party components are fundamental to this
experience.
This document is intended to provide Wi-Fi IHVs, graphics IHVs, PC OEMs, and Miracast
receiver manufacturers guidance to help ensure products designed for Miracast, deliver a
best-in-class Windows 10 experience.
Copyright
This document is provided "as-is." Information and views expressed in this document,
including URL and other Internet Web site references, may change without notice.
Some examples depicted herein are provided for illustration only and are fictitious. No real
association or connection is intended or should be inferred.
This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference
purposes.
2016 Microsoft. All rights reserved.
Please refer to Microsoft Trademarks for a list of trademarked products.
Intel is a registered trademark of Intel Corporation.
All other trademarks are property of their respective owners.
Table of Contents
Abstract.................................................................................................................................. 1
Overview................................................................................................................................. 5
Miracast in Windows 10....................................................................................................... 5
Understanding Windows Miracast functionality...................................................................6
Miracast receiver connect app............................................................................................. 8
PC manufacturers designing for Miracast................................................................................9
Wi-Fi devices...................................................................................................................... 10
Graphics devices................................................................................................................ 10
Audio devices:................................................................................................................... 11
Hardware manufacturers (IHVs) designing for Miracast........................................................12
Wi-Fi device features for Miracast......................................................................................12
WDI driver testing for Miracast:.........................................................................................12
Supporting Miracast features:............................................................................................ 12
Extended channel switch announcement (eCSA)...............................................................12
For IHVs creating Miracast Receivers.....................................................................................13
Miracast-specific features to support.................................................................................13
Wi-Fi features..................................................................................................................... 13
IP address allocation in EAPOL-key frames.....................................................................13
Extended channel switch announcement (eCSA)...........................................................13
Updates to WPS information elements (IEs) for telemetry..............................................14
Graphic features................................................................................................................ 14
Support for the hardware cursor....................................................................................14
Media features................................................................................................................... 14
Diagnostic capabilities................................................................................................... 14
Support for Intel friendly name.......................................................................................14
Support for Intels receiver device URL..........................................................................14
Support for Intels receiver manufacturer logo...............................................................14
Support for Intels receiver manufacturer name.............................................................15
Support for Intels receiver model name........................................................................15
Support for Intels receiver version................................................................................15
Support for enhanced diagnostics..................................................................................15
Support for source receiver version................................................................................16
Support IDR requests..................................................................................................... 16
Overview
Miracast is a wireless display standard designed for mirroring your screen to an array of
devices. Quality Wi-Fi, Graphics, Composition, Media encoders/decoders and third party
components are fundamental to this experience.
This document provides Wi-Fi IHVs, Graphics IHVs, PC OEMs and Miracast receiver
manufacturers guidance to help ensure products designed for Miracast, deliver a Best-inClass Windows 10 experience.
Miracast in Windows 10
Support for Miracast began in Windows 8.1, and since that time Windows investments in
Miracast as a projection experience has increased. Windows 10 delivers the most notable
features to date, including:
A native connection experience that allows a user to find and connect to Miracast
receivers.
Implementation of the Miracast standard to interoperate with the broadest set of
hardware.
A native Miracast RTSP stack fine-tuned to work for Miracast, which means no
additional software is required outside the Windows 10 OS.
Support for UIBC (User Input Back Channel), so that a Miracast receiver can be used
to control the Miracast source.
Support for Miracast extensions that enable additional capabilities that dramatically
improve the Miracast experience.
High quality interaction with industry leading Microsoft Miracast receivers as well as
leading 3rd party Miracast receivers.
A soft receiver - Miracast receiver app (Connect) ships inbox in the Windows 10
Anniversary update on compatible devices.
Support for the projection of Protected Content.
The ability to remember a profile for reconnecting to Miracast receivers that are
frequently used which reduces subsequent connection times.
Figure 3: Connect UI
Figure
4:
Device
A single extensible RTSP stack across all Windows devices. Smooth functionality with
any Win10 device brings interoperability with hundreds of millions of Windows 10
Miracast senders and receivers.
The ability to stream both clear and protected content (HDCP) if HDCP keys are
present.
UIBC (User Input Back Channel), which allows inputs from the Miracast receiver
(touch, stylus, mouse, keyboard and gamepad) to control the Miracast sender, ifand
only ifthe user explicitly allows this.
Several extensions from Intel and MSFT (4k AVC (H264), latency management, bitrate
modulation, 3:2 support, and more). Miracast extensions allow additional
functionality not otherwise found in the Miracast specification to be supported.
Push button pairing, auto push button, and PIN based paring, the most common
methods for pairing with a Miracast receiver.
Persistent profiles, which remembers if you have connected to a given Miracast
receiver in the past. This gives faster reconnections to the same Miracast receiver.
And if persistent profiles are not supported on the receiver, then Windows 10 adjusts
to that situation as well.
These settings are located in Projecting to this PC, found by selecting Settings, and then
System.
Wi-Fi devices
Windows 10 can perform Miracast over both the 2.4Ghz and 5Ghz bands and works well with
an 802.11n or 802.11ac capable Wi-Fi adapter.
Miracast streams data in real-time. Thoughtfully selecting a radio and antenna configuration
vastly improves the performance of the Miracast experience. Typically, an 802.11ac radio
using the 5Ghz band and a 2x2 antennae configuration produces a higher quality Miracast
experience than any 802.11n or 1x1 combination.
Ensure that Wi-Fi adapter manufacturers provide drivers specifically designed for the
Windows 10 Wireless Driver Interface (WDI). Wireless drivers developed to the WDI
framework are precisely designed for Miracast usage. These drivers demonstrate
successfully higher connection rates and yield quality Miracast sessions.
Lastly, verify Wi-Fi manufacturers successfully validated the following Windows Hardware
Lab Kit (HLK) tests:
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicDiscoveryTests.*
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicPairingTests.*
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicReconnectTests.*
Details on the Microsoft Hardware Lab Kit (HLK) can be found on the download page for the
HLK.
Graphics devices
The Microsoft Miracast stack functions upon WDDM 2.0 (Windows Display Driver Model) and
greater. WDDM 2.0 was introduced with Windows 10.
Miracast Senders: A Miracast senders graphics device/driver must support a hardware
accelerated AVC (H264) Encoder. Note: HDCP 2.0 or greater is required to project protected
content from most major video streaming content providers.
Miracast Receivers: A Miracast receivers graphic device/driver must support a hardware
accelerated AVC (H264) Decoder. Note: HDCP 2.0 or greater is required to receive protected
content from most major video streaming content providers.
To design a best-in-class Microsoft Windows 10 Miracast sender/receiver the graphics
device/driver should support hardware accelerated HEV encode and decode. This enables
higher resolutions, for instance 4K, at higher bitrates using less bandwidth than AVC.
Required
WDDM 2.0
Hardware accelerated AVC (H264) encoder (Miracast sender)
Hardware accelerated AVC (H264) decoder (Miracast receiver)
Optional:
Audio devices:
At minimum, an audio device/driver should support LPCM. The Miracast specification lists
optional audio codecs, AAC & DD+. To maintain lower latency, Windows 10 only supports
LPCM.
Note: Microsoft is evaluating additional audio codec support in future releases of Windows.
: Supported
Wi-Fi Direct GO
Wi-Fi Direct Client
: Supported
: Supported
: Supported
: Supported
:1
:1
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicDiscoveryTests.*
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicPairingTests.*
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicReconnectTests.*
Wi-Fi features
IP address allocation in EAPOL-key frames
Implementing IP addressing allocation in EAPOL-key reduces the amount of time taken to
connect by including the IP address that the remote client should use in the Wi-Fi Direct
exchange itself. The client connects more quickly by skipping the need to perform DHCP
address assignment after the connection is established.
Windows client can sometimes determine a multi-channel condition and can use eCSA to
transform from Multi-Channel to Single Channel conditions.
Graphic features
Support for the hardware cursor
Movement of the mouse cursor significantly impacts the perceived end to end (E2E) latency
of the Miracast session. E2E latency is how long it takes a user to move the mouse until that
movement is rendered on the Miracast display. Before hardware cursor, the mouse was a
part of the encoded video stream, meaning it has the same E2E latency as the Miracast
stream. Typically, this was over 100ms. Hardware cursor adds the ability to send the mouse
image as well as the coordinates to the sink, where the receiver can render them over the
Miracast stream. Sending the mouse data out of band from the Miracast streams allows the
mouse latency to drop to sub 30ms.
Media features
Microsofts Miracast RTSP stack is extended to provide useful information while diagnosing
Miracast failures, extended functionality, and better stream quality & E2E latency.
Diagnostic capabilities
Microsoft Miracast stack implements a number of 1st and 3rd party extensions that are
detailed in this paper. Some of these extensions are useful while diagnosing Miracast failures
and creating reports. These extensions include:
C00D36F0
C00D3E8C
C00D6D74
C00D36CB
C00D4278
C00D36C0
Error Message
Failure Condition
MF_E_CANNOT_PARSE_BYTESTREAM
MF_E_INVALID_FORMAT
MF_E_TRANSFORM_CANNOT_CHANGE_ME
DIA TYPE_WHILE_PROCESSING
MF_E_INVALID_STREAM_DATA
MF_E_NET_TIMEOUT
MF_E_INVALID_TIMESTAMP
Performance enhancements
Microsoft supports extensions to make Miracast sinks more performant in certain situations.
These extensions are:
Value
Description
Low
Specifies that the Wi-Fi Display Receiver SHOULD keep latency under 50
milliseconds.
Normal
Specifies that the Wi-Fi Display Receiver SHOULD keep latency under 100
milliseconds.
High
Specifies that the Wi-Fi Display Receiver SHOULD buffer additional frames in order
to ensure smooth playback, as long as the latency stays under 500 milliseconds.
Stream enhancements
Microsoft Miracast source supports extensions that produce better stream quality. These
extensions are:
Extended functionality
Microsoft Miracast source supports extensions that provide extended functionality to the
Miracast experience. These extensions are:
UIBC support
User Input Back Channel (UIBC) is an optional Wi-Fi Direct feature for sending input
commands from the Miracast receiver to the Miracast sender for processing. The user can
then interact naturally with the Miracast receivers peripherals.
For example,
Keyboard\Mouse\Touch\Pen inputs attached to a Miracast receiver can act as input to the
Miracast Source.
: 0.1.0.21
: 0.1.0.1
: Supported
WPS:Manufacturer: Please put in the name of the Manufacturer, likely OEM or OEM
+ Chipset IHV, ex: Microsoft
WPS:Model: This is the Unique Model for the device, ex: MWDA
WPS:Model-Number: This is used to store the Firmware Version, ex: 1.3.8350
You can validate that the Windows 10 device can properly parse the Miracast receivers
Manufacturer, Model and Model-number values by performing the following: Connect to the
Miracast receiver, then go to Device Manager, and look under Software Devices. Here you
will see the Miracast receiver name listed. Look at its Properties. On the Details tab look for
the following 3 properties: PnP-X manufacturer, PnP-X model name, and PnP-X model
number.
OS
Support
Driver
Support
Receive
r
Support
Documentation
H/W Cursor
Windows 10
None
Yes
MS-WDHCE
Latency Switching
Windows 10
None
Yes
MS-WFDPE
Windows 10
None
Yes
Windows 10
Wi-Fi
Yes
WiFi_P2P_Technical_Specification_v1.5
802.11-2012 Specification
Windows 10
None
Yes
MS-WFDPE
IP Address Allocation
in EAPOL-Key Frames
Extended
Channel
Switch
Announcement
Dynamic
Resolution/Frame
Rate
End of Frame Marker
Windows 10
None
Yes
MS-WFDPE
CABAC Support
Windows 10
None
Yes
MS-WFDPE
Updates
Telemetry
UIBC Support
Windows 10
None
Yes
MS-WFDPE
Windows 10
None
Yes
MS-WFDPE
Windows 10
Anniversary
Update
Windows 10
None
Yes
MS-WFDPE
None
Yes
MS-WFDPE
Windows 10
Anniversary
Update
Windows 10
None
Yes
MS-WFDPE
None
Yes
MS-WFDPE
Windows 10
None
Yes
MS-WFDPE
Windows 10
None
Yes
MS-WFDPE
Windows 10
None
Yes
MS-WFDPE
Windows 10
None
Yes
MS-WFDPE
Windows 10
None
Yes
MS-WFDPE
Windows 10
None
Yes
MS-WFDPE
Windows 10
None
Yes
MS-WFDPE
10
for
11
12
Dynamically switch
the Resolution and
Frame Rate
Support
for
Additional
Video
formats
Support IDR requests
13
14
15
16
17
18
19
20
21
22
Support
for
Friendly name
Intel
Windows 10
None
Yes
MS-WFDPE
References