【问题标题】:YouTube - Download/Play Private VideosYouTube - 下载/播放私人视频
【发布时间】:2016-09-28 19:49:03
【问题描述】:

我的 iOS 应用将包含私人和公共视频,用户可以购买私人视频。现在我正在使用 YouTube 和 youtube-ios-player-helper library 进行视频托管。加载公共视频非常简单:

playerView.loadWithVideoId("M7lc1UVf-VE")

但是对于私人视频,您如何以最简单的方式做到这一点?有没有这么简单的东西:

let playerVars = [
    "username": username,
    "password": password,
]
playerView.loadWithVideoId("M7lc1UVf-VE", playerVars: playerVars)

还是同样简单的东西?

【问题讨论】:

  • 请不要索取图书馆或其他场外资源。这类问题对于 Stack Overflow 来说是题外话。
  • 嘿rigdonmr 有什么更新吗?如果我的回答有帮助或者您有任何后续问题,请告诉我。
  • 我还有一个问题,但你可能认为它“离题”:(
  • 问题是什么?在评论和review the help center 中询问它是否是主题。
  • 我想知道是否有许多人用于此类功能的“首选”库。也许是 AWS Cloudfront?

标签: ios swift youtube youtube-api ytplayerview


【解决方案1】:

如果您查看YouTube Embedded Players and Player Parameters API Documentation,您会发现无法传递用户的凭据。

在像YTPlayerView helper 类这样的网络视图中播放私人视频的唯一方法是控制网络视图并让用户登录他们的 YouTube 帐户,然后在其中播放私人视频 仅限特定的网络视图会话。 YouTube 建议将视频标记为不公开而不是私有,以便在移动设备上播放。

有关Android播放器的讨论可以在this similar questionthis Google Groups post找到。

【讨论】:

  • 您知道未列出的方法是否存在潜在问题吗?不能有人从不公开的视频中获取视频 id 并与所有人分享,现在每个人都有可以放入 URL 的 id 吗?
  • @rigdonmr 传统上,任何人都能够获取 URL 的唯一方法是直接将 URL 提供给他们。与任何 Web 请求一样,有人可能会嗅探请求或使用越狱设备并获取 URL。但是,如果您依靠 YouTube 来确保安全,我认为您使用的是错误的视频平台。您能详细说明一下您的用例吗?
  • 所以我的应用程序上有一个视频库。有些是免费的,它们是公共视频;有些会花钱,我希望我可以使用带有密钥的私人视频(用户在购买视频时会获得一个密钥),但正如你所说,它不在 API 中。对于不公开的视频,我担心的是它实际上并不是私密的,更像是隐藏的,但对于规模相对较小的应用,这有关系吗?
  • @rigdonmr 我认为您的用例没有重大安全漏洞。未列出的视频应该可以使用,如果您发现某些视频被泄露,您可以随时轮换使用每隔几个月使用的视频 ID。最糟糕的是,您可以要求您的用户在显示任何私人视频之前在 web 视图中登录他们的 YouTube 帐户。我不确定这将如何工作,因为您不会收到登录回调。
  • 不幸的是,YouTube 让这变得非常困难。您始终可以使用备用主机,或违反 YouTube 的服务条款,并通过从视频清单中获取直接 MP4 链接以 AVPlayer 或其他方式播放视频。不过我不建议这样做。
猜你喜欢
  • 2015-03-22
  • 2015-12-26
  • 2015-08-21
  • 2014-08-27
  • 2018-09-02
  • 2018-01-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多