met*_*al7 11 video video-streaming google-drive-api
Google Drive视频流如何运作?内部如何流式传输视频,是使用基于HTTP的流媒体还是其他协议?我对此非常陌生,我想知道Google Drive是否可以用作演示服务器来获取视频流并在网页上显示.如果有人能给我这方面的信息,那将非常有帮助.
Aid*_*wen 17
好的,我刚刚设法让这个工作如下 -
在谷歌驱动器中,我将视频文件放在公共共享文件夹中,然后右键单击该文件并选择共享>共享..
谷歌然后给了我一个分享的链接
https://docs.google.com/file/d/0B4BsAbG4atWHQzVfLUU3UnhhZTA/edit?usp=sharing
Run Code Online (Sandbox Code Playgroud)
我已经从网址中删除了我猜到的文件ID -
0B4BsAbG4atWHQzVfLUU3UnhhZTA
Run Code Online (Sandbox Code Playgroud)
并将其添加到metal7的url中,为源标记创建src属性
<source src="https://drive.google.com/uc?export=download&id=0B4BsAbG4atWHQzVfLUU3UnhhZTA" type='video/webm'/>
Run Code Online (Sandbox Code Playgroud)
现在我有一个使用以下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>
Run Code Online (Sandbox Code Playgroud)
很多人似乎建议创建一个API应用程序以获取文件ID,但看起来你可以很容易地猜到它.也就是说,我有兴趣从谷歌上看到一些适当的文档 - 我想在制作中使用它,但我觉得我需要做更多阅读才能有信心.
UPDATE
我已经做了一些阅读,我担心视频只能在登录谷歌帐户的浏览器上播放.我花了很多时间试图解决这个问题(用api构建一个谷歌驱动应用程序),我担心看起来没有办法绕过它.
除非您知道所有用户都将通过google进行身份验证,否则请勿使用Google驱动器以html格式提供视频.
使用这样的URL:
https://googledrive.com/host/ {YOUR_VIDEO_ID}
例如https://googledrive.com/host/01bLAblaBla01BlaBLaBlaBLaBLA
它适用于HTML5(视频标签)和其他类似videojs,以及更多......
在内部,当在 Google 云端硬盘的网页查看器中查看时,Google 云端硬盘通过 HTTPS/443 传输视频。视频本身只建立一个连接,并且只要视频从 Google Drive 流式传输到客户端,该连接就会保持打开状态。
Google Drive 使用 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
Run Code Online (Sandbox Code Playgroud)