【コラム】

塩田紳二のアンドロイドなう

71 「Chromecast」とは?

 

71/121

本来、今回は、VPNの三回目をお届けする予定だったが、5月28日に日本国内でもChromecastが発売されたため、急遽、関連情報をお届けすることにしました。

さて、Chromecastの概要については、米国での発売時に本連載でも紹介しています。基本的な使い方などは、国内で発売された製品と同じです。

【連載】塩田紳二のアンドロイドなう 第41回 Chromecast、テレビに刺さる (2013/08/23)
http://androwire.jp/articles/2013/08/23/41/

日本で発売が開始されたChromecastですが、SNSなどを見ていると、どうもいろいろと誤解している人もいるようですので、ちょっと解説することにします。

Chromecastの中身は、ARMのSoCを使った小さなコンピュータで、Chrome OSが動作しています。出力はHDMIのみ、あとは無線LANだけです。このため、Chromecastは単体ではなにもできません。

セットアップすると、Chromecastは自宅の無線LANアクセスポイントに接続し、同じネットワークに接続するアンドロイド機やiOS機、Windows、MacOSのマシン(以下ホストと呼びます)と接続が可能になります。アンドロイドには、最初からChromecastに対応したアプリが入っているので、Chromecast側の設定さえ完了すれば、YouTubeやGoogle PlayストアなどにChromecastで再生を行う「Cast」用アイコンが表示されます。

Chromecastを使うには、制御を行うホストに「Sender」と呼ばれるアプリケーションが必要になります。アンドロイドは標準で組み込まれているYouTubeやPlayストアといったアプリケーションにこの「Sender」機能が組み込まれています。Windowsの場合は、ChromeブラウザにChromecast拡張を入れますが、この拡張機能(アドオン)がSenderになります。

Senderは、Chromecast内で動作しているReceiverと呼ばれるアプリケーションと対になって動作します。Receiverは、Chromecast内で動作するアプリケーションで、Sender側の制御でインストールが行われますが、ユーザーは、これを気にする必要はありません。また、単純なメディア再生機能などを持つReceiverは、標準でChromecast内に組み込まれています。

リモートディスプレイではなく自分で受信して再生する

Chromecastの最大の特徴は、動画や音楽などのメディア再生を自分で受信して、デコードして再生するところです。ホストは、再生を指示するだけで、ストリーミングデータなどの受信は行いません。ここがいわゆる「リモートディスプレイ」と違うところです(図01)。MiraCastなどのリモートディスプレイは、スマートフォンやタブレットなどのホスト側でテレビ用にレンダリングを行い、フレームデータを無線LANで送信します。このため、テレビ側につながったアダプタは、単純にフレームデータを受信して表示しているだけです。

図01: Chromecastは、リモートディスプレイと違い、自身でストリーミングメディアを受信して再生する

仕組みが単調な分、リモートディスプレイのハードウェアは簡易なものになりますが、いくつか問題があります。HDビデオなどのように比較的高いフレームレートで大きく変化する画像を扱うのにCPU負荷が高くなってしまうことです。リモートディスプレイでは、制御を行うホストが自分でストリーミングデータを受信し、これを圧縮などして無線LANで送信します。このため、無線LANの帯域を大きく占有し、テレビで再生される動画のフレームレートなどはネットワークの混み具合に大きく影響されます。また、ホスト側のGUI画面をリモートディスプレイで転送するため、リモートディスプレイアダプタ側でバッファリングを行うことは画面再生タイミングの遅延を伴うため、ほとんどできないことです。

これに対してChromecastでは、ストリーミングを自分で受信してデコードするため、ネットワークの帯域を大きく占有することもないし、再生時にバッファリングを行っても、操作性に影響がないのです。

その反面、Chromecast側のソフトウェアが複雑になり、高速なCPUやビデオデコーダー回路が必要になるなどの問題がありますが、実際のコストは、幾つ作って売るのかで決まるため、リモートディスプレイアダプタと比べて実売価格が高くなるとは限りません。実際、市販のMiracast対応アダプタよりも、Chromecastのほうが安価に提供されています。もちろんGoogleの戦略ってものあるんでしょうが、Chromecastを安価に販売することで、Playストアなどの売り上げが伸びるといったカラクリも使えるというのが単純なリモートディスプレイアダプタとは違う部分です。

