当您点击 YouTube 视频时,有没有办法让 Firefox 在外部播放器(例如 vlc)中流式传输 YouTube 视频?更一般地说,是否可以在单击某些类型的链接(例如 www.youtube.com/watch?v=* 形式的链接)时运行外部脚本?
更雄心勃勃的是,当我在按下 CTRL 的同时单击 YouTube 视频时,我想自动 ssh 到我的树莓派并使用 omxplayer 在树莓派上流式传输视频。
任何帮助都感激不尽。
答案1
您主要需要的是从浏览器在操作系统上发出外部命令。但由于明显的安全原因,这通常很困难。但是,Firefox 有一个附加组件可以实现此目的:命令运行。但我还没有尝试过这个插件,所以无法评论它。
一个相当好的解决方案
但是,我建议使用另一种替代解决方案Autokey
。根据您的需求,这不会是最好的解决方案,但它可能是一个合理的解决方案。
因此,首先安装自动密钥:
sudo apt-get install autokey-gtk #Assuming you're on a Debian-based linux
现在,在 中Autokey
创建一个新脚本并在该脚本中写入以下行:
import subprocess
keyboard.send_keys("<ctrl>+l") #Bring cursor to the location bar
time.sleep(0.15)
keyboard.send_keys("<ctrl>+c") #Now copy the location from the location bar
time.sleep(0.15)
keyboard.send_keys("<ctrl>+w") #Now close the window
time.sleep(0.15)
text = clipboard.get_selection() #copy the clipboard content i.e. the URL
subprocess.call(["vlc", text]) #Make the call to vlc player
现在,为此脚本分配一些热键,例如SuperL您喜欢的任何其他热键。另外,指定一个过滤器,以便该脚本仅在 Firefox 窗口上运行,而不在任何其他窗口上运行。要应用过滤器,只需添加.*Firefox.*
过滤器即可。
这是如何运作的:
现在,每当您在 Firefox 上访问 YouTube 视频页面时,您都可以按SuperL,该脚本就会运行。它将首先复制网址,然后关闭 YouTube 选项卡。然后它将获取此 url 并调用 vlc 来运行此视频。
进一步延伸
您可以进一步轻松扩展脚本以与 RaspberryPi 建立 ssh 连接并在那里运行视频。