Chromecast在本地网络上

时间:2014-06-05 22:33:59

标签: tomcat sdk localhost chromecast

我很难理解我的chromecast的初始设置,以便在本地网络上进行投射。我想测试我在业余时间开发的媒体服务器应用程序。后端是一个索引服务器,我希望能够将媒体从我的浏览器投射到电视上。

我申请并支付了对开发者控制台的访问权限,这使我可以注册chromecast设备的序列号。然而,下一步似乎是要求我注册一个URL并发布该应用程序。

此应用程序是沙盒的,并且将在本地网络上运行,所以我不明白这一步。当我尝试在github上运行示例应用程序时,当我尝试将链接传递到服务器上的本地媒体文件(任何格式)时遇到问题。

这些错误包括“Cast API not present”或浏览器的白屏。任何在本地网络上成功设置API进行投射的人都会解释如何进行初始配置。具体来说,如果您在本地(192.168.xx)网络上运行(需要https吗?)并在其中一台机器上运行服务器(在本例中为Tomcat),您为自定义接收器提供了哪些URL(我猜)发件人。

感谢工厂......

Ĵ

2 个答案:

答案 0 :(得分:1)

  1. 您需要注册您的设备,以便您的Chromecast设备可以使用或不使用SSL访问接收器应用,无论是本地还是互联网。 (HTTP和HTTPS)

  2. 接收方应用是HTML文件(receiver.html或您选择的任何名称),并且在使用Google开发者控制台生成AppID时注册了其网址(http://192.168.x.x/whatever.html)。

    < / LI>
  3. 使用上面第2步中的AppID,您可以将其放入原生应用(iOS等)

  4. 您的原生应用然后使用Google API搜索,连接并与连接的演员设备进行握手。

  5. 由于AppID,连接的演员设备知道获取接收器应用的位置/网址(http://192.168.x.x/whatever.html

  6. 其余部分取决于您使用原生应用程序所做的事情。

  7. 如果您想在本地网络上托管媒体资源,则需要一个Web服务器等。这是您的发件人应用程序(本机应用程序)与连接的强制转换设备进行通信的角色,并将其发送给任何资源的网址。

  8. 最后一点说明:您的演员设备获得了Google的AppID列表及其相应的接收方应用网址。

    希望得到这个帮助。

    编辑:资源网址不一定是SSL。

答案 1 :(得分:0)

这也让我感到困惑。但是我最终发现,您需要在本地托管接收器,然后使用ngrok之类的工具/服务来公开接收器。 本教程的第3步对此进行了说明:

https://codelabs.developers.google.com/codelabs/cast-receiver/index.html?index=..%2F..index#2

要点类似,可以使用其他工具以其他方式完成,但这是根据本教程进行的:

npm install -g http-server
npm install -g ngrok
cd app-done // This is the directory on your machine with the receiver app (like index.html etc)
http-server

启动上面的http服务器后,记下使用的端口。可能是8080。

在调用ngrok时使用该端口。

ngrok http 8080

请记住使http服务器和ngrok保持运行。 Ngrok将为您提供一个公共可用的URL,该URL实际上将访问您的本地http服务器,指向您的接收者。

附带说明,这仍然困扰着我(如果您知道答案,可以随时发表评论):即使我们可以通过这种方式使用本地接收者,我们抛出的所有网址到此接收者的URL仍然始终是世界范围的URL,即我们永远不能使用其IP被主机文件等中的本地IP替换的域中的本地媒体。因此,我们始终必须使用生产(公开可用)媒体。一种解决方法。但是,我们可以使用本地范围内的IP地址,例如10.101.xxx.yyy等)