我正在使用 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/