Firefox:点击运行外部程序

Firefox:点击运行外部程序

当您点击 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 连接并在那里运行视频。

相关内容