开发人员的无线显示技术





0/5 (0投票)
本文从开发人员的角度,探讨了三大主流技术——Apple AirPlay*;Google Chromecast*;以及包含Intel® Wireless Display (Intel® WiDi)的Wi-Fi Alliance的Miracast*——之间的差异,并概述了各自的优缺点。
引言
Intel®开发人员专区提供跨平台应用开发的工具和操作指南、平台和技术信息、代码示例以及同行专家经验,帮助开发人员创新和成功。加入我们的物联网、Android*、Intel® RealSense™ 技术和Windows*社区,下载工具、访问开发工具包、与志同道合的开发人员分享想法,并参与黑客马拉松、比赛、路演和本地活动。
使用多个屏幕观看视频、玩游戏、分享图片,甚至包括Microsoft PowerPoint*演示文稿等商业用途正变得越来越普遍。但是,用户访问第二个屏幕的方式因设备和操作系统而异。
本文从开发人员的角度,探讨了三大主流技术——Apple AirPlay*;Google Chromecast*;以及包含Intel® Wireless Display (Intel® WiDi)的Wi-Fi Alliance的Miracast*——之间的差异,并概述了各自的优缺点。
随着主设备变得越来越小,首选的显示尺寸却变得越来越大。通过查看两个早期用例(小型设备无线显示其屏幕内容到更大的屏幕上,以及智能电视显示互联网内容),您可以看到专有标准和开放标准之间的分歧是如何产生的。我在这里讨论的每种技术都从不同的起点应对挑战,并且每种技术都在不同的操作系统、设备和重点领域获得了市场份额。
Wi-Fi Alliance的Miracast* & Intel® Wireless Display
Miracast并非设备或软件,而是Wi-Fi Alliance规范所描述的技术名称。它不是应用程序,尽管您经常会听到“Miracast应用”一词来描述此功能。简而言之,Miracast规范定义了如何通过使用Wi-Fi Direct* (802.11)连接的点对点网络,将MPEG4 (H.264)视频从源设备发送到接收设备。该规范描述了如何通过一系列预定步骤建立连接。
源端和接收端都通过在2.4 GHz频段的社交信道上监听Wi-Fi Direct层2信标来启动。其中一个——通常是源端——扫描另一个(本例中为接收端)的列表。源端收集响应并将其呈现给用户,或代表用户选择一个。接下来,源端发起与所选接收端的连接。协商结果是其中一个成为组所有者,这类似于接入点 (AP)。连接建立后,主要包括视频帧速率、帧大小和加密以及音频格式的协商会发生。请记住,压缩始终是H.264,采用MPEG2封装。嵌入式MPEG流和带外 (OOB) 控制信号都会通知接收端可变数据速率和潜在的流中格式更改。
Miracast 的灵活性在于,您可以将其视为 HDMI 电缆的替代品。接收设备只需要一个支持 Wi-Fi Direct 的 Wi-Fi 驱动程序和一个可以播放流式 H.264 视频的媒体管道。源端和接收端都使用 2x2 双频无线电并不是 Miracast 的要求,但一个好的实现总是会使用一个。一些更高级的实现可能要求 Wi-Fi 无线电同时保持与 AP 的连接,并“监听”社交信道,然后支持 Wi-Fi Direct 连接。一个例子是智能电视充当接收端,它总是在等待 Miracast 连接,同时保持与 AP 的连接。这种方法不需要用户将电视设置为 Miracast 监听模式。
第二个屏幕可以是支持 Miracast 的设备,也可以使用小型适配器(多家制造商提供,通常是 HDMI 加密狗,通常通过 USB 供电)。Miracast 也可用于消费级附加设备,包括蓝光播放器和将有线电视节目传输到智能手机的机顶盒。用户设备可以是 Windows* 7 或更高版本,或 Android*、Kindle* Fire 或 Samsung Wi-Fi AllShare Cast* 兼容设备。
Miracast 的重要技术差异在于:
- 不需要 AP。
- 不需要互联网连接(除非用户希望在主机设备上获得互联网内容)。
- Windows 8.1、Android 4.2 及更高版本以及 Kindle Fire 中提供原生支持。
主机设备对 MP4 视频进行编码并进行流式传输。注意:使用 Windows 8.1 或 Android 4.4 的 Presentation Surface 时,您必须从“投影”菜单或 KitKat 菜单设置第二个屏幕连接。
Miracast 唯一的缺点是视频内容从云端流式传输到电视。在这种情况下,需要从 AP 到源再到接收端进行第二次 Wi-Fi 跳跃,这要求源始终保持通电以进行视频转码,并且如果源未连接到电源,可能会耗尽电池。您可能还会看到由于视频在传输到电视之前进行解压缩然后重新压缩而导致的最终显示中的视频伪影。
Intel® Wireless Display 
英特尔无线显示 (Intel WiDi) 自 2010 年开始商用,并于 2012 年(3.5 版本)添加了 Miracast 支持。上述所有 Miracast 功能均可在 Intel WiDi 中使用。大约有 4000 万台笔记本电脑预装了 Intel WiDi。Intel WiDi 支持 Windows 7 和 Windows 8/8.1。
英特尔专业无线显示 (Intel Pro WiDi) 是商用系统的新功能,专为会议室场景设计,在会议室中,多台计算机需要连接到单个大型显示器。英特尔专业无线显示 (Intel Pro WiDi) 包括快速切换和安全连接功能,并支持使用简单网络管理协议、命令行界面或 Web 用户界面管理投影仪或英特尔专业无线显示 (Intel Pro WiDi) 认证显示器上的设置。
英特尔无线显示 (Intel WiDi) 提供了无线显示的基础平台能力。对于希望创建新颖的双屏应用程序的独立软件供应商 (ISV) 开发人员来说,最大的优势在于无需额外要求。开发人员可以使用各种编程语言来开发双屏应用程序。有许多标准操作系统 API 调用,包括检测第二个显示器连接、在第二个显示器上创建新的全屏无边框窗口。
Google Cast* (API) 和 Chromecast* 加密狗
Google 生产了一种廉价的硬件加密狗 (Chromecast),可以插入任何带有 HDMI 端口的显示器。该加密狗通过无线 (802.11) 连接到局域网上的无线 AP,从互联网下载内容。在幕后,Google Cast 与其他解决方案截然不同,它实际上是两种技术的组合。主要模式是使用 URL 重定向播放云内容。简而言之,URL 重定向定义了应用程序如何将 URL 发送到 Chromecast 加密狗以在电视上呈现。
Chromecast 加密狗连接到电视后,必须首先配置,以便通过本地 AP 使用标准 Wi-Fi (802.11) 获得局域网和互联网访问。然后,加密狗会监听基于简单服务发现协议 1.1 版的层 5 发现和启动服务发现,该协议是通用即插即用标准的一部分。
该应用程序收集响应并将其呈现给用户,或代表用户选择一个。当应用程序通过 Google Cast API 调用连接时,它会通过 TCP/IP 连接与所选的 Chromecast 加密狗建立一个套接字。通过这个 TCP 连接,Google Cast API 允许平台上的任何应用程序开始使用 Chromecast 加密狗进行“投屏”。这些 API 会导致 Chromecast 加密狗上发生各种操作。它可以传递一个 URL 以直接从互联网渲染,以及播放和控制互联网视频内容。它甚至可以用于将应用程序下载到 Chromecast 加密狗上运行,以实现定制体验。
例如,内容提供商可以创建一个提供视频内容目录的网站。使用 Google Cast API 插件,从内容提供商网站获取的 URL 随后被发送到 Chromecast 加密狗进行播放。此外,Google 提供了一个 API,用于从发送设备远程控制(播放、暂停、快进、倒带)Chromecast 加密狗上的视频流播放器。次要模式基于流式传输本地内容和屏幕镜像。Google 最近启用了基于其自身 API 的复制模式,该模式独特且专属于 Chromecast。
Google Cast 的灵活性在于,您可以在 Chromecast 加密狗上开始播放视频,并且不需要“投射”设备采取任何操作;它甚至可以关机。此外,即时、可下载的加密狗端应用程序的能力使该解决方案非常灵活。
Google Cast 的缺点在于播放本地视频内容时,因为它需要从源到 AP 再到 Chromecast 加密狗的第二次 Wi-Fi 跳跃。此外,当前的 Chromecast 加密狗具有 1x1 Wi-Fi 无线电,在拥挤的 Wi-Fi 环境中通常表现不佳。
Apple AirPlay* 到 Apple TV*
Apple TV* 和 AirPlay 与 Google Cast 有几个共同点:两者都需要专有设备和从其在线商店下载的特定软件。尽管主要的內容提供商 (YouTube*) 都包含了这两种技术,但其他主要提供商 (Amazon 视频) 可能无法在它们上面运行。
只有苹果硬件或运行 iTunes* 的设备才能与 Apple TV 配合使用。在音频方面,包括 Denon、JBL、Marantz、Pioneer 和 Sony 在内的其他制造商已获得 AirPlay 授权,允许其设备通过 Apple 设备进行纯音频流传输。开发人员必须使用 Apple API 来调用 AirPlay,并且他们的应用程序必须经过 Apple Store 的审核和分发流程,尽管 Apple 开发者网站提供了大量的文档和 Objective-C*(以及很快的 Swift)示例代码。可用性一如预期,但具有专有性。
比较与对比
从不同的角度考虑这些技术的差异和相似性非常重要。如果您考虑一个商业用例场景,其中多台笔记本电脑需要连接到单个大屏幕设备进行演示,则需要能够快速连接和断开单个设备。此外,Wi-Fi 可能不可用,这使得 Miracast/Intel WiDi 解决方案成为除使用电缆之外唯一可行的选择。
从开发人员的角度来看,您必须评估目标受众和任何正在考虑的应用程序的潜在市场。尽管苹果生态系统显然是消费市场的强大领导者,但仍有大量预装 Miracast 的 Windows PC 和预装 Miracast 的 Android 手机和平板电脑(Android 4.2 及更高版本)。
实际的开发过程因目标解决方案而异。对于 Miracast/Intel WiDi 目标,您不需要任何额外的代码即可在第二个屏幕上显示内容:一切都像正常的应用程序一样工作。如果您以 Google Cast 为目标,您需要学习一组新的 API 调用并编写在 Chrome* 浏览器中运行的代码。对于 Apple 目标解决方案,您必须通过 Apple Store 并与 AirPlay 集成。
屏幕共享是所有三种解决方案在某种程度上都支持的一个用例。差异体现在连接的建立和控制方式上。
架构差异
Miracast 使用 Wi-Fi Direct 技术,它提供直接的、点对点或对等连接(无需 AP)。AirPlay 和 Google Cast 都使用无线 AP 从本地设备进行连接(两跳)
注意: Google Cast 现在允许将数据传输到加密狗,使用 OOB HTTP 会话来启动和停止流,并在 1.2 GHz 片上系统加密狗、16 GB 闪存和 512 MB RAM 上进行传输前转换。
大多数 Intel WiDi 设备都使用 2x2 双频无线电,这样 PC 就可以同时连接到第二个屏幕和用于互联网连接的 AP。
此外,Miracast 还添加了特定的协议,用于协商视频功能、必要时配置加密、流式传输内容以及维护视频会话。
注意:压缩始终是采用 MPEG2 封装的 H.264。数据包包含嵌入式 MPEG 流和 OOB 控制信号,用于通知第二个屏幕可变数据速率和任何流中格式更改。
Intel Pro WiDi 添加了其他地方不具备的隐私、安全和可管理性功能。
兼容性
AirPlay 最适用于其他 Apple 设备,并要求 Apple TV 以及非 Apple 设备上的 iTunes。Google Cast 适用于任何可以运行 Chrome 浏览器的操作系统,并要求 Chromecast 加密狗。Windows 商用设备需要 Chrome 浏览器插件。Miracast 在 Windows PC 和 Android 4.2 及更高版本设备上开箱即用。市面上有许多来自多家供应商的 Miracast 加密狗。
更多信息
- 了解更多关于 Intel WiDi 的信息:http://www.intel.com/go/widi。
- 从http://code.msdn.microsoft.com/windowsapps/Projection-sample-526b3c1d下载 Microsoft 投影应用程序代码。
- Windows 8.1 桌面上的 Miracast 有一个从 Intel Media SDK 到 OpenGL* 进行纹理共享的代码示例。
- 查阅为何 WiDi Miracast 对 Android 来说是颠覆性的。
- 阅读如何在英特尔架构手机上启用 Miracast 的英特尔无线显示差异化。
- 查找 Intel WiDi 适配器。