【问题标题】:Stream mp3s From Firebase Storage从 Firebase 存储流式传输 mp3
【发布时间】:2018-10-30 19:45:28
【问题描述】:

问题

我正在构建一个后端服务,它为 Android 客户端创建 mp3 以通过ExoPlayer 进行流式传输。

从长远来看Firebase's Storage Pricing,如果存储有 10 gbs 并且 10,000 个用户 将有 100,000 gb 进行传输这非常昂贵(11,600 美元)。

在云上流式传输 mp3 以避免数据传输费用的最佳解决方案是什么?

可能的解决方案

  1. 使用 ExoPlayer 直接从云端流式传输 mp3,无需下载。
  2. 使用单独的 API 一次性从 Cloud Storage 下载 10gb,然后通过单独的 API 将 mp3 流式传输到移动客户端。

【问题讨论】:

    标签: android mp3 firebase-storage soundcloud audio-streaming


    【解决方案1】:

    可能的解决方案 #1 是最佳解决方案:使用 ExoPlayer 直接从云端流式传输 mp3,无需下载。

    感谢 ExoPlayer 团队的 Oliver Woodman 解决了this question on Github

    如果将 mp3 文件保存到云端,即:Firebase Storage / Google Cloud Storage,是否可以从 Exoplayer 流式传输文件而无需下载完整文件大小?

    是的。这正是您使用 ExoPlayer 播放流时默认发生的情况。

    如果 mp3 可以直接从 Cloud Storage 流式传输,那么由于文件本身没有被下载,因此在传输流时使用了多少百分比的文件内存?

    您可以通过实例化您自己的 DefaultLoadControl 来配置它,您可以在构建播放器时将其传递给 ExoPlayerFactory.newSimpleInstance。如果您需要更多控制,也可以从头开始实现自己的 LoadControl。

    请注意,虽然提前缓冲越少可以节省数据传输成本,但它也使得重新缓冲更有可能发生,因为玩家将不太能够解决临时的网络连接问题。

    【讨论】:

      猜你喜欢
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      相关资源
      最近更新 更多