【问题标题】:How to get a true video url for exoplayer from google drive shared video link?如何从谷歌驱动器共享视频链接中获取 exoplayer 的真实视频网址?
【发布时间】:2023-06-06 20:34:01
【问题描述】:

我想在 exoplayer 中播放来自谷歌驱动器的视频。我复制了可共享的链接。但是这个链接指向谷歌驱动器视频播放器页面。我检查了可共享链接响应,它包含视频缩略图的链接以及视频链接。但是这个视频链接正在进一步调用任何代码来播放视频。我想从响应中获取或更具体地提取真正的视频可播放链接。这是响应中包含重要链接的代码部分,

<meta name="referrer" content="origin">
<title>KOB-S3-E1.mp4 - Google Drive</title>
<meta property="og:title" content="KOB-S3-E1.mp4">
<meta property="og:type" content="video.other">
<meta property="og:site_name" content="Google Drive">
<meta property="og:url" content="https://drive.google.com/file/d/1eqNQOwDzDDjHizpUz-sB86VK4LisqGu1/view?usp=sharing&amp;usp=embed_facebook">
<meta property="og:image" content="https://lh4.googleusercontent.com/eqNekxifrzidbBB-SzJbdJJ1xcOY6NFgR_0wIXHAnX-uHLO3FfUmgt-AokDallwbAXI=w1200-h630-p">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:video" content="https://video.google.com/get_player?docid=1eqNQOwDzDDjHizpUz-sB86VK4LisqGu1&amp;ps=docs&amp;partnerid=30&amp;cc_load_policy=1">
<meta property="og:video:type" content="application/x-shockwave-flash">

图片缩略图链接有效,但我找不到可用于在 exo player android 应用中播放视频的链接。 这是原始的可共享链接: https://drive.google.com/file/d/1eqNQOwDzDDjHizpUz-sB86VK4LisqGu1/view?usp=sharing

【问题讨论】:

    标签: javascript android html google-drive-api exoplayer


    【解决方案1】:

    Google 云端硬盘视频并非旨在根据需要直接流式传输 - 可以这样做,见下文,但您需要注意,由于这不是预期用途,如果 Google 会发现它在一夜之间停止工作推动更新他们构建或部署解决方案的方式。

    考虑到上述注意事项,有一些方法可以让您提取原始视频 URL - 请参阅此答案以获得一个很好的示例,其中概述了多种方法:https://*.com/a/52397246/334402

    需要注意的一件事 - 您的原始托管视频实际上是使用 ABR 流式传输协议传送的,这意味着视频在服务器端被复制为不同的分辨率/比特率,并且每个副本被分成多个块。播放器可以根据当前的网络条件和播放器能力决定为下一个块下载哪个分辨率。例如,通过查看设置来查看视频的“质量”选项:

    根据您使用的方法,您可能需要了解您想要的特定分辨率的特定 URL。

    如果您只是想在应用程序中回放视频并且不需要通过 ExoPlayer,您可能会发现在应用程序的 Web 视图中简单地使用标准嵌入代码会容易得多。

    【讨论】:

      最近更新 更多