Google Drive - потоковое видео

Как работает потоковое видео на Google Диске? Внутренне, как он передает видео, использует ли он потоковую передачу по HTTP или другие протоколы? Я очень новичок в этом, и мне было интересно, можно ли использовать Google Drive в качестве демонстрационного сервера, чтобы просто получить поток видео и отобразить на веб-странице. Если бы кто-нибудь мог дать мне информацию об этом, это было бы очень полезно.

4 ответа

Хорошо, мне только удалось заставить это работать следующим образом -

В Google Drive я поместил видеофайл в общедоступную папку, затем щелкнул правой кнопкой мыши по файлу и выбрал поделиться> поделиться..

Затем Google дает мне ссылку для обмена, которая выглядит как

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

Я вырезал то, что я догадался, как идентификатор файла из URL -

0B4BsAbG4atWHQzVfLUU3UnhhZTA

И добавил его в URL metal7, чтобы создать атрибут 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, чтобы получить идентификатор файла, но, похоже, вы можете легко догадаться об этом. Тем не менее, мне было бы интересно увидеть соответствующую документацию от Google - я хочу использовать это в работе, но чувствую, что мне нужно больше читать, чтобы быть уверенным.

ОБНОВИТЬ

Я немного больше читал и боюсь, что видео будет воспроизводиться только в браузерах, которые вошли в аккаунт Google. Я потратил много времени, пытаясь обойти это (в том числе создание приложения Google Drive с API), боюсь, похоже, что нет никакого способа обойти это.

Не используйте Google Drive для показа видео в формате html, если вы не уверены, что все ваши пользователи будут аутентифицированы в Google.

Используйте URL как это:

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

например, https://googledrive.com/host/01bLAblaBla01BlaBLaBlaBLaBLA

Он работает с HTML5 (тег видео) и другими, такими как videojs, и многое другое...

Простой способ получить ссылку на поток из Google Диска - использовать следующую ссылку:

Пример: http://api.getlinkdrive.com/getlink?url=https://drive.google.com/file/d/0B6VYU2mjTdy0WVRjb1BJUU1hYXM/view

Ссылка ответит 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}]

Позвольте разобрать JSON и вставить в видео тег

Ни одно из этих решений больше не работает. Это работает. Зрителю не нужно входить в свою учетную запись Google для просмотра видео.

  1. Получите общую ссылку на свое видео, щелкнув видео на своем диске Google, и щелкните значок в виде скрепки в верхней ссылке
  2. Включите доступ по ссылке
  3. Открыть ссылку
  4. На видео щелкните значок с тремя точками в правом верхнем углу, а затем щелкните "Вставить элемент". После этого у вас будет код, который можно вставить в свой HTML. Это будет выглядеть примерно так:

<iframe src="https://drive.google.com/file/d/<video id>/preview" width="640" height="480"></iframe>

Я сам провел несколько тестов, и видео может передаваться (через HTTP) общедоступным клиентам, если файл доступен для общего доступа на Google Диске.

Получить файл для воспроизведения с использованием обычного потокового 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 Диска Google Drive транслирует видео по HTTPS/443. Для самого видео установлено только одно соединение, и оно остается открытым, пока видео передается с Google Диска на клиент.

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
Другие вопросы по тегам