Firebase 存储视频流

标签 firebase video-streaming google-cloud-platform firebase-storage

我正在开发一个具有视频流功能的应用程序。我正在使用 firebase 数据库和 firebase 存储。我正在尝试查找一些有关 Firebase 存储如何处理视频文件的文档,但找不到太多。

文档中提到,Firebase 存储可与其他 Google 应用服务配合使用,以允许 CDN 和视频流,但所有搜索似乎都会进入死胡同。有什么建议吗?

最佳答案

我认为视频流有多种类型,这可能会改变我们的答案:

  • 直播(订阅者在事件发生时观看)
  • Youtube 风格(发布视频,最终用户在方便时观看)

在使用 Firebase 存储和 Firebase 实时数据库构建了直播 Periscope 风格的应用后,我强烈建议不要这样做——我们上传了三秒的 block 并通过实时数据库同步它们。虽然它有效(出奇地好),但在非常好的互联网上有大约 5 秒的延迟,而且它也不是最有效的解决方案(毕竟,您正在上传和存储该视频,而且没有任何转码) 。我建议使用一些专为视频传输而构建的 WebRTC 风格,并使用实时数据库沿流发送信号。

另一方面,在 Firebase 功能上构建移动 YouTube 视频绝对是可能的。这里的技巧是对视频进行转码(使用 Zencoder 或 Bitmovin 之类的工具,更多信息请参见: https://cloud.google.com/solutions/media/ ),将上传的视频切成不同分辨率(和不同格式,iOS 需要 HLS 进行流式传输)的较小块)。您的客户端可以将 block 信息存储在实时数据库中( block 名称、可用分辨率、 block 数量),并且可以随着视频的播放从存储中下载所述 block 。

关于Firebase 存储视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865482/

相关文章:

javascript - 如何从 ServiceWorker 流式传输视频?

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

java - 无法使用 Java 12 连接到谷歌云 API

google-cloud-platform - 谷歌云存储文件系统,Python 包错误 : AttributeError: 'GCSFile' object has no attribute 'gcsfs'

reactjs - npm run build in react 后没有 service-worker.js 文件

ios - Firestore : Use of unresolved identifier 'Firestore'

node.js - 生成客户端 token 时出错(PayPal 和 Firebase 函数)

android - getContactsFromFirebase() 方法返回一个空列表

ios - AVSynchronizedLayer 动画适用于本地文件但在流式传输时效果不佳

node.js - gcloud 应用程序部署要求 'storage' 属性