【问题标题】:How to design scalable video streaming architecture using GCP?如何使用 GCP 设计可扩展的视频流架构?
【发布时间】:2020-08-21 18:47:09
【问题描述】:

我有一个视频流应用程序,它可以从谷歌存储桶流式传输视频。驻留在存储桶上的所有文件都不公开。每次用户从前端点击视频时,我都会使用 API 生成签名 URL 并加载到 HTML5 视频播放器中。

问题

  • 我查看文件大小是否超过 100 MB,将视频加载到前端大约需要 30-40 秒。

当我用谷歌搜索解决这个问题时,有些文章说使用云 CDN 和存储桶然后缓存文件。据我所知,要缓存文件,该文件必须公开可用。我无法公开文件。

所以我担心的是,有什么方法可以使它可扩展/减少初始时间?

【问题讨论】:

标签: google-cloud-platform google-cloud-storage video-streaming scalability google-cloud-cdn


【解决方案1】:

Cloud CDN 肯定会帮助您减少延迟。此外,由于延迟时间如此之长,最好查看发送到 Cloud Storage 的实际请求,以确保正在请求块,并且在开始播放之前没有加载整个视频文件。

缓存文件不需要公开文件。您可以将文件设为私有并将 Cloud CDN 服务添加到您的 Cloud Storage ACL (https://cloud.google.com/cdn/docs/using-signed-urls#configuring_permissions)。此外,正如 Kolban 上面提到的,签名 cookie 可能更适合您的应用程序来简化请求。

【讨论】:

  • 嗨@Paul - 感谢您的回复。您能否指导我如何使用节点 js 生成以编程方式签名的 URL。我已经为支持的存储桶配置了 CDN 并创建了一个服务帐户,但在生成自定义签名 URL 时卡住了。
  • 有一个模块可以从另一个答案链接到:stackoverflow.com/questions/20754279/…。您是否遇到了图书馆未处理的问题?
【解决方案2】:

不是一个确切的答案,但这个网站对于使用 GCP 设计解决方案很有用。 https://gcp.solutions/diagram/media-transcoding

如前所述,CDN 是低延迟视频流的正确选择。

【讨论】:

    猜你喜欢
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 2020-12-26
    • 1970-01-01
    相关资源
    最近更新 更多