Fast Channel Switching

ファスト チャネル スイッチング
RealNetworks ホワイト ペーパー シリーズ
対象製品
Helix Server 12
Helix Mobile Server 12
概要
ファスト チャネル スイッチングは、クライアント側に何ら変更を要求せず、サーバへの新
規クライアント接続を開始させるプロセスを取り込ませる、迅速なチャネル切り替え手法
です。これは、サーバ側でクライアントへの接続を管理し、チャネルまたは入力ストリー
ムの切り替えをバックエンドで実行することで実現しています。チャネル切り替えは、ク
ライアントからの帯域外の HTTP 要求により実行されます。サーバは、要求を検証し、要
求されたコンテンツの互換性を確認した後に、同一クライアント接続でコンテンツ切り替
えを実行します。
リアルネットワークス㈱
〒160-0023
東京都新宿区西新宿 4 丁目 33 番 4 号
住友不動産西新宿ビル 4 号館 1 階
http://www.jp.realnetworks.com
©2008 RealNetworks, Inc. ( 特 許 申 請 中 ) All rights reserved. RealNetworks 、 RealPlayer 、
Rhapsody、RealArcade、RealProducer、RealAudio、RealVideo、Real ロゴ、Helix、Helix DNA、
Helix ロゴは、米国およびその他の国での RealNetworks 社の商標または登録商標です。
その他の名称、商標、登録商標は、その所有企業の商号、商標、登録商標です。
本ドキュメントの内容は、予告なく変更される場合があります。このドキュメントの内容は、
RealNetworks 社の書面による許可なく、電子的、機械的を問わず、いかなる形式および用途でも
複製・伝送することを禁止します。
©2008 RealNetworks, Inc.
Page 2
高速チャネル切り替え
目次
はじめに ................................................................................................. 4
ファスト チャネル スイッチング ........................................................................... 4
チャネル ........................................................................................................ 4
FCSの仕組み ................................................................................................... 5
使用例 .................................................................................................... 6
チャネル サーフィン .......................................................................................... 6
広告 .............................................................................................................. 6
プリロール ................................................................................................... 6
ポストロール ................................................................................................. 7
要件 ....................................................................................................... 7
コーデックおよびファイル フォーマット ................................................................. 7
プロトコルおよびトランスポート .......................................................................... 8
サードパーティ製コンポーネント .......................................................................... 8
Web ポータル ................................................................................................ 8
ユーザ側のブラウザ......................................................................................... 8
ユーザ側のメディア プレーヤー .......................................................................... 8
設定 ....................................................................................................... 8
サーバ ........................................................................................................... 8
Web ポータル .................................................................................................. 9
切り替え可能マーカー .................................................................................... 10
セッション ID .............................................................................................. 10
レート コントロール フラグ ............................................................................. 11
キューイングインジケータ .............................................................................. 11
エラー時の SDP ファイル生成 ........................................................................... 11
ワークフロー例 ........................................................................................ 11
最初のチャネル要求 ......................................................................................... 11
チャネルの切り替え ......................................................................................... 12
追加情報 ................................................................................................ 12
©2008 RealNetworks, Inc.
Page 3
高速チャネル切り替え
はじめに
このホワイト ペーパーでは、ファスト チャネル スイッチング (以下 FCS) の概要を説明し
ます。
ファスト チャネル スイッチング
FCS は、サーバ製品のバージョン 12 で追加された新機能です。ビデオや音楽を視聴する別
のチャネルをクライアントが選択すると、FCS により、新しい接続の開始および新しいス
トリームのバッファリングによる遅延なく、クライアント マシン上のプレーヤーで新しい
チャネルを受信できます。これは、サーバが適切な書式の帯域外 HTTP 要求を受信した後、
サーバ側で新しいメディア ストリーム ソースを既存のクライアント RTSP セッションに挿
入することで実現しています。
チャネル
チャネルとはストリームのことで、1 つの RTSP セッションで別のストリーム (新しいチャ
ネル) に切り替えることができます。この切り替え機能により、ユーザが新しいストリー
ムを選択したときに、ユーザの RTSP セッションの作成および破棄が不要になります。そ
の結果、新しいチャネルの開始時に再生が中断されることなく、チャネルを切り替えるこ
とができます。ユーザ側では、切り替え後もストリームが連続的に表示されます。このた
め、1 つの番組のように、チャネルのストリームが終了し、キューにそれ以降のチャネル
がなくなれば再生が終了します。
©2008 RealNetworks, Inc.
Page 4
高速チャネル切り替え
FCSの仕組み
FCS 処理には、Helix Server 12 または Helix Mobile Server 12 (Helix DNA および Helix Plus
を除く) のいずれか、RTSP をサポートするプレーヤー、FCS をサポートするデータ タイプ
およびコーデックが少なくとも 1 つが必要で、さらに、利用可能なコンテンツのリストを
提供し適切なフォーマットの HTTP 要求を実行するサードパーティ製 HTTP インフラスト
ラクチャも必要です。
下図 (図 1) に、単純なチャネル切り替えシナリオを示します。この例では、ユーザがまず
Pop Hits というチャネルを選択します。このとき、ユーザは RTSP セッションで Helix
Mobile Server 経由で直接チャネルを選択するのではなく、サードパーティの Web ポータ
ルにアクセスし、ブラウザに表示された利用可能なチャネルへのリンクを選択します。
ユーザがチャネルを選択すると、Web ポータルがチャネル選択情報を特殊なフォーマット
の HTTP URL として Helix Mobile Server のセキュアポート宛に送信します。Helix Mobile
Server は、メディア プレーヤーの命令を SDP ファイル形式で提供し、プレーヤーが Helix
Mobile Server に接続してチャネルを受信できるように処理します。チャネルのコンテンツ
には、オンデマンド クリップ、ライブ ブロードキャスト、疑似ライブ ブロードキャスト
などを使用できます。
図1
次の図 (図 2) では、ユーザがストリーミング コンテンツを 2 番目のチャネル Jazz に切り
替えています。この場合も、ユーザは Web ポータルにアクセスします。このシナリオでは、
オンライン ガイドのリンクをクリックするなどの操作の結果、チャネル変更要求が実行さ
れます。ただし、変更要求はユーザの操作がない場合でも実行されることがあります。た
とえば、Web ポータル側で管理する事前に用意されたプレイリストに従って変更要求が実
行される場合があります。
©2008 RealNetworks, Inc.
Page 5
高速チャネル切り替え
Web ポータルが Helix Mobile Server に対しチャネル変更用 HTTP コマンドを送信すると、
Helix Mobile Server が新しいソースをキューに格納します。新しいソースへの切り替えは、
即時または現在のソースの再生終了後に実行できます。新しいチャネル ソースの開始時に
は、メディア プレーヤーの既存の RTSP セッションでストリームが送信され、チャネル ス
トリームの切り替えがシームレスに実行されます。
図2
使用例
チャネル サーフィン
ユーザは Web ポータルにアクセスし、チャネル サーフィン(リモコンなどを使用してテレ
ビ番組を次々に切り替えること)を開始します。ユーザの RTSP セッションでメディア スト
リームを即時に切り替えることができるように Web ポータルを設定することで、Web
ポータルをリモコン代わりにしてストリームを同様に切り替えることができます。
広告
ユーザは Web ポータルにアクセスし、リンクをクリックしてビデオを再生します。ユーザ
のメディア プレーヤーがストリームを受信すると、広告が表示されます。広告が終了する
と、ユーザが要求したビデオが再生されます。設定によって、広告の表示は、ビデオの再
生前、再生後、オンデマンド、ライブに指定することができます。広告再生には、帯域外
HTTP 要求のキューイングインジケータ コマンドを使用します。以下に例を示します。
プリロール
1. ユーザが Web ポータルで要求を実行します。
©2008 RealNetworks, Inc.
Page 6
高速チャネル切り替え
2. Web ポータルが、オンデマンド広告クリップを再生するために、切り替え可能な
セッションの要求をサーバに対して実行します。
3. Web ポータルは引き続き、要求されたコンテンツとキューイングインジケータ コマ
ンド "再生終了時に切り替え" を含んだ 2 番目の要求をサーバに対して実行します。
4. サーバが 2 番目の要求を受信すると、広告ストリームの終了後、要求されたコンテ
ンツを RTSP セッションに挿入します。
ポストロール
1. ユーザが Web ポータルで要求を実行します。
2. Web ポータルは、切り替え可能なセッションの要求を Helix Server に対して実行し、
そのサーバから SDP ファイルを受信してユーザに転送します。
3. Web ポータルは、広告クリップとキューイングインジケータ コマンド "再生終了時
に切り替え" を含んだ切り替え要求を Helix Server に対して実行します。
4. コンテンツ再生終了後、ユーザの RTSP セッションはサーバから広告クリップを受
信し、その後再生が停止します。
ポストロールをサポートするには、ユーザのプレーヤーでストリーム再生が開始されたこ
とを Web ポータルが確認する必要があります。この確認は、Helix Server 上のアクセスロ
グで、ターゲットのストリーム名および一意のセッション ID を監視するか、新しいトラッ
クに付与されたセッション ID を Web ポータルに通知するためのカスタムログ テンプレー
トを作成することで可能です。
要件
コーデックおよびファイル フォーマット
プレーヤーは、1 つの RTSP セッションで使用されるデコード方式を変更できません。その
ため、FCS で使用するすべてのコンテンツは、同一コーデックおよびビットレートでエン
コードする必要があります。以下のコーデックがサポートされています。
• RealVideo および RealAudio v8~v10
• H.264
• H.263
• MPEG-4 ビデオ
• AAC、AAC+、エンハンスド AAC+ オーディオ のいずれか
• AMR-NB または AMR-WB オーディオ
サポートされるファイル フォーマットは、RealMedia (.ra、.rv、.rm)、3GPP (.3gp)、
QuickTime (.mov) です。Windows Media ファイル フォーマットはサポートされていませ
ん。
©2008 RealNetworks, Inc.
Page 7
高速チャネル切り替え
プロトコルおよびトランスポート
チャネル切り替えは、RTSP ベースのストリームでのみ使用できます。これには、HTTP で
カプセリングされた RTSP ストリームが含まれます。MMS および HTTP ダウンロードはサ
ポートされていません。ネットワーク プロトコルには、UDP と TCP のいずれも使用でき
ます。RealNetworks RDT トランスポート プロトコルまたは標準規格の RTP トランスポー
ト プロトコルを使用できます。
サードパーティ製コンポーネント
チャネル切り替えには、特定のコンポーネントが必要です。これらのコンポーネントは、
Helix Server には付属していません。以下で、これらの必須コンポーネントの詳細を説明
します。
Web ポータル
Web ポータルは、利用可能なチャネルの情報をユーザに提供し、チャネル要求を Helix
Server に送信する、サードパーティ製アプリケーションです。
ユーザ側のブラウザ
Web ポータルにアクセスして操作を行うためのブラウザまたはリッチ メディア クライア
ントが各ユーザに必要です。FCS 固有のブラウザ要件はありません。
ユーザ側のメディア プレーヤー
前述のコーデックおよびファイル フォーマットをサポートする RTSP 対応メディア プレー
ヤーが必要です。FCS システムでは、非標準の RTSP コマンドは使用されません。そのた
め、ほとんどの RTSP 準拠プレーヤーを使用できます。
設定
サーバ
Helix Administrator を使用してサーバを設定するには、以下の手順に従います。
1. [Server Setup] > [Ports] を選択し、チャネル制御ポートが正しく設定されているこ
とを確認します (デフォルトでは 8008)。
2. [Content Management] > [Channel Switching] をクリックします。
3. [Enable Fast Channel Switching] プルダウン メニューで [Yes] を選択します。
4. [SDP Mount Point] プルダウン メニューで、SDP ファイルを作成するマウント ポイ
ント (通常は /sdpgen/) を選択します。
5. [Apply] をクリックします。
©2008 RealNetworks, Inc.
Page 8
高速チャネル切り替え
不正なチャネル切り替えや DOS タイプの攻撃を防止するため、正規の Web ポータルおよ
び HTTP プロキシのみが HTTP コマンドを Helix Server の制御ポートに対して実行できる
ことを確認してください。また、メディア ユーザによる制御ポートへの直接アクセスを禁
止する必要があります。ファイヤーウォールを適切に構築するか、アクセス ルール
(『Administration Guide』の 15 章を参照) を定義することで、ポートへのアクセスを制限
できます。
Web ポータル
個々の Web ポータルの設定はこのホワイト ペーパーでは説明しませんが、チャネル切り
替え要求を Helix Server に送信するための全要件を以下に示します。
Web ポータルから Helix Server 上のチャネル コントローラに対し、コマンドを実行できる
必要があります。コマンドは、チャネル コントローラ ポート宛の HTTP 要求に、クエリ文
字列構文 ("?" および "&") で区切ってパラメータおよびその値のペアを追加して構成します。
コマンド構文例を以下に示します。
http://helixserver:controller_port/stream.ext?param1=value1&param2=value2...
次の表に、Helix Server のコントローラ ポート宛 HTTP GET 要求に含めるパラメータのリ
ストを示します。最後の 2 列は、チャネル セッションを作成する最初の要求またはチャネ
ル切り替え要求のいずれかまたは両方で、属性の指定が必要かどうかを示します。
©2008 RealNetworks, Inc.
Page 9
高速チャネル切り替え
チャネル コントローラ要求時の HTTP 属性
属性
機能
例
最初の
要求
切り替え可能
マーカー
要求されたストリームが切り替え可
能なチャネルであることを示しま
す。
ユーザの RTSP セッションを識別しま
す。
レート コントロールを切り替えま
す。
0 – レート コントロール無効 (デフォ
ルト)
1 – レート コントロール有効
次のチャネルの再生をいつ開始する
かを指定します。
0 – すぐに切り替え (デフォルト)
1 – 再生終了時に切り替え
エラー時に SDP ファイルを生成する
かどうかを指定します。
0 – エラー時に新しい SDP ファイルを
生成しない
1 – エラー時に新しい SDP ファイルを
生成する (デフォルト)
hxs=1
必須
必須
guid=ID
必須
必須
mdp=1
省略可
未使用
queue=1 未使用
省略可
sdp=0
省略可
セッション
ID
レート
コントロール
フラグ
キューイング
インジケータ
エラー時の
SDP ファイル
生成
省略可
チャネル
切り替え
切り替え可能マーカー
切り替え可能マーカーは、Helix Server でこのセッションを監視し、チャネル切り替えを
許可するように指定する必須パラメータです。このパラメータの値は、ユーザが任意に設
定できます。
セッション ID
セッション ID は、Web ポータルがユーザごとに生成する一意の値です。値は 8~32 文字
の長さで、英数字と "-" (ハイフン) を組み合わせたものになります。セッション ID は、
Helix Server で各ユーザの RTSP セッションを識別するために使用されます。
©2008 RealNetworks, Inc.
Page 10
高速チャネル切り替え
レート コントロール フラグ
最初の要求でレート コントロール フラグを 1 に設定すると、ネットワーク条件が良好な
場合に Helix Server でレート コントロール機能が有効になります。
キューイングインジケータ
デフォルトでは、Helix Server は切り替え要求の受信後すぐにチャネルを切り替えます。
queue=1 というパラメータをクエリ文字列に追加すると、新しいチャネルはキューに格納
され、現在のクリップが終了してから再生が開始されます。
エラー時の SDP ファイル生成
デフォルトでは、チャネル切り替え要求が失敗した場合、Helix Server は要求されたチャ
ネルの SDP ファイルを返します。このパラメータを 0 に設定した場合、Helix Server は
HTTP エラー コードのみを返します。
ワークフロー例
最初のチャネル要求
1. ユーザが Web ポータルから提供される情報に基づいてチャネルを選択します。
2. Web ポータルは、チャネル コントローラ パラメータを指定した HTTP GET 要求を
Helix Server に送信し、そのチャネルの SDP ファイルを要求します。たとえば、こ
こでは次の URL を使用してオンデマンド チャネルを要求します。
http://helixserver.example.com:8008/station5.3gp?hxs=1&mdp=1&guid=a5230cgj321
3. hxs=1 が指定された要求を Helix Server が受信すると、これをチャネル切り替え
セッション要求として処理し、既存のセッション ID 値を調べます。該当 ID がない
場合は、チャネルの SDP ファイルを Web ポータルに返します。
4. Web ポータルは、SDP MIME タイプ (application/sdp) のストリームとしてこの SDP
ファイルをユーザに提供します。
5. ユーザのメディア プレーヤーは、SDP ファイルに埋め込まれたチャネル URL とセッ
ション ID を使用して Helix Server に接続し、RTSP セッションを開始します。
6. Helix Server は、チャネルのストリームを開始し、URL で提供されたセッション ID
でこのチャネルを登録します。
©2008 RealNetworks, Inc.
Page 11
高速チャネル切り替え
チャネルの切り替え
1. ユーザが Web ポータルから提供される情報に基づいて新しいチャネルに切り替えま
す。
2. Web ポータルは、チャネル切り替えパラメータを指定した HTTP GET 要求を Helix
Server に送信し、そのチャネルを要求します。前述のセッション ID および URL を
使用する場合、新しい URL は次のようになります。
http://helixserver.example.com:8008/station9.3gp?hxs=1&sdp=0&guid=a5230cgj321
3. Helix Server は、セッション ID が有効なセッションでまだ使用されているかどうか
をチェックし、新しいチャネルが存在することを確認し、現在のチャネルと新しい
チャネルに互換性があるかどうかを判定します。すべてのチェックで問題がなけれ
ば、Helix Server は最初のメディア ソースからの読み込みを停止し、新しいソース
の読み込みを開始します。これにより、同一 RTSP セッションでストリームが新し
いチャネルに切り替わります。
a. オンデマンドの場合、新しいソースからのパケットがクライアントに即座に
提供されます。キーフレーム (ファイル内で最初のフレーム) がすぐに利用可
能になり、前ストリームの終了キーフレームを待つ必要がないため、待機時
間は不要です。
b. ライブの場合、サーバがすべての受信ライブ ストリームのために管理してい
る小容量のバッファ中にある最新キーフレームから読み込みを開始します。
したがって、オンデマンド ソースの場合と同様に、ソースが即座に切り替わ
ります。
c. 前述チェックのいずれかでエラーが発生した場合は、Helix Server は、HTTP
エラー コードと、指定されている場合は新しいチャネルの SDP ファイルを
Web ポータルに返します。
i. また、Web ポータルはユーザにエラー応答を返すか、新しい SDP ファ
イルをユーザに提供します (指定されている場合)。
4. ユーザのメディア プレーヤーは、バッファに格納された前チャネル用データの処理
がすべて終了すると (通常は 約 4 秒間ですが、これよりも長くかかる場合もありま
す)、新しいチャネル ストリームの再生を開始します。
a. 最初のパケット受信時に、クライアントのバッファをフラッシュし、新しい
オーディオ/ビデオ ソースを再生する仕組みは、サーバサイド チャネル ス
イッチングをサポートする 3GPP Release 7 でサポートされる予定です。
追加情報
使 用 方 法 お よ び 設 定 に つ い て の 追 加 情 報 は 、 『 Helix (Mobile) Server Administration
Guide』および『Helix (Mobile) Server Configuration and Registry Reference』を参照して
ください。
©2008 RealNetworks, Inc.
Page 12
高速チャネル切り替え