如何从云存储中获取文件并作为本地文件处理而不下载?

时间:2017-10-21 07:47:17

标签: node.js firebase ffmpeg google-cloud-storage firebase-storage

我正在开发一个项目,我必须使用ffmpeg(node.js)从视频中提取帧。我首先从我的客户端将视频上传到firebase存储,然后我想在后端服务器中处理它。但是,ffmpeg只接受文件,就像它存储在本地一样。

const ff =new ffmpeg('C:/Users/alexh/Desktop/alex/name.avi');

它不适用于网址。我想知道是否有任何方法可以从url获取文件,就像它存储在本地或firebase可以为我提供获取文件的方法?我不想使用文件库触发器事件,因为我想将http请求发送到后端服务器。

非常感谢

2 个答案:

答案 0 :(得分:0)

如果您在Linux或OS X上运行此操作,则可以使用GCS Fuse在文件系统上安装存储桶,然后将FFmpeg直接指向它。

答案 1 :(得分:0)

fluent-ffmpeg包支持对可读流而不仅仅是文件进行操作。 GCS客户端库支持creating a readable stream for a GCS object。通过组合这些,您可以直接从GCS操作ffmpeg。