一. Miracast(安卓、Windows)

1. 协议说明

  • Miracast是由Wi-Fi联盟于2012年所制定,以Wi-Fi直连为基础的无线显示标准。支持此标准的设备可通过无线方式分享视频画面
  • 与DLNA不同的是,Miracast也有类似于AirPlay的镜像功能,可以将手机中屏幕内容直接投放到高清电视屏幕里
  • Miracast是点对点网络,用于类似蓝牙的方式(比蓝牙更高效)无线发送由Wi-Fi Direct连接组成的截屏视频
  • Miracast支持高达1080p(全高清)的分辨率和5.1环绕声。它还支持4k分辨率。通过无线连接,视频数据以H.264格式发送,这是当今最常见的高清视频编码标准
  • 与其它协议(例如Airplay或Chromecast)不同,Miracast在诞生之初就以跨平台标准而设计

2. 资料

  • 详细文档:https://codezjx.com/categories/Miracast/
  • 开源项目:https://github.com/albfan/miraclecast/
  • 前辈的开发流程:

二. Airplay(苹果)

1. 协议说明

  • AirPlay协议是苹果公司实现的在苹果产品之间传输媒体流信息的一组协议
  • AirPlay还有一种镜像(AirPlay Mirroring)功能,可以将iPad或者iPhone的整个屏幕投放到更大屏幕的电视机上,实现“无线投屏”的效果
  • AirPlay协议Android投屏协议 安卓 投屏 协议_百度mDNS协议Android投屏协议 安卓 投屏 协议_百度组播技术
  • 目前,苹果官方AirPlay 解决方案只适用于认证过的苹果设备,主要是 iPad、iPhone、Apple TV 以及苹果公司授权伙伴的设备

2. 资料

  • 详细资料:http://nto.github.io/AirPlay.html
  • 开源项目:https://github.com/xindawndev/xindawn-linux-airplay-mirroring-sdk-ubuntu-x86_64

三. DLNA

1. 协议说明

  • 全称:DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟)
  • DLNA旨在解决个人PC ,消费电器,移动设备在内的无线网络和有线网络的互联互通

2. 资料

  • 详细资料:https://elinux.org/DLNA_Open_Source_Projects
  • 开源项目:https://github.com/poholo/DLNAFramework
  • 前辈的开发流程:https://www.jianshu.com/p/5a260182cc82

四. Google cast(谷歌)

1. 协议说明

  • Google的无线投屏技术
  • 发送端app使用SDK,将需要投屏的媒体内容发送到谷歌的服务器,由服务器通知接收端(如ChromeCast)播放(所以发送端和接收端必须都可以访问谷歌服务器才行)
  • 接收端运行的是一个浏览器,它会根据发送端的app ID和媒体信息,载入对应的一个网页,这个网页由发送端 app 的开发者提供的,负责播放相应的媒体内容
  • Google Cast 和苹果的 AirPlay 或者DLNA 的不同之处在于,一是依赖谷歌的服务器,也就是说必须连接到Internet 才可以用,如果只有一个局域网是不行的。二是后两个的接收端播放器接收端本身提供的,开发者只需要提供要播放的内容就可以,但是Google Cast 则是需要提供自己的接收端 app,这样的好处是开发者可以高度定制(比如可以定制UI,或者加入弹幕、歌词滚动、音乐可视化之类复杂功能),虽然接收端往往运行的并不是Android这样的开放操作系统,但是因为接收端 app的本质是网页,所以开发难度并不高

2. 资料

  • 详细资料:https://github.com/vincentbernat/nodecastor
  • 开源项目:https://github.com/slaff/Sming-GoogleCast

五. 参考资料