1

我正在编写单页面web应用(angularJs)和服务器后端(node.js)。它们之间的通信是通过REST完成的。基于浏览器的文件上传到AWS S3并编码服务器 - 客户端工作流程

目前即时通讯试图实现以下情形:

  1. 上传浏览器大文件到S3公共桶。

  2. 复制上传文件到私人桶上S3

  3. 转码上传的文件为HTML 5兼容的格式(AWS弹性转码器)

  4. 关于DB文件

    商店元对象以后要进入

我正在绞尽脑汁为服务器和客户端之间的通信/数据工作流程设计一个良好的工作方式,但总是被困在以下问题中?

  • 将文件元对象存储在过程的末尾或开始处。如果是在一开始,我必须存储和处理一些状态信息?

  • 谁应该开始将上传的文件复制到专用存储桶。服务器或客户端?如果是服务器,客户如何获得有关工作的信息?

  • 谁开始转码过程?如果是服务器,客户如何获得有关工作的信息?

你会怎么做?

回答

1

有描述您打算实现用例的一个很好的教程:http://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-amazon-s3-and-cloudfront/

如果您的转码系统有问题的REST API(如bitcodin这是在本教程中使用,或任何其他服务),您可以在客户端执行应用程序,并使用API​​调用来获取转码等的状态。但是,使用API​​可以在服务器端执行相同的操作,无论哪种方式更适合您。

我个人会在流程开始时存储元数据信息,因为这是您在数据库/ CMS /等中生成“资产”的时间点。

+0

Thx为您的答案Stefan。我检查了你链接的教程,实际上这符合我计划实施的内容。主要区别在于,所有这些步骤都应该在我的系统中自动完成。用户只是将文件放入浏览器中。这就是服务器和客户端之间的数据和通信流开始对我来说不那么明显的地步。如果服务器启动此过程,客户端如何获知转码已完成? –

相关问题