rest - 使用 REST API 存储、流式传输视频和处理请求

标签 rest google-app-engine go video-streaming google-cloud-storage

我正在尝试创建一个网络服务器(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/

相关文章:

rest - 更新 RESTful 资源中的复合实体

ios - 如何确保 API 请求来 self 们的移动(ios/android)应用程序?

go - 如何将JSON响应中的特定数组值转换为只是数组中的第一个值?

Gomobile 绑定(bind)委托(delegate)/回调行为

go - 正确获取 golang.org/x/tools/go/ast/astutil 的方法

REST 404 与 400。使用哪一个?

rest - JavaEE 示例 FirstCup dukesAge 的问题

mysql - SQLAlchemy AppEngine 标准 - 与 MySQL 服务器的连接丢失

python - 在 Google App Engine 中处理多个 URL 脚本

google-app-engine - 如何按相关性对 Appengine 搜索索引结果进行排序?