Google Drive – Video Streaming

¿Cómo funciona la transmisión de video de Google Drive? Internamente, ¿cómo se transmite el video? ¿Utiliza streaming basado en HTTP u otros protocolos? Soy muy nuevo en esto, y me preguntaba si Google Drive podría usarse como un servidor de demostración para obtener un flujo de video y mostrarlo en la página web. Si alguien pudiera darme información sobre esto, sería muy útil.

OK, me las he arreglado para hacer que esto funcione de la siguiente manera –

En google drive coloqué el archivo de video en una carpeta compartida públicamente, luego hago clic con el botón derecho en el archivo y selecciono compartir> compartir …

Google luego me da un enlace para compartir que se parece a

https://docs.google.com/file/d/0B4BsAbG4atWHQzVfLUU3UnhhZTA/edit?usp=sharing 

Corté lo que supuse era la identificación del archivo de la URL:

 0B4BsAbG4atWHQzVfLUU3UnhhZTA 

Y lo agregué a la url de metal7 para crear un atributo src para una etiqueta fuente

  

Ahora tengo un video que funciona con el siguiente html.

   Video Test      

Mucha gente parece sugerir la creación de una aplicación de API para obtener el ID de archivo, pero parece que puedes adivinarlo bastante fácil. Dicho esto, me gustaría ver documentación adecuada de google en ella. Quiero usar esto en producción, pero siento que necesito leer más para estar seguro.

ACTUALIZAR

He leído un poco más y me temo que el video solo se reproducirá en navegadores que estén conectados a una cuenta de Google. Pasé mucho tiempo tratando de evitar esto (incluyendo la creación de una aplicación Google Drive con la API), me temo que parece que no hay forma de evitarlo.

No use google drive para mostrar videos en html a menos que sepa que todos sus usuarios serán autenticados con google.

Usa la URL como esta:

https://googledrive.com/host/ {YOUR_VIDEO_ID}

por ejemplo, https://googledrive.com/host/01bLAblaBla01BlaBLaBlaBLaBLA

Funciona con HTML5 (etiqueta de video) y otros videojs, y más …

La forma más sencilla de obtener un enlace de transmisión desde Google Drive es utilizando el siguiente enlace:

Ejemplo: http://api.getlinkdrive.com/getlink?url=https://drive.google.com/file/d/0B6VYU2mjTdy0WVRjb1BJUU1hYXM/view

El enlace responderá a JSON:

 [{"label":720,"type":"video/mp4","src":"https://redirector.googlevideo.com/videoplayback?requiressl=yes&id=19e3c7fd6fd45f15&itag=22&source=webdrive&ttl=transient&app=api.getlinkdrive.com&ip=139.162.5.123&ipbits=0&expire=1481719234&sparams=requiressl,id,itag,source,ttl,ip,ipbits,expire&signature=97E76D059F08E8B3B3C37FDE840C6B3978ACDD0C.8AF257B52254C7F116E658D6C52A3C5C3244EF75&key=ck2&mm=31&mn=sn-npoe7n7s&ms=au&mt=1481704609&mv=m&nh=IgpwcjA0LnNpbjExKgkxMjcuMC4wLjE&pl=22&safm=0&filename=video.mp4","file":"https://redirector.googlevideo.com/videoplayback?requiressl=yes&id=19e3c7fd6fd45f15&itag=22&source=webdrive&ttl=transient&app=api.getlinkdrive.com&ip=139.162.5.123&ipbits=0&expire=1481719234&sparams=requiressl,id,itag,source,ttl,ip,ipbits,expire&signature=97E76D059F08E8B3B3C37FDE840C6B3978ACDD0C.8AF257B52254C7F116E658D6C52A3C5C3244EF75&key=ck2&mm=31&mn=sn-npoe7n7s&ms=au&mt=1481704609&mv=m&nh=IgpwcjA0LnNpbjExKgkxMjcuMC4wLjE&pl=22&safm=0&filename=video.mp4","res":720}] 

Deje parse JSON e inserte en la etiqueta de video

Internamente, cuando se ve en el visor de la página web de Google Drive, Google Drive transmite videos a través de HTTPS / 443. Solo se ha realizado una conexión para el video y esa conexión se mantiene abierta siempre que el video se transmita desde Google Drive al cliente.

Google Drive usa una llamada HTTP CONNECT. Los encabezados se ven así:

 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 

Hice algunas pruebas yo mismo, y el video es transmisible (a través de HTTP) a clientes públicos, siempre y cuando el archivo se comparta públicamente en Google Drive.

Para que el archivo se reproduzca con la transmisión HTTP normal, puede usar la etiqueta de video HTML5 de esta manera:

  

Este método se explica más adelante en: http://sourcey.com/html5-video-streaming-from-google-drive/