android - 从 Firebase Storage 下载视频 - 逐 block 下载

标签 android firebase video-streaming firebase-storage

我正在使用 java(适用于 Android)构建一个应用程序,其主要目标之一是向客户端显示视频。

现在我将所有视频存储在 Firebase 存储中,一开始我想流式传输视频(youtube 风格),但不幸的是 Firebase 存储不支持它。

我读到有另一种“假装”流式传输视频的方法,即逐 block 下载视频并逐个播放,这样您就不需要等到整个视频下载到本地手机,然后才开始播放。

你可以在这里看到我在说什么 - Speeding up firebase storage download

所以我的问题是我可以使用哪个 API/库/东西来做到这一点,以及是否有人有可以向我展示的示例代码?

非常感谢!

最佳答案

Firebase SDK for Cloud Storage 没有任何方法来流式传输结果。

我能很快想到的选项:

  • 将视频存储为较小的 block ,每个 block 存储在一个单独的文件中。这样你就可以一张一张地检索文件,并在拥有最少数量的 block 时开始播放。
  • 设置您自己的服务器,该服务器从 Cloud Storage 读取数据(通常以更高的带宽),然后以较小的数据 block 向客户端发送响应。有关此内容的更多信息,另请参阅此答案:Video Streaming from Google Cloud Storage

这些实现起来都不是微不足道的,因此您可能需要考虑专用的视频流服务是否更适合您的需求。

关于android - 从 Firebase Storage 下载视频 - 逐 block 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60477571/

相关文章:

c - 为什么要将文件分割成 block 以进行 HTTP 流式传输?

android - 我可以从主线程访问共享首选项(保存/编辑)吗?

javascript - 如何获取包含字符串的数组的文档? Cloud Firestore 和 Cloud Functions

ios - swift 中的 Firebase 查询排序顺序?

javascript - 在 firestore 中缓存 get 的第一个实现

video - FFmpeg 命令 : stream generated raw video over RTSP

android - 在android中使用Vitamio库播放视频流?

android - PhoneGap Android 某些图像显示在浏览器上,但不显示在模拟器中

java - setVisibility 从 View.GONE 状态到 View.VISIBLE 无法正常工作

java - 用 Kotlin 编写的 Android 库,为 Java 应用程序提供支持