【问题标题】:Firebase Storage: Play back of a video url directly?Firebase 存储:直接播放视频网址?
【发布时间】:2018-12-31 00:04:58
【问题描述】:

到目前为止,我已经搜索了很多关于此的内容,但一无所获:

我正在尝试从 Firebase 存储中播放视频,并尝试能够在播放器加载时查看其进度,并能够前后查找它(任何播放器在流式传输视频时都会执行的操作)。

问题:

Firebase 团队表示无法从云存储中流式传输视频(不支持)。

尽管我能够做到这一点:

String url = "my_url_at_firebase_storage";

video_View.setVideoUri(Uri.parse(url));
video_View.start();

我能够将视频从 firebase 存储加载到视频视图中。

我检查过:

我检查了this link,它有一个答案说您必须将视频转码为块并将这些块保存到 Firebase 存储然后加载它们:

但我在这里迷路了:

1) 什么是视频块?

2) 如果 firebase 不支持流式传输,您将如何流式传输这些块?

我的问题:

由于该主题很少被记录,并且上面的链接没有提供有关如何实现它的足够信息:

我问:

如果 firebase 不支持流式传输,我们如何能够将视频直接加载到 videoview?

用 exoplayer 尝试过同样的方法,但没有用?

感谢您的努力。

【问题讨论】:

  • 直接将视频加载到videoview时,是不是要等到整个视频下载完毕才能播放?
  • @DanLevy 不是 2 秒后播放吗?
  • 2 秒后,是整个视频下载完成,还是在其余视频下载的同时开始播放?

标签: android firebase video-streaming firebase-storage


【解决方案1】:

“将视频转码成块”是指将其分成多个小块(单独的文件)。然后将这些部分上传到 Firebase Cloud Storage。

将视频分割成这些片段后,您就可以下载它们了。由于 Firebase 不支持流式传输,因此您必须在播放前完全下载每个块,但诀窍是您只需下载该块,而不是整个视频。

这能回答你的问题吗?

【讨论】:

  • 这似乎不是一个干净的方法吗?因为你需要先在本地下载文件才能播放。
  • 而且不干净,因为那你将如何正确地寻找,以及如何像 youtube 一样看到进度条上的加载?
  • 是的,但从技术上讲,流媒体也是一种下载。您预加载视频的一部分,将其存储在本地,然后将其删除。它以流的形式出现在用户面前的唯一原因是视频在播放后立即被删除。
  • 在搜索栏中寻找并显示预加载进度将是您的工作:)
  • 我们如何在寻找时参考下载的文件......我必须创建自己的播放器吗?
猜你喜欢
  • 2021-11-10
  • 2013-06-20
  • 1970-01-01
  • 2021-01-26
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多