【问题标题】:Send content to chromecast from native application从本机应用程序向 chromecast 发送内容
【发布时间】:2013-07-26 06:27:03
【问题描述】:

是否可以从本机应用程序将视频发送到 chromecast 设备?共享系统上的任何窗口而不是仅共享 chrome 选项卡会很好。此外,是否有任何关于 chrome 用于与 chromecast 通信的通信文档?据我了解,chromecast 本质上是从嵌入式 chrome 实例加载内容,但似乎有更直接的方式与设备通信,因为它能够使用扩展从 chrome 选项卡流式传输内容。

【问题讨论】:

    标签: google-cast


    【解决方案1】:

    如果您正在开发接收器应用程序,则需要将您的接收器设备列入白名单。那将是在接收者的 Chrome 实例上运行的 Chome 应用程序。

    如果您正在开发将投射其内容的 Chrome 应用程序,则需要将发件人网址列入白名单。

    视频投射通过向接收设备发送一个 url 来工作,设备将直接加载该设备。

    选项卡投射通过使用 WebM/Opus(在 Chrome cast 扩展程序中)对选项卡内容进行编码并将其流式传输到接收器设备来工作。 (仅限720p,见this question

    Chrome 应用只能使用视频投射。

    chrome cast 扩展将是直接流式传输到设备的唯一方式。

    因此,您的问题的答案是否定的,您不能将视频直接流式传输到设备。接收方必须从您提供的 url 加载视频。

    有一些猜测是否可以为接收者提供本地 url,或者它是否必须已经在互联网上可用。这还有待澄清。

    【讨论】:

      【解决方案2】:

      从我对 Chromecast 架构的理解来看:

      您可以在电视上显示您想要的任何 URL(您必须先whitelist your app 并注册该 URL)。它必须是一个 URL。这可以包括 HTML、JS、CSS 等。互联网上已经存在的任何内容。

      要从设备接收数据(例如,要加载的视频的 URL),您必须实现逻辑来解释来自频道的消息。这些消息被编码为 JSON,这使得发送视频或图片(二进制数据)变得困难。将这样的内容上传到某个网站并让接收者显示它们显然是最简单的。

      人们问,“那么,标签/屏幕共享是如何工作的?” JSON 编码正是 Google 在其 SDK 中提供的。在他们自己的来源中,他们没有这个限制。

      更新: 事实证明,您实际上可以通过在 Chrome 中打开本地文件,然后将其投射到电视上,将 stream local videos 发送到电视。

      【讨论】:

      • 应该可以使用 libvpx、libopus 和 libwebm 创建 webm 流(VLC 实际上支持开箱即用的流,但不记得它支持什么格式)然后托管某个端口上的视频,并让嵌入式 chrome 连接到它。唯一的问题是如何在没有为 android、ios 或 chrome 提供 API 的情况下控制 chromecast 上的浏览​​器。
      • 另一方面,理想情况下你会使用 WebRTC 来流式传输视频,我相当肯定 VLC 不会支持(你可以只使用 libjingle)。
      • 应该可以,但是 Cast SDK 并没有让你直接访问频道。但这并不意味着您不能通过它进行流式传输。
      • 我敢打赌,只有 Chrome cast 扩展被列入白名单,以将 WebM/Opus 内容流式传输到接收器设备。您也许可以修改扩展或复制其中的一部分来完成您想要的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 2018-01-10
      • 1970-01-01
      相关资源
      最近更新 更多