Chromecast设备是一款“接收设备[运行”缩小版Chrome浏览器,带有接收器应用程序“)。我可以在Chrome浏览器上下载和安装此接收器应用程序,例如在我的Windows笔记本上吗?
答案 0 :(得分:12)
chromecast设备使用DIAL协议。完全可以使用一些简单的代码来模拟此协议,以侦听多播组以进行发现,然后处理HTTP请求以启动应用程序。然后是推出的应用程序与铸造设备通信,我相信使用RAMP协议。
幸运的是,Chromecast设备使用的应用程序主要是Web应用程序,这意味着我们的设备模拟器只需要启动Web浏览器并在收到应用程序请求时将其指向特定URL。
例如youtube app,在设备发现并确定应用程序所在的位置(DIAL的一部分)之后。将包含配对密钥的HTTP POST请求发送到/<apps url>/YouTube
。现在,所有仿真设备都需要在浏览器窗口中打开https://www.youtube.com/tv?<pairing key>
。从这里开始,我相信,用于控制youtube应用程序的通信不是通过转换设备发送的,而是通过转换设备和仿真器上的打开选项卡发送的。
这是我对chromecast设备如何工作的理解,特别是通过查看https://github.com/dz0ny/leapcast的youtube应用程序,这是一个有youtube和google音乐工作的python模拟器。
答案 1 :(得分:12)
我已经在Google Play商店和亚马逊商店xda-developer线程中实现了一个名为YouMap ChromeCast Receiver的完整chromecast v2接收器:http://forum.xda-developers.com/android-tv/chromecast/app-youmap-chromecast-receiver-android-t3161851
目前的Chromecast协议与原始基于DIAL的协议完全不同。目前,只有YouTube仍然使用旧协议,Chromecast会保持其向后兼容性。
该发现是mDNS,与Apple TV bonjour协议完全相同。
最困难的部分是设备认证,发送者和接收者通过以极难破解的方式交换密钥和证书来进行握手。 AppleTV使用FairPlay加密也是如此。
下一个困难的部分是镜像协议,它也非常复杂,需要处理数据包分裂,数据包重传。总的来说,chromecast镜像协议设计得很好,比miracast更好,比AirPlay镜像更好(我也实现了它们,所以我知道我在说什么)。
当我有机会时,会在这里写更多。
答案 2 :(得分:1)
Google正在公开采购部分Chrome演员。
https://code.google.com/p/chromium/codesearch#chromium/src/chromecast/
https://code.google.com/p/chromium/issues/list?q=label:Chromecast
所以理论上你可以建立一个类似的设备。