一. 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协议mDNS协议组播技术
- 目前,苹果官方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
五. 参考资料
- https://www.ezcast.com/blog/7442/what-is-miracast-cn
- https://zhuanlan.zhihu.com/p/161740109
- https://zhuanlan.zhihu.com/p/80599800
- https://zhuanlan.zhihu.com/p/67176426
- https://www.awind.com.cn/news/shownews.php?id=86