Chromecastの仕組み

Chromecastでは、Chrome OSが動作しており、前述のReceiverアプリを含め、アプリケーションはHTML5(とJavaScript)で記述します。

Chromecastで利用するアプリ(およびインターネット上のメディアサービス)には大きく3つの種類があります(図02)。1つはChromecastが標準で持っているメディア再生機能を利用する「Default Receiver」タイプのアプリです。これは、YouTubeなどがこれに相当します。この場合Receiverアプリを開発する必要はありませんが、Senderアプリは必要です。

図02: Chromecastアプリケーションは、ホストで動作するSenderとChromecast内で動くReceiverから構成され、大きく3つのタイプがある

もう1つは、再生画面や制御画面などをカスタマイズしたStyled Receiverアプリです。これは、再生画面などをカスタマイズするCSS(Cascading Style Sheet。HTMLページの表現を定義する仕様)などを使って、画面の表示などを変更したり、サービスロゴなどを表示させます。そのために必要となるCSSファイルなどは、インターネット側からダウンロード可能にしておき、利用時にChromecastにダウンロードして利用します。ただし、この機能では、メディア再生機能は、Default Receiverの機能を利用します。

最後は、特殊なエンコードなどを用いるCustom Receiverアプリです。商業メディアサービスなどDRM処理などが必要な場合、Custom Receiverアプリを開発して、利用時にはこれをインターネット側(メディアサービス側)からダウンロードしてChromecast内で実行します。

Sender、Receiverとメディアサービスは対になっており、特にCustom Revicerを使う場合には、サービス、アプリともに開発する必要があり、Custom ReceiverやStyled ReceiverのCSSなどのをダウンロードするURLをSenderアプリに組み込んでおく必要があります。また、Receiverアプリケーションを開発するには、GoogleにCastアプリケーションの開発登録(Google Playのアプリ開発とは別)に登録を行い、GoogleからアプリケーションのIDを取得する必要があります。

また、Custom Receiverアプリの配布には、SSLが必要とされているため、個人で作るのは難しそうです(もちろん証明書を入手、維持するためのお金があれば別ですが……)。どちらかというと課金するような商業メディアサービス向けです。

Chromecastのメリット

ポイントは、DRMに対応したストリーミングサービスでも、アプリさえ用意すれば、再生をChromecast側にまかせてしまえるため、再生して間にホスト側のバッテリなどを心配する必要もないことです。

ただ、DRMによっては、ローカルにダウンロードしているコンテンツがあるとChromecastで再生ができないことがあります。たとえば、Playストアで購入したコンテンツをオフライン視聴できるようにローカルにダウンロードしていると、Chromecastで再生ができず、ファイルを消す必要がありました。もっとも、これは、コンテンツのライセンスなどに依存するものなので、他のサービスではどうなのかはわかりません。米国では、Huluなどの商業動画サービスも対応しています。前述のように、再生はChromecast側でやってくれるので、視聴中は操作する必要がなければスマートフォンはスリープしていてもかまいません。

DRMが必要ないメディアサービス用に、メディア再生機能はChromecast側に組み込まれているため、今後さまざまなアプリケーションが登場する可能性もあります。日本で発売されたことで、国内のアプリが対応する可能性があります。メディアだけでなく、ゲームなどのさまざまなアプリケーションが対応可能です。

テレビによって自動起動も可能

テレビ側の機能と設定によっては、Chromecastで再生を開始させると自動でテレビの電源を入れ、Chromecastに入力切り替えができるようです。筆者は、Panasonicのテレビで確認しました。パナソニックのテレビでは、HDMI経由でBDレコーダーなどを操作するVIERAリンクをオンにしておくと、ホストから接続を開始したときに自動オン、自動ソース切り替えが動くようです。VIERAリンクをオフにしていると、自動電源オンなどがはたらきません。

