问题描述
我刚刚看到有关Chromecast的视频,我很想知道如何在我的Ubuntu PC上启用此功能。我的电视有一个HDMI端口。
最佳解决方法
它看起来好像您需要的只是浏览器Chrome或Chromium以及下面的扩展名:https://chrome.google.com/webstore/detail/google-cast/boadgeojelhgndaghljhdicfkmllpafd
次佳解决方法
documentation from Google表示Google Cast扩展在Linux中不受支持,但实际上确实有效。
为了在Ubuntu中实现这个功能:
-
确保您正在运行Chromium或Chrome版本28或更高版本。早期版本会得到“此计算机不支持此应用程序,安装已被禁用。”错误。 Ubuntu 13.04中的’chromium-browser’包运行良好。
-
确保iptables配置为允许Google Cast浏览器扩展使用的UPnP /SSDP流量发现ChromeCast设备。浏览器将从本地IP和一个短暂(随机)端口发送一个多播UDP数据包到239.255.255.250端口1900.ChromeCast设备将使用来自ChromeCast设备IP的单播UDP数据包和另一个临时端口响应源IP /组播数据包的端口。请注意,这与其他大多数UPnP设备稍有不同,它们通常会使用来自端口1900的单播UDP数据包进行响应,而不是使用临时端口。典型的
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
规则不会匹配响应数据包,因为iptables当前没有支持SSDP的conntrack帮助程序。另外,iptables -A INPUT -p udp --sport 1900 -j ACCEPT
规则typically used for UPnP/SSDP将不起作用,因为来自ChromeCast设备的回复不是来自端口1900.因此,您需要添加规则以在所有临时端口上接受UDP数据包。初始多播数据包的临时端口范围应为32768-61000(使用cat /proc/sys/net/ipv4/ip_local_port_range
进行验证),因此以下规则应起作用(注意它将插入输入规则的顶部):iptables -I INPUT -p udp -m udp --dport 32768:61000 -j ACCEPT
在ChromeCast设备被发现后(每次浏览器启动时),浏览器将使用到端口8008的TCP(HTTP)连接来控制它,而不需要任何特殊的iptables规则。 -
将Google Cast browser extension安装在Chromium或Chrome中。请注意,名为ChromeCast的应用/扩展程序可用,但这不是您想要的。
-
如果您尚未设置ChromeCast设备,请按照设备附带的说明进行设置。
-
配置好设备后,只需点击Chromium中的Cast按钮即可投射当前标签。
第三种解决方法
pulseaudio-dlna
这个项目正在积极发展中。从版本> = 0.4.6除DLNA外,还支持Chromecast。
从Ubuntu> = 16.10 pulseaudio-dlna位于Universe存储库中。
对于旧版本,需要先添加什么是PPA,我如何使用它们? ppa:qos /pulseaudio-dlna:
sudo apt-add-repository ppa:qos/pulseaudio-dlna
sudo apt-get update
然后我们可以安装pulseaudio-dlna它:
sudo apt-get install pulseaudio-dlna
然后它可以从终端或脚本运行
pulseaudio-dlna [options]
它将添加本地网络中可用的所有DLNA和Chromecast客户端作为音频输出设备,以从声音设置菜单中进行选择。
然后,我们可以将来自任何媒体播放器(或浏览器)的音频流式传输到我们的Chromecast客户端。
有关所有选项,请参阅GIT上的project’s documentation。
第四种方法
自从2年前提出这个问题以来,值得一提的是,2016年2月之后,在Xubuntu 15.10上,它就像下面这样简单:
-
安装Chrome for Linux
-
在Chrome中安装Google Cast browser extension
投射你想要的标签。那样容易。
第五种方法
我在PC上运行Ubuntu 14.04, Android 4.3在我的手机上。
首先,您需要插入Chromecast并将电视源更改为该HDMI端口。
接下来安装Phone app from here on play store
然后使用电话应用将Chromecast连接到您的WiFi,然后它将更新并重新启动。
之后,转到您的Ubuntu PC并打开Chromium并安装this app from the Chrome web store Chrome-cast设备现在已列出。就这么简单。
对于视频文件播放:转到文件>打开文件找到视频并打开。 Chromium浏览器内置了一个媒体播放器,然后您就可以流式传输它。记得去”full screen”(按F11
):)就是这样。
以下是在Chromium中工作的编解码器:http://www.chromium.org/audio-video
还有其他像VLC或XBMC这样的项目正在开发Chromecast兼容性,所以在我们可以传输所有内容之前不会太久。如果您使用Steam,则可以安装VLC或XBMC,并已经从一个Steam盒流到另一个Steam盒。
第六种方法
我刚拿到我的Chromecast设备。它可以从Chrome流式传输YouTube和标签。由于Netflix在Ubuntu上不可用,因此无法从Ubuntu流式传输电影。 Tab流媒体为您提供了许多很酷的功能。我已经尝试过:从Flickr流式传输照片,从Vimeo流式传输视频,从SoundCloud或谷歌音乐传输音乐(我将它连接到Receiver,所以体验非常棒)。
我没有看到音乐流媒体的任何问题,但在视频中,你可以看到一些丢帧(但不是真的,我看了一些imdb.com预告片,总体来说很好)。
我无法使用Chromecast play avi files from my local PC制作Chrome。它允许流式传输,但我在电视上看到黑屏(我想这不被支持)。
我没有做任何特别的事情来在Chrome上安装Chromecast插件,它只是起作用。
第七种方法
您需要基于Ubuntu的PC或NAS上的Google Cast服务器应用程序。
Chromecast设备是新的…问题是:“此应用程序是否存在?”这对Linux开发人员来说是一个新的机会。
更多关于Google developers page的信息
参考资料