2016-05-30 83 views
1

在这个年龄段的*聊天应用和各种通讯软件,我想知道是否已经有官方协议(RFC),将遵循以下基本流程:照片流上传协议

  1. 客户端连接到服务器为一个新的会话

  2. 客户端上载的元数据信息(大小,分辨率,格式)到服务器

  3. 服务器做了一些工作(而不是协议的一部分)的图像(或视频)
  4. 服务器与拒绝,然后客户端变为1
  5. 服务器与回复ACCEPT然后客户端停止,并收集结果作为来自服务器

我有一个专有解决方案的答复的一部分,现在确实基本回复(支持基本格式),正如我们所知,魔鬼在细节中,所以我想知道一些现有的协议是否会覆盖流格式,以及我可能错过了这个简单设计的更多不愉快的路径。

回答

1

我不知道,可以处理文件探测为您带来任何协议的..

ffprobe是一个很好的开源解决方案要做到这一点,但需要的处理能力和规模。

所以这一步必须在上传后在服务器端完成。您不能相信客户提供这些信息。

我建议采用云方法。在这里,我们正在使用Amazon Cloud。

将您的文件上传到AWS S3。您可以使用多部分上传来加快上传速度。无需扩展任何东西,AWS会为您做到这一点。 您的客户只需从您的Web服务器请求签名的URL。服务器返回该新资产的URL和ID。您的客户使用URL上传到AWS S3。

上传完成后,客户端再次打电话给您的服务器说:“我已完成资产ID等等。您的服务器知道现在资产已上传,并可以启动代码转换,分析,数据库更新等。

我们在我们的项目中执行此确切场景。 对于大规模转码,我们使用我们自己的开源项目:https://github.com/sportarchive/CloudTranscode

这不是一件容易的事,特别是如果你想处理视频。

如果你限制自己的照片,那么很多都可以在用户端完成。您可以在JS中直接在浏览器中或在移动应用程序中创建多个版本的图像,并将它们上传到您的服务器。负载更小,您可能不需要这种解耦架构。

如果你处理视频,你需要一个坚实的后端。

希望得到这个帮助