我有一个视频流应用程序,它可以从谷歌存储桶流式传输视频。驻留在存储桶上的所有文件都不公开。每次当用户从前端单击视频时,我都会使用 API 生成签名 URL 并加载到HTML5
视频播放器中。
问题
- 我看看文件大小是否超过 100 MB,在前端加载视频大约需要 30-40 秒。
当我用谷歌搜索解决这个问题时,有些文章说使用云 CDN 和存储桶然后缓存文件。据我所知,要缓存文件,该文件必须公开可用。我无法公开文件。
所以我担心的是,有什么方法可以使它可扩展/减少初始时间?
我有一个视频流应用程序,它可以从谷歌存储桶流式传输视频。驻留在存储桶上的所有文件都不公开。每次当用户从前端单击视频时,我都会使用 API 生成签名 URL 并加载到HTML5
视频播放器中。
问题
当我用谷歌搜索解决这个问题时,有些文章说使用云 CDN 和存储桶然后缓存文件。据我所知,要缓存文件,该文件必须公开可用。我无法公开文件。
所以我担心的是,有什么方法可以使它可扩展/减少初始时间?
Cloud CDN 肯定会帮助您解决延迟问题。此外,由于延迟时间如此之长,最好查看发送到 Cloud Storage 的实际请求,以确保正在请求块,并且在开始播放之前没有加载整个视频文件。
缓存文件不要求文件是公开的。您可以将文件设为私有并将 Cloud CDN 服务添加到您的 Cloud Storage ACL ( https://cloud.google.com/cdn/docs/using-signed-urls#configuring_permissions )。此外,正如 Kolban 上面提到的,签名 cookie 可能更适合您的应用程序来简化请求。
不是一个确切的答案,但这个站点对于使用 GCP 设计解决方案很有用。 https://gcp.solutions/diagram/media-transcoding