如何从 google 驱动器共享视频 link 获取 exoplayer 的真实视频 url?
How to get a true video url for exoplayer from google drive shared video link?
我想在 exoplayer 中播放来自 google 驱动器的视频。我复制了可共享的link。但是这个 link 导致 google 驱动视频播放器页面。我检查了可共享 link 响应,它包含 link 视频缩略图和视频 link。但是这个视频 link 正在进一步调用任何代码来播放视频。我想从响应中获取或更具体地提取真正的可播放视频 link。这是响应中的代码部分,其中包含重要的 links,
<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&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&ps=docs&partnerid=30&cc_load_policy=1">
<meta property="og:video:type" content="application/x-shockwave-flash">
图像缩略图 link 可以使用,但我找不到 link 可以用来在 exo 播放器 android 应用程序中播放视频的 link。
这是原始的可共享 link:
https://drive.google.com/file/d/1eqNQOwDzDDjHizpUz-sB86VK4LisqGu1/view?usp=sharing
Google 驾驶视频并非设计为按照您的意愿直接流式传输 - 可以做到,见下文,但您需要注意,因为这不是预期用途,您可以找到如果 Google 驱动更新他们构建或部署解决方案的方式,它会在一夜之间停止工作。
考虑到上述警告,有一些方法可以让您提取原始视频 URL - 请参阅此答案以获得一个很好的示例,其中概述了多种方法:
需要注意的一件事 - 您的原始托管视频实际上是使用 ABR 流式传输协议传送的,这意味着视频被复制到服务器端的不同 resolutions/bitrates,并且每个副本都分成块。玩家可以根据当前的网络状况和播放器能力来决定为下一个块下载哪种分辨率。例如,通过查看设置查看视频的 'quality' 选项:
根据您使用的方法,您可能需要了解您想要的特定分辨率的特定 URL。
如果您只是想在应用程序中播放视频而不需要通过 ExoPlayer,您可能会发现在应用程序的 Webview 中使用标准嵌入代码会容易得多。
我想在 exoplayer 中播放来自 google 驱动器的视频。我复制了可共享的link。但是这个 link 导致 google 驱动视频播放器页面。我检查了可共享 link 响应,它包含 link 视频缩略图和视频 link。但是这个视频 link 正在进一步调用任何代码来播放视频。我想从响应中获取或更具体地提取真正的可播放视频 link。这是响应中的代码部分,其中包含重要的 links,
<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&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&ps=docs&partnerid=30&cc_load_policy=1">
<meta property="og:video:type" content="application/x-shockwave-flash">
图像缩略图 link 可以使用,但我找不到 link 可以用来在 exo 播放器 android 应用程序中播放视频的 link。 这是原始的可共享 link: https://drive.google.com/file/d/1eqNQOwDzDDjHizpUz-sB86VK4LisqGu1/view?usp=sharing
Google 驾驶视频并非设计为按照您的意愿直接流式传输 - 可以做到,见下文,但您需要注意,因为这不是预期用途,您可以找到如果 Google 驱动更新他们构建或部署解决方案的方式,它会在一夜之间停止工作。
考虑到上述警告,有一些方法可以让您提取原始视频 URL - 请参阅此答案以获得一个很好的示例,其中概述了多种方法:
需要注意的一件事 - 您的原始托管视频实际上是使用 ABR 流式传输协议传送的,这意味着视频被复制到服务器端的不同 resolutions/bitrates,并且每个副本都分成块。玩家可以根据当前的网络状况和播放器能力来决定为下一个块下载哪种分辨率。例如,通过查看设置查看视频的 'quality' 选项:
根据您使用的方法,您可能需要了解您想要的特定分辨率的特定 URL。
如果您只是想在应用程序中播放视频而不需要通过 ExoPlayer,您可能会发现在应用程序的 Webview 中使用标准嵌入代码会容易得多。