開発者向けには、Receiverアプリ向けにJavaScriptライブラリ、SenderアプリのAndroid/iOS向けにSDK、Chromeブラウザー向けにSDKとChrome Extensionが提供されています。PCではChromeブラウザーのみサポートされており、他のブラウザーはサポートされていません。
SDKおよびサンプルアプリは以下のサイトからダウンロードが可能です。
前述の通り、ChromecastはChromeブラウザーを搭載しています。このため、いくつものメディアをサポートしておりHTML5のVideo/Audioに対応しています。
しかしながら、HTML5のVideo/AudioのAPIだけでは、メディアストリーミングサービスには必要不可欠な技術であるAdaptive Bitrate StreamingやDRMを実装できません。これらをサポートするために、「Media Player Library」が提供されています。
Media Player Libraryは、HTML5のEncrypted Media Extensions(EME)のAPIを介して、Chromecastのハードウェア上のDRMエージェントにアクセスして、コンテンツの保護を保ちつつストリーミング再生と、Adaptive Bitrate Streamingを実現しています。
Media Player Libraryは以下のサイトからダウンロードが可能です。
Adaptive Bitrate Streamingは、ネットワーク状況に応じてビデオ/オーディオの品質を変化させて配信する技術のことです。アダプティブビットレートは、プレーヤーがコンテンツの受信速度を監視しながら、最適なビットレートに自動的に切り替えます。
高いビットレートは高画質・高音質となりますがデータ量が大きくなり、再生中にバッファリングが頻繁に発生する可能性があります。そのため、回線が安定しているとは限らないインターネットのストリーミングではアダプティブビットレートが必要とされています。
Chromecastでは、MPEG-DASH、Microsoft SmoothStreamingとHTTP Live Streaming(HLS)がサポートされています。
DRM(Digital Rights Management:デジタル著作権管理)は、デジタルデータのコンテンツの著作権を保護して利用を制限する技術です。
デジタルデータのコンテンツはコピーを行っても品質は劣化せず、無制限にコピーを生成できてしまいます。そのため、コンテンツデータを暗号化し特定のソフトウェアやハードウェアでのみしか再生を許可しない仕組みが必要とされます。多くのコンテンツホルダーはメディア配信サービスを行う事業者に対して、著作権を保護するためにDRMの必須を要求しています。
Chromecastでは、DRM方式として「Microsoft PlayReady」「Google Widevine」がサポートされています。残念ながら、2007年に日本国内でVOD(ビデオオンデマンド)サービスをターゲットに作られた「Marlin DRM」はサポートされていないようです。
Chromecastは小型のデバイスであるため、ハードウェアリソースに限りがあります。このため、Receiverアプリには以下の制限があります。
開発者は「Google Cast SDK Developer Console」であらかじめ開発者登録をする必要があります。初回登録料金に5ドル掛かりますが、Chromecastを使用したアプリの開発とサービス提供には必須です。
このコンソール上で、【1】開発者登録、【2】アプリ登録、【3】デバイス登録の3つを行います。
「Google Cast SDK Developer Console」に初めて訪れると、ログインしているGoogleアカウントで開発者登録する画面が表示されます。問題がなければ、支払手続きに進みます、Google Walletで決済を行うので、あらかじめ登録を済ませておくといいでしょう。
利用規約の同意にチェックして決済へ進みます。決済が完了すると以下のページが表示されます。
「Applications」で新規Receiverアプリを登録し、「Application ID」の取得を行います。「Application ID」は、Senderアプリの開発時に使用し、Receiverアプリとセッションを確立するために必要なものです。
Receiverアプリには、「Styled Media Receiver」「Custom Receiver」の2種類が選択できます。前者は、あらかじめ用意されているメディア再生用のプレーヤー(JavaScriptアプリ)を使用し、CSSでスキンを変更するだけのアプリです。これはAdaptive Bitrate StreamingやDRMなどは対応しておらず、柔軟なUIを作成できません。大抵の場合、Custom Receiverを選択することになります。
Receiverアプリは、Googleのサーバーへはホストされませんので、自前でWebサーバーを立ててデプロイする必要があります。
Custom Receiverを使ったReceiverアプリの登録手順は以下の通りです。
まず、「Overview」ページか「Applications」ページで、「Add New Application」をクリックします。
次に、「Receiver Application」の種類は「Custom Receiver」を選択します。
最後に、「Custom Receiver」の情報を入力します。「Name」にReceiverアプリの名前、「URL」にデプロイ先のURLパスを指定します。
アプリ登録直後は、開発用に「Unpublished」状態(非公開)となっています。サービスを公開して利用できるように「published」状態にする場合は、アプリはHTTPS環境にデプロイを行いURLにそのパスを指定しなければなりません。
登録に成功すると、「Application ID」が設定されます。
「Devices」で、開発に使用するChromecastデバイスを登録します。ここで登録していないデバイスでは「Unpublished」のアプリへの接続とリモートデバッグができません。
「Serial Number」には、Chromecastデバイスに印字してある12桁のコードを入力します。登録が完了するまで、およそ15分かかります。登録完了後は、必ずChromecastデバイスを再起動する必要があります。
またChromecastの設定で、「アップデート確認時にこのChromecastのシリアル番号を送信する」を有効にしておく必要もあります。
デバッグできない場合は、この設定とSerial Numberの登録間違えがないか、確認してみるとよいでしょう
Copyright © ITmedia, Inc. All Rights Reserved.