我可以从 chrome-app 调用 youtube-dl 和 ffmpeg 等 API 吗?

Can I make calls to APIs such as youtube-dl and ffmpeg from a chrome-app?

首先,我还没有开始实施我将要描述的系统,因为我不想承诺实施一些我不知道是否可能的事情。

所以,我想要实现的是构建一个 chrome-app,使用 youtube-dl 从某些网站(例如 youtube 和 soundcloud)下载音频,post 使用 ffmpeg 处理它,然后通过一些 api 将其上传到云服务。我想通过 chrome-app 来做的原因是因为我可以在客户端完成所有工作(不需要服务器)并且我可以使用内容脚本将 javascript 插入页面,这将使该应用程序非常易于使用(我可以创建诸如 'download song' 之类的按钮)。

虽然我已经阅读了解释 NaCl 技术概述和一些应用程序结构的文档,但我仍然不确定我是否能够通过某些 C/C++ 模块进行这些调用或者如果我出于安全原因被拒绝。

总结一下:考虑到用户在他的系统中有所需的依赖项(youtube-dl、python、ffmpeg 等),是否可以通过使用 NaCl 的 chrome 应用程序?

提前谢谢大家,

Chrome 应用通常是沙盒化的。

不如扩展 - 它们可以通过应用程序 API 访问更多的系统资源。

但是,您提到的是在浏览器外执行 库/实用程序,这通常是不允许的。

(P)NaCl 在这方面是严格沙盒化的。请参阅 this old question,它仍然适用:您只能将编译成 NaCl 的第 3 方代码与您的应用程序一起使用,而不仅仅是 link 到库。有一些 NaCl 的库端口,但不是自动的。

通常,几年前您会使用像 NPAPI 这样的机制来访问并使用浏览器之外的库。它已被弃用,将不再起作用。取而代之的是,Chrome 提供了一个类似管道的(通过 stdio)连接到名为 Native Messaging 的外部程序。您可以使用它来执行系统级库和工具的操作,但缺点是您不能将本机主机与您的应用程序捆绑在一起,您需要一个单独的安装程序。