我正在尝试创建一个网络服务器(REST API),它应该能够为客户请求存储、组织和流式传输视频。
我的困惑:
- 用户应该如何上传视频。通过研究,我决定将视频的所有元数据存储在数据库(谷歌数据存储)中,并将所有视频文件存储在单独的存储(谷歌云存储)中。现在,要上传视频,正确的方法是什么?
- 视频上传并存储后,流式传输将如何进行。假设用户发出观看视频的请求,服务器将为此收到一个 http 请求。但是如何流式传输视频?有这方面的服务吗?我猜是因为直接在代码中使用 http 流会影响性能。
根据我的理解,我想使用一种服务,它应该能够根据服务器的请求将视频从我的存储流式传输到客户端。我猜服务器应该只有在验证用户凭据后才向这个“视频流服务”发出请求。
最佳答案
对于问题 1(如何使客户能够上传对象),签名 URL 是一个不错的选择。
问题 2 大得多。根据您的需要,您可以简单地将客户端指向 GCS 视频文件,但现代媒体服务比这更先进一些。您可能想研究将 GCE 与流视频服务一起使用,例如 Wowza 之类的东西. Google 为其提供点击部署体验:http://cloud.google.com/tryitnow/wowza
(请记住,Wowza 是一个单独的产品,需要付费许可。我对它没有任何经验,既不提倡也不反对它)。
关于rest - 使用 REST API 存储、流式传输视频和处理请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32644953/