Chromecastは、接続されていないとき、スクリーンセーバーのように、風景画像を切り替えて表示しているようです。なので、空きHDMIコネクタがあるなら、差し込みっぱなしにしておいても問題ありません。また、同時再生はできませんが、1つのChromecastを複数のホストから利用可能なように設定できます。ホスト側のユーザーアカウントには、関係なく利用可能です。ローカルネットワーク内にセットアップが完了しているChromecastがあれば、キャスト先としてリストに表示されます。なので、家族などで1つのChromecastを共有して利用可能です。逆に、不特定多数など他人がアクセス可能なネットワークにChromecastを接続してしまうと、誰でもChromecastを見つけて再生可能なので注意します。

本稿は、2014年5月30日にAndorid情報のWeb専門誌「AndroWire」に掲載した記事を再構成したものです。

71/121

インデックス

連載目次
第121回 Android N、「通知」の表示形式が変更に
第120回 「Android N」の新プレビュー版、Developer Preview 4が登場
第119回 「Android N」プレビュー その3
第118回 「Android N」プレビュー その2、Nの改良点
第117回 「Android N」プレビュー その1
第116回 「ZenWatch 2」の充電動作を調べて見た
第115回 Android Wearのバッテリ関連機能を検証してみる
第114回 Android Wearを再評価してみる
第113回 Nexus 7をカーナビにしてみた(その3)
第112回 Nexus 7をカーナビにしてみた(その2)
第111回 Nexus 7をカーナビにしてみた(その1)
第110回 画面キャプチャに便利なシステムUI調整ツール
第109回 2016年の注目はタブレット
第108回 「Nexus 5X」と「USB Type-C」
第107回 「Nexus 5X」と「LTE」
第106回 Android 6.0 ストアとアプリ
第105回 Nexus 5XでみるAndroid 6.0 Marshmallow
第104回 「Nexus 5X」を買いました
第103回 「Android Mのプレビュー3」を試す(前編)
第102回 Android M プレビュー2 (準備編)
第101回 「LG G Watch」のその後
第100回 「Zenefone 2」買いました
第99回 ちいさくてかわいい「LG L20」、イギリスで買ってみました
第98回 「Google日本語入力」アップデートで何が変わった?
第97回 どのアプリで開く? 「インテント」の仕組み
第96回 「OneNote」をつかってみた
第95回 ロリポップのマテリアルデザインをまとめてみる
第94回 「Email Markup」って何?
第93回 Outlookは来たけれど
第92回 Office Previewつかってみた
第91回 Google INBOXを使ってみる
第90回 AndroidWareの文字盤を自作する
第89回 Android Ware Lollipop版
第88回 「Nexus Player」を試す - ソフトウェア編
第87回 「Nexus Player」を試す - ハードウェア編
第86回 「Nexus 9」ファーストインプレッション - ソフトウェア(Lollipop)編
第85回 「Nexus 9」ファーストインプレッション - ハードウェア編
第84回 充電しながらUSBデバイスが使えるホストケーブル
第83回 Android "L"プレビューとAndroidWareがアップデート
第82回 ちょっとイケてる「Kyocera Hydro Vibe」
第81回 Android "L" バッテリ消費を監視する
第80回 アクセスポイントの基本を知る
第79回 OneDriveとGoogleドライブ
第78回 シェルのネットワーク関連コマンド
第77回 "L"の中身
第76回 アンドロイドウェア(Android Wear)は暫定バージョン?
第75回 LGのスマートウォッチ「G Watch」
第74回 "L"がくる
第73回 次は「Lollipop」か? その前にKitKatが4.4.3に
第72回 VPNを使う その3 「VPNをアンドロイドから使う」
第71回 「Chromecast」とは?
第70回 VPNを使う その2 「VPNサーバーを立てる」
第69回 VPNを使う その1 「基礎編」
第68回 アンドロイドのストレージ
第67回 「NVIDA SHIELD」のソフトウェア
第66回 「NVIDA SHIELD」のハードウェア
第65回 HDMIとMHL、SlimPort - ディスプレイ接続端子を整理してみる
第64回 「LG L1 II」を買ってみた
第63回 アンドロイドに音楽を「聞かせる」
第62回 住所録の秘密
第61回 Outlook.comをカレンダーに表示する
第60回 ソースコードはどこにある?
第59回 AndroidのBluetoothテザリングとWindows 8.1
第58回 NFCでマニュアル参照を簡単に
第57回 あらためて「ポータブルアクセスポイント」をきちんと試してみる
第56回 「ビルド番号」ってなに?
第55回 画面キャプチャをバッチファイルで実行
第54回 adbコマンドをちょっと解説
第53回 「android 4.4 "Kit Kat"」で画面を録画する
第52回 「android 4.4 "Kit Kat"」の内部的な変更点
第51回 「android 4.4 "Kit Kat"」を解説
第50回 「Nexus 5」を買ってみた
第49回 Google Keepはリマインダーだった
第48回 android 4.2からサポートされた「ワイヤレスディスプレイ」
第47回 画面キャプチャー
第46回 ヘッドセットの秘密
第45回 Nexus 7のLTEモデル
第44回 Nexus 4買いました。アメリカで。
第43回 ブートローダーとfastboot
第42回 Jelly Beans 4.3 Returns
第41回 Chromecast、テレビに刺さる
第40回 デバイスマネージャでAndroidの位置を確認
第39回 新しいNexus 7を買ってみた
第38回 Jelly Beans 4.3
第37回 レノボ「K900」を国際版化
第36回 NFCで遊ぶ
第35回 自宅で簡単ファイル転送
第34回 レノボ「K900」のカスタマイズされたJelly Beansを見てみる
第33回 CloverTrail+のスマートフォン、レノボ「K900」を買ってみた
第32回 AndroidがBluetooth 4.0を正式サポート
第31回 ARMの次世代CPU「Cortex-A12」
第30回 SDKをインストールしよう
第29回 ウィジェットを活用
第28回 QRコードでお手軽設定
第27回 XPERIA Tipoとロンドンアンロック屋事情
第26回 diNovoキーボードを使う
第25回 キーボードをカスタマイズする
第24回 Androidキーボードのしくみ
第23回 2段階認証を使おう
第22回 いらないプリインストールアプリを削除
第21回 64bitなんて必要なのかしら?
第20回 アメリカでアンドロイドの読書端末を買ってみた
第19回 Android 4.2の新機能
第18回 Android Beamって何だ?
第17回 NFCで何ができる?
第16回 Nexus 7をアメリカで買ってみた
第15回 AndroidをPCにつなぐと
第14回 Androidの記憶領域
第13回 Google Nowを使ってみる
第12回 AndroidのUSBホスト機能
第11回 デュアルSIMを使ってみる
第10回 キーボード一体縦型Androidマシン
第9回 Androidの言語設定
第8回 アンドロイドに道を聞く
第7回 Google Playはどうやってアプリの公開を制御しているのか?
第6回 「Acer A100」がICSになった
第5回 つながっているのはACアダプタ、それともUSB端子
第4回 スマートフォンを普通の電話としてつかってみた
第3回 Androidからの通知を表示可能な腕時計
第2回 アームを誤解してませんか?
第1回 MWCで見たAndroid

もっと見る

人気記事

一覧

新着記事

真矢ミキ、ディズニーランドでのポケモンGOに「ミッキーに専念しなさい」
[09:03 7/25] エンタメ
イチから復習! iPhone/iPadで活用したいビジネスアプリ 第45回 Officeとの連携が嬉しいクラウドストレージ「Microsoft OneDrive」
[09:00 7/25] 企業IT
[モンスト]劇場版アニメ化 12月公開
[08:30 7/25] ホビー
さとう珠緒、“廃人”野村貴仁の自宅でとんでもないことに!
[08:00 7/25] エンタメ
[片山萌美]CMで話題の美女が「スピリッツ」グラビアに 大胆なランジェリー、水着姿に
[08:00 7/25] エンタメ