【问题标题】:Livestreaming or uploading videos to YouTube API without exposing credentials在不暴露凭据的情况下将视频直播或上传到 YouTube API
【发布时间】:2018-05-12 05:25:41
【问题描述】:

我正在构建一个 Android/iOS(在后台使用 Angular/Ionic/Cordova)应用程序,我希望任何用户都能在其中录制视频,并且:

  • 直播或上传(拍摄后)视频到我的应用的私人/官方 YouTube 频道
  • 此频道上的所有视频最好是私有的/除了“我的应用”之外的任何人都看不到
  • 然后,在我的应用内部,应用后端将与我的 YouTube 频道(通过 YouTube API)集成,并允许用户从我的应用内部搜索和查看我的私人视频

所以基本上我试图让我的应用程序的后端提供私人视频托管/观看,但不必自己解决视频托管问题,而是使用 YouTube 作为视频商店。

我要求视频在我的应用程序之外是私有的/不可见的并不是硬性要求,如果可能的话,只是首选。我的应用架构如下:

  • Android 和 iOS 应用前端(带有嵌入式 YouTube 播放器)
  • Java 后端
  • 用于视频托管的 YouTube

我不太关心的事情:

  • 我知道它可以通过 Android/iOS 从应用程序内部访问相机,我知道如何做到这一点
  • 我知道它可以通过我的 Java 后端的 YouTube API 来查询 YouTube 以获取要显示的正确视频,然后将它们呈现给应用程序/前端内的最终用户;我可以弄清楚如何做到这一点
  • 我知道可以将 YouTube 播放器嵌入 Android/iOS 应用程序并从我的应用程序中观看 YouTube 视频,我知道如何做到这一点

但我很纠结的是:

如何允许我的最终用户(在我的应用程序中)指定直播与批量上传模式(我假设这是 YouTube API 客户端内的配置设置),然后在不暴露频道访问权限的情况下将它们实际上传到 YouTube / 最终用户的凭据信息。

我实际上是在后台使用 Ionic/Cordova,所以如果有一个库可以帮助管理 API 集成和视频的直播/上传,那就太好了,但我没有看到。

【问题讨论】:

标签: android ios cordova video youtube


【解决方案1】:

身份验证和凭据

依靠您的用户拥有自己的 YouTube 帐户可能更有意义,而且肯定更适合 YouTube's guidelines。使用这种方法,您无需担心保护您自己帐户的凭据,而且作为额外的好处,您可以使用 Google 身份验证,而不是构建自己的身份验证后端。

内容管理

您可以通过attach all of your user-submitted videos to a playlist 将视频链接到您的应用,而不是将所有视频上传到您的个人帐户。这将再次允许您使用用户的凭据而不是您自己的凭据,并且符合 YouTube API's 的预期用例。

流式传输与批量上传

YouTube 已有 API built to handle streaming videosAPI for uploading a saved video。您可以在应用中为用户提供任一选项。

奖金回合

这里是 Cordova video playernative camera 的 Ionic 插件。

【讨论】:

  • 非常感谢@makinbacon (+1) - 你所说的一切都很有道理(尤其是将视频附加到播放列表的概念 - 太棒了!只是澄清几点:假设用户是直播一些东西。所以在我的应用程序中会有一个类似“STREAM NOW!”按钮。当他们点击它时,我的应用程序会打开原生相机。这是我的主要心理障碍所在:相机不是自己的应用程序吗?!
  • 如果是这样,他们的相机正在录制的视频(从本机相机“应用程序”内部)如何从我的应用程序内部(Cordova 前端或我的 Java 后端)访问 YouTube API?
  • 相机在您的应用程序中以模式打开。它基本上是一个弹出窗口,可以在不离开您的应用程序的情况下运行相机应用程序。您可以将参数传递给相机,例如回调或是否使用闪光灯。它在概念上类似于 html iframe,但更紧密集成。对于流式传输视频,我建议使用 RTC(实时聊天)插件,例如 WebRTC。我在 Google 上搜索并在 StackOverflow 上找到了有关如何使用 Ionic 设置视频流的详细信息:stackoverflow.com/questions/30858180/…
  • 啊,谢谢@makinbacon(再次+1),所以我100% 非常清楚:(1) 用户可以提前输入自己的 YouTube 频道信息(该应用将用于 YouTube API 集成。也许让他们在帐户设置和首选项等中进行设置。然后 (2) 在使用该应用时,他们选择“STREAM现在!”并且相机会在“我的应用程序内部”打开,我可以使用任何类型的选项(如您所说:闪光灯、回调等)配置相机。
  • 然后 (3) 作为这些选项的一部分,我可以使用他们之前保存在“帐户设置”中的频道信息让他们直播(回调?)到他们的 YouTube 频道& 优先”。然后最后 (4) 我的应用会将此视频与我的官方频道上的播放列表相关联?我是否可以在直播时建立播放列表关联,还是需要等待视频完成流式传输(或批量上传)才能将其他人的流/视频与我的播放列表关联?
猜你喜欢
  • 2011-07-10
  • 2018-03-02
  • 2016-05-02
  • 2018-01-29
  • 2018-09-09
  • 1970-01-01
  • 2014-02-16
  • 2018-02-02
  • 1970-01-01
相关资源
最近更新 更多