【发布时间】:2013-08-28 03:55:02
【问题描述】:
Google 云端硬盘视频流是如何工作的?在内部它如何流式传输视频,它是使用基于 HTTP 的流式传输还是其他协议?我对此很陌生,我想知道 Google Drive 是否可以用作演示服务器来获取视频流并在网页上显示。 如果有人能给我这方面的信息,那将非常有帮助。
【问题讨论】:
标签: video video-streaming google-drive-api
Google 云端硬盘视频流是如何工作的?在内部它如何流式传输视频,它是使用基于 HTTP 的流式传输还是其他协议?我对此很陌生,我想知道 Google Drive 是否可以用作演示服务器来获取视频流并在网页上显示。 如果有人能给我这方面的信息,那将非常有帮助。
【问题讨论】:
标签: video video-streaming google-drive-api
这些解决方案都不再有效。这行得通。观看者无需登录其 Google 帐户即可观看视频。
<iframe src="https://drive.google.com/file/d/<video id>/preview" width="640" height="480"></iframe>
【讨论】:
好的,我刚刚设法让这个工作如下 -
在谷歌驱动器中,我将视频文件放在一个公开共享的文件夹中,然后右键单击该文件并选择共享>共享..
然后谷歌给了我一个分享链接,看起来像
https://docs.google.com/file/d/0B4BsAbG4atWHQzVfLUU3UnhhZTA/edit?usp=sharing
我已经从 URL 中删除了我猜测的文件 ID -
0B4BsAbG4atWHQzVfLUU3UnhhZTA
并将其添加到 metal7 的 url 以创建源标签的 src 属性
<source src="https://drive.google.com/uc?export=download&id=0B4BsAbG4atWHQzVfLUU3UnhhZTA" type='video/webm'/>
现在我有一个使用以下 html 的视频。
<html>
<head>
<title>Video Test</title>
</head>
<body>
<video controls="controls">
<source src="https://drive.google.com/uc?export=download&id=0B4BsAbG4atWHQzVfLUU3UnhhZTA" type='video/webm'/>
</video>
</body>
</html>
似乎很多人建议创建一个 API 应用程序来获取文件 ID,但看起来您很容易猜到。也就是说,我有兴趣从谷歌那里看到一些适当的文档——我想在生产中使用它,但我觉得我需要做更多的阅读才能有信心。
更新
我阅读了更多内容,恐怕视频只能在登录到谷歌帐户的浏览器上播放。我花了很多时间试图解决这个问题(包括使用 api 构建一个 google drive 应用程序),恐怕它看起来没有办法解决它。
除非您知道所有用户都将通过 google 进行身份验证,否则请勿使用 google drive 以 html 格式提供视频。
【讨论】:
这样使用网址:
https://googledrive.com/host/{YOUR_VIDEO_ID}
例如https://googledrive.com/host/01bLAblaBla01BlaBLaBlaBLaBLA
它适用于 HTML5(视频标签)和其他类似 videojs,等等...
【讨论】:
我自己做了一些测试,只要文件在 Google 云端硬盘上公开共享,视频就可以(通过 HTTP)流式传输到公共客户端。
使用常规 HTTP 流获取文件以播放,您可以像这样使用 HTML5 video 标签:
<video controls="controls">
<!-- Safari -->
<source src="https://drive.google.com/uc?export=download&id=0B0JMGMGgxp9WMEdWb1hyQUhlOWs" type='video/mp4'/>
<!-- Chrome and FF -->
<source src="https://drive.google.com/uc?export=download&id=0B0JMGMGgxp9WMEdWb1hyQUhlOWs" type='video/webm'/>
</video>
此方法将在以下位置进一步解释:http://sourcey.com/html5-video-streaming-from-google-drive/
【讨论】:
在 Google Drive 的网页查看器中查看时,Google Drive 在内部通过 HTTPS/443 流式传输视频。视频本身只建立了一个连接,只要视频从 Google Drive 流式传输到客户端,该连接就会保持打开状态。
Google 云端硬盘使用 HTTP CONNECT 调用。标头如下所示:
CONNECT r3---sn-p5qlsu68.c.docs.google.com:443 HTTP/1.1
Host: r3---sn-p5qlsu68.c.docs.google.com
Proxy-Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36
【讨论】: