小さなボディに大きな可能性を秘めるChromecast

2013年7月にアメリカで、2014年5月には日本でも発売されたGoogleのスティック型デバイス「Chromecast(クロームキャスト)」。テレビのHDMI端子に接続することで、YouTubeなどのネット動画をテレビの大画面で見ることができます。4,200円という手ごろな価格から、とりあえず手を出してみたという人も多いのではないでしょうか。

しかしながら、このChromecastは単なる動画再生の枠組みを超えたデバイスになりうるかもしれません。今回の連載「スマホのちょっと深いとこ」は、Chromecastが動画を再生する仕組みや可能性など、その名の通りちょっと深いとこを紹介していきます。

【Chromecastの基本的な動作原理】

Chromecastで動画再生を行う仕組みを図にまとめると以下のようになります。Chromecastを利用するためには映像を表示するテレビと操作するためのスマートフォンなど、またインターネット接続が必要です。

chromecast_001
Chromecastの動画再生時に行われる処理の流れ

まずスマートフォンなどがChromecastに対して、インターネット上に存在する動画のURLを送って動画の再生を要求します。Chromecastは要求を受けて自らインターネットから動画を取得してテレビに出力します。またChromecastは動画の再生位置などの情報をスマートフォンに送り返します。スマートフォンはこの情報を用いて画面上に動画の情報を表示することができます。

ここでスマートフォンが動画のダウンロードそのものには関与していないことに注目してください(*1)(*2)。スマートフォンはあくまで指示を与えるだけで、動画のダウンロードはChromecastが自ら行います。そのため長時間の動画再生においてもスマートフォンの電力消費を心配する必要はありません。

*1: 極端な話、スマートフォンの電源を切ってしまっても動画再生は継続します。

*2: スマートフォンに保存された動画を再生できるアプリでは、スマートフォン自身がサーバーとなってネットワークに動画を公開して、それをChromecastにダウンロードさせています。

【Chromecastの画面はHTML、スマホ向け開発環境も】

Chromecastがテレビに表示する画面は、内部的にはHTMLで記述されたWebページになっており(*3)、スマートフォンからの要求を受けてWebページ上で動画を再生するための仕組みが提供されています。HTMLなので、必要に応じて表示内容をカスタマイズすることが可能です。

一方スマートフォンのアプリにChromecast機能を追加するための開発環境も提供されています(*4)。スマートフォンからネットワーク上のChromecastを探して接続する機能や動画再生を要求する機能、再生状態を受け取る機能などが提供され、アプリ開発者は自分のアプリからChromecastで動画を再生させることができます。

*3: 正確には「HTML5とJavaScriptで記述されたWebアプリ」です。

*4: Android、iOS、Chromeブラウザ用の環境が提供されています。

chromecast_002
今回作成したサンプルアプリ。Chromecast接続機能は開発環境が提供
chromecast_003
サンプルアプリとChromecastで自宅のテレビにネット動画を表示

またChromecastのWebページは動画の再生要求以外の信号をスマートフォンから受け取ることもできるため、作り方によっては動画再生以外にも利用することができます。Googleから提供されているサンプルアプリでは、2台のスマートフォンをChromecastにつないで三目並べをテレビ画面で行うことができます。

chromecast_004
何をさせるかはアイデア次第(写真は三目並べのサンプルアプリ)

【Googleらしいクラウド思考のデバイス】

今回はChromecastの仕組みを簡単に取り上げました。Chromecastはテレビの画面や動画の再生をWebページで行うなど、インターネット上のリソースやWebの技術を積極的に活用することで機能を実現する設計になっています。このあたりネットやWebを自らの主戦場とするGoogleらしいデバイスと言えるのではないでしょうか。


■関連リンク
エスマックス(S-MAX)
エスマックス(S-MAX) smaxjp on Twitter
S-MAX - Facebookページ
Google Cast(Android Developers)
連載『吉川英一の「スマホのちょっと深いとこ」』記事一覧 - S-MAX
今日の気分はバリいくつ?