【发布时间】:2013-07-26 06:27:03
【问题描述】:
是否可以从本机应用程序将视频发送到 chromecast 设备?共享系统上的任何窗口而不是仅共享 chrome 选项卡会很好。此外,是否有任何关于 chrome 用于与 chromecast 通信的通信文档?据我了解,chromecast 本质上是从嵌入式 chrome 实例加载内容,但似乎有更直接的方式与设备通信,因为它能够使用扩展从 chrome 选项卡流式传输内容。
【问题讨论】:
标签: google-cast
是否可以从本机应用程序将视频发送到 chromecast 设备?共享系统上的任何窗口而不是仅共享 chrome 选项卡会很好。此外,是否有任何关于 chrome 用于与 chromecast 通信的通信文档?据我了解,chromecast 本质上是从嵌入式 chrome 实例加载内容,但似乎有更直接的方式与设备通信,因为它能够使用扩展从 chrome 选项卡流式传输内容。
【问题讨论】:
标签: google-cast
如果您正在开发接收器应用程序,则需要将您的接收器设备列入白名单。那将是在接收者的 Chrome 实例上运行的 Chome 应用程序。
如果您正在开发将投射其内容的 Chrome 应用程序,则需要将发件人网址列入白名单。
视频投射通过向接收设备发送一个 url 来工作,设备将直接加载该设备。
选项卡投射通过使用 WebM/Opus(在 Chrome cast 扩展程序中)对选项卡内容进行编码并将其流式传输到接收器设备来工作。 (仅限720p,见this question)
Chrome 应用只能使用视频投射。
chrome cast 扩展将是直接流式传输到设备的唯一方式。
因此,您的问题的答案是否定的,您不能将视频直接流式传输到设备。接收方必须从您提供的 url 加载视频。
有一些猜测是否可以为接收者提供本地 url,或者它是否必须已经在互联网上可用。这还有待澄清。
【讨论】:
从我对 Chromecast 架构的理解来看:
您可以在电视上显示您想要的任何 URL(您必须先whitelist your app 并注册该 URL)。它必须是一个 URL。这可以包括 HTML、JS、CSS 等。互联网上已经存在的任何内容。
要从设备接收数据(例如,要加载的视频的 URL),您必须实现逻辑来解释来自频道的消息。这些消息被编码为 JSON,这使得发送视频或图片(二进制数据)变得困难。将这样的内容上传到某个网站并让接收者显示它们显然是最简单的。
人们问,“那么,标签/屏幕共享是如何工作的?” JSON 编码正是 Google 在其 SDK 中提供的。在他们自己的来源中,他们没有这个限制。
更新: 事实证明,您实际上可以通过在 Chrome 中打开本地文件,然后将其投射到电视上,将 stream local videos 发送到电视。
【讨论】: