Google 产品如何检测智能电视的存在或允许 YouTube 投射?

Google 产品如何检测智能电视的存在或允许 YouTube 投射?

我有一台装有 YouTube 应用的智能电视。我发现手机的 YouTube 应用以及手机和桌面上的 Chrome/Chromium 浏览器都能检测到智能电视的存在。这样我就可以直接在电视上播放视频。

FireFox 似乎无法检测智能电视,或者至少在我访问 YouTube 时无法显示投射按钮。

一般理论是,空中(或至少在网络上)一定有某种东西,电视正在播放它,而谷歌产品正在检测到它。

基于浏览器的 YouTube 和假设其 HTML/JavaScript 代码相同/相似,Chrome/Chromium 为何会显示投射按钮,而 FireFox 却不会。API 中一定有允许启用电视投射按钮的某些功能?

答案1

这些 Web 应用程序通常会广播数据包(地址为 MAC 地址FF:FF:FF:FF:FF:FF1,所以每个设备都会接受它 - 这被称为广播地址)询问它们是否是智能电视/显示器/ Chromecast 等。然后这些设备会回复“是的,我是......”数据包,然后您的 Web 应用程序会收到此信息并为您提供投射选项。

Chrome 浏览器可能有此功能(这样 YouTube 就可以发送广播数据包),但我不知道这是否只允许在 Chrome 上使用,或者是否只有 Chrome 被设计为允许 Web 应用程序向本地网络广播。也许未来 Firefox 也会支持此功能。

说实话,我讨厌这个功能——很容易意外地在网络上投射,尤其是在 Android 的 YouTube 应用上。所以我没有深入研究它的工作原理,只研究了如何禁用它。


1它可能是 IP 地址255.255.255.255,这是另一种广播方式——实现方式可能不同,但要点是相同的。

答案2

这些设备和应用程序使用 Google 的专有协议,称为谷歌Cast

谷歌Cast,针对消费设备品牌为内置 Chromecast是 Google 开发的专有协议,可让移动设备和个人电脑启动和控制兼容设备(例如连接到高清电视或家庭音响系统的数字媒体播放器)上互联网流式音频/视频内容的播放。该协议于 2013 年 7 月 24 日首次推出,用于支持 Google 的第一代 Chromecast 播放器。

相关内容