前回は「webGL」についてお話したので今回は、HTML5で使えるようになった映像・音声ストリーム通信「webRTC」についてお話です。
WebRTC
超簡単に言うと・・
「ブラウザでテレビ電話が作れるよ」
といった技術です。
カメラやマイクに接続し、映像・音声ストリームを互いのブラウザに直接送る。
ブラウザではHTMLを通して
リアルタイム映像データを表示することが可能です。
ブラウザで完結できる直接通信なので、
例えば・・・
- 複数人のビデオ会議
- チャットなども交えて講義や授業
- ダンスやボイスレッスンなどweb教室
などが、HTML5+webカメラさえあれば可能になります。
HTML5は新しくソケット通信もサポートしていますが、
大きな違いは「転送データの劣化」に対応している点です。
モバイル端末などネットの接続環境の違いで回線の遅い場合もあります。
通常のファイルのように完全同期させようとデータの送受信をしているといつまでたっても今現在の映像が見れない現象に陥ります。
映像ストリームは完全に通信が同期しなくても、コマ落ちなどしても構わないので常に追いかけて、データ転送が詰まっても最新の状態に保つ事が必要です。
この場合、ソケット通信ではなく「webRTC」があるから実現できる技術と言えます。
「ブラウザ + グラフィックボード = webGL」
「ブラウザ + webカメラ = webRTC」
HTML5サポートするディバイス環境も大きな革命が起きています。
他にも・・
「ブラウザ + 位置情報 = Geolocation API」
割と当たり前の様にサポートされてる気になりますが、
これもHTML5が実装したハードウェア機器に問い合わせる機能です。
「ブラウザ + 双方向通信 = WebSocket」
先ほども軽く触れましたが、現在のクライアント要求型とは全く違う通信手段です。
WebRTCサービスを使ったサンプル動画
(アドレスバーがあるとおり、ブラウザです)
iPadなどモバイル端末でも可能
Experimenting with webRTC on iOS
WebRTCでカメラの映像から認識機能を使った ダンスゲーム「BeHero Tap Dance」
フレンドリストから動画&お絵かき&チャット&プレゼンいろいろやってる。
WebRTC & HTML5
「webRTC」については、まだまだ対応ブラウザが少ないのと、
仕様が完全に決まりきってないなどで、これらを取り入れたサービスをまだ見かける事はありませんが、
この技術が普及したら、現在のコミュニケーションツールに革命が起きるかもしれませんね。
コメント