web-dev-qa-db-ja.com

Googleドライブ-ビデオストリーミング

Googleドライブのビデオストリーミングはどのように機能しますか?内部的にはどのようにビデオをストリーミングしますか、HTTPベースのストリーミングやその他のプロトコルを使用しますか?私はこれに非常に慣れていないので、ビデオのストリームを取得してWebページに表示するだけのデモサーバーとしてGoogleドライブを使用できるかどうか疑問に思っていました。誰かがこれについての情報を教えてくれれば、とても助かります。

14
metal7

OK、私はこれを次のように機能させることができました-

Googleドライブでビデオファイルを公開共有フォルダーに配置し、ファイルを右クリックして[共有]> [共有]を選択します。

次にGoogleは私に次のような共有へのリンクを与えます

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>

多くの人がファイルIDを取得するためにAPIアプリを作成することを提案しているようですが、かなり簡単に推測できるようです。そうは言っても、Googleの適切なドキュメントを見てみたいと思います。これを本番環境で使用したいのですが、自信を持って読むにはもっと読む必要があるように感じます。

[〜#〜]更新[〜#〜]

もう少し読んでみましたが、ビデオはGoogleアカウントにログインしているブラウザーでのみ再生されると思います。私はこれを回避するために多くの時間を費やしました(APIでgoogleドライブアプリを構築することを含む)、それを回避する方法がないように思われます。

すべてのユーザーがgoogleで認証されることがわかっている場合を除き、htmlで動画を提供するためにgoogleドライブを使用しないでください。

17
Aidan Ewen

次のようなURLを使用します。

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

例えば https://googledrive.com/Host/01bLAblaBla01BlaBLaBlaBLaBLA

HTML5(ビデオタグ)やその他のvideojsなどで動作します...

6
seq

自分でいくつかのテストを行ったところ、ファイルが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/

1
Kamo

内部的には、GoogleドライブのWebページビューアで表示されると、GoogleドライブはHTTPS/443経由でビデオをストリーミングします。ビデオ自体に対して行われた接続は1つだけであり、ビデオがGoogleドライブからクライアントにストリーミングされている限り、その接続は開いたままになります。

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
1
Samuel Neff

これらのソリューションはどれも機能しません。これは機能します。視聴者は、ビデオを表示するために自分のGoogleアカウントにログインする必要はありません。

  1. Googleドライブで動画をクリックし、上部のリンクにあるペーパークリップのようなアイコンをクリックして、動画への共有可能なリンクを取得します。
  2. リンクの共有をオンにする
  3. リンクを開く
  4. ビデオで、右上の3つの点のアイコンをクリックし、[アイテムを埋め込む]をクリックします。これで、HTMLに挿入できるコードが手に入ります。次のようになります。

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

0
user2233706