この付録では、RealProducer のオーディエンスの構文について説明します。各オーディエンス テンプレートまたはジョブ ファイルには、クリップやブロードキャストのエンコード方法に関する設定が記録されています。この付録に記載された情報によって、RealProducer のグラフィカル アプリケーションを使用せずにオーディエンス情報を編集し、エンコード設定を変更することができます。
| 備考 : XML 構文に精通していない場合は、XML のネームスペース、タグ、属性、および値について、付録 A を参照してください。 |
オーディエンス テンプレートまたはジョブ ファイル内の各オーディエンス セクションは、クリップまたはブロードキャストがエンコードされる単一のオーディエンスを定義します。RealProducer では、多くのオーディエンスがあらかじめ定義されており、グラフィカル ユーザ インターフェースで [Audiences (オーディエンス)] ボタンをクリックすると表示されます。たとえば、あるオーディエンスは 56 Kbps ダイヤルアップ モデム用で、もう一方は 256 Kbps DSL およびケーブル モデム ユーザ用といった場合があります。各オーディエンスは、ほかの設定を反映したうえで、オーディオ クリップやビデオ クリップがエンコードされるストリーミング速度を指示します。
オーディエンス テンプレートは、RealProducer をインストールしたメイン ディレクトリの下にある audiences サブディレクトリに格納されます。この場所は、RealProducer の環境設定により変更できます。オーディエンス テンプレートは、ファイル拡張子として .rpad を使用します。また、各ファイル名は、グラフィカル アプリケーションで表示されるオーディエンス名をそのまま使用しています。たとえば、グラフィカル ユーザ インターフェースで 56k Dial-up オーディエンスと表示されるオーディエンスの情報は、56k Dial-up.rpad という名前のファイルに格納されています。
グラフィカル アプリケーションによってオーディエンスを編集した場合 (手順は「オーディエンスの作成と編集」 を参照)、RealProducer は対応するオーディエンス テンプレートを更新して変更を記録します。また、オーディエンス テンプレートを手動で編集することもできます。これにより、グラフィカル アプリケーションやコマンド ライン アプリケーションによって使用されるオーディエンス情報を、テキスト エディタやテキスト ファイルを修正する自動化されたプロセスなどによって、変更することが可能になります。
| ヒント : 新しいオーディエンス テンプレートを作成する場合は、名前を変更した既存のオーディエンス テンプレートから作業を始めることを推奨します。 |
ジョブ ファイル (付録 B を参照) にも、オーディエンスについての情報を格納することができます。たとえば、RealProducer のグラフィカル アプリケーションを使用して新しいジョブを作成し、このジョブに 56k Dial-up オーディエンスを追加すると、RealProducer はオーディエンス情報を 56k Dial-up.rpad オーディエンス テンプレートからジョブ ファイルへコピーします。1 つのオーディエンスのみを定義するオーディエンス テンプレートとは異なり、ジョブ ファイルは複数のオーディエンスを定義できます。この機能は、別々のオーディエンスを対象としている複数のストリームに単一のクリップをエンコードする SureStream テクノロジの使用時に必要となります。
ジョブ ファイルを使用してクリップをエンコードする場合、RealProducer は元のオーディエンス テンプレートではなく、ジョブ ファイルからオーディエンス情報を収集します。これにより、オーディエンスのデフォルト設定を変えずに、ジョブのオーディエンス設定を変更することができます。たとえば、ジョブ内で 56 Kbps ダイヤルアップのオーディエンスに対するオーディオ コーデックを変更するとします。この変更は、そのジョブのファイルを使用してエンコードされるクリップにのみ適用されます。
オーディエンス テンプレート内でオーディエンスを定義する構文には、ジョブ ファイルの構文と比較して次のような違いがあります。
<audience> タグにはネームスペースが必要です。一方、ジョブ ファイル内の <audience> タグではネームスペースを必要としません。name 値が必要です。ジョブは、2 つの別のファイルにエンコードするなどの複数出力を実行できます。name 値を使用して、それぞれの出力に使用するオーディエンスを指定します。たとえば、ある出力には高帯域幅のオーディエンスを使用し、別の出力では低帯域幅のオーディエンスにエンコードします。<audience> セクションは、<audiences> タグで開始され </audiences> タグで終了するリスト内に配置されています。オーディエンス テンプレートは 1 つのオーディエンスのみを定義するため、オーディエンスを格納する <audiences> リストは使用されません。| 詳細情報 : ジョブ ファイル内に含まれるオーディエンスについての説明は、「オーディエンス セクション」を参照してください。 |
オーディエンス セクションは、オーディエンス テンプレートまたはジョブ ファイル内で <audience> タグと </audience> タグによって区切られます。区切られたオーディエンス セクション内では、個別の <streams> セクションによって、ビデオ ストリームやオーディオ ストリームなどが定義されます。単一のオーディエンスを定義する独立したオーディエンス テンプレートでは、XML 宣言タグの直後に <audience> タグが続きます。次の例のように、必ずネームスペースを含めます。カスタマイズされた RealProducer コンポーネントに必要なネームスペースがある場合は、そちらも追加します。
<?xml version="1.0" encoding="UTF-8"?> |
| 詳細情報 : ジョブ ファイル内でのオーディエンスの定義については、「オーディエンス セクション」を参照してください。 |
次の表に、<audience> 要素のプロパティを示します。
| プロパティ | 値 | 機能 |
|---|---|---|
avgBitrate type="uint" |
1 〜 999999 の範囲の正の整数 | オーディエンスの平均ビット レートを定義します。単位は bps (ビット/秒)。 エンコーディング タイプが vbrQuality に設定されている場合や、ビデオを含まないオーディオのエンコーディングである場合には、これは無視されます。エンコーディング タイプに関する詳細は、 「ストリームのエンコーディング タイプ」を参照してください。 |
maxBitrate type="uint" |
1 〜 999999 の範囲の正の整数 | オーディエンスの総ビット レートの上限を設定します。単位は bps (ビット/秒)。この値は、avgBitrate に指定された値よりも大きい必要があり、エンコーディング タイプが vbrBitrate または vbrQuality である場合にのみ適用されます (「ストリームのエンコーディング タイプ」を参照)。 |
name type="string" |
文字列 | オーディエンス テンプレートを識別するユーザ定義の名前を作成します。この名前はグラフィカル ユーザ インターフェースに表示されます。ジョブ ファイルは、この名前により各出力に使用するオーディエンスを特定します。 |
streams |
リスト | オーディエンス セクション内で各ストリームを定義します (詳細は 「ストリーム セクション」を参照)。 |
次の例は、256 Kbps の DSL 接続またはケーブル モデム接続を使用しているオーディエンスのテンプレートを示しています。平均ビット レートは 225 Kbps に設定され、ネットワーク オーバーヘッド用に帯域幅の約 10 パーセントが確保されています。可変ビット レートでエンコーディングを行う場合、帯域幅のピークは 450 Kbps に達する可能性があります。
<audience> |
各オーディエンス テンプレートには、エンコードされるストリームを定義するストリーム セクションがあります。このセクションは、 <streams> タグで開始され、</streams> タグで終了します (「streams」と複数形になっている点に注意してください)。リスト内で、<stream> タグと </stream> タグ (「stream」と単数形になっている点に注意してください) の間に記述された 1 つまたは複数のサブリストによって、それぞれのストリーム設定が定義されます。
各 <stream> セクションでは、オーディオまたはビデオ ストリームを定義できます。ストリームのタイプはすべて省略可能です。たとえば、オーディオのみのエンコーディングではビデオ ストリームを省略できます。オーディエンス セクション内では各ビデオ ストリームは 1 度のみ定義できます。一方、オーディオに関しては、次に示す 4 つの異なるオーディオ コンテキスト用に、ストリームを 4 つまで定義できます。
複数の <stream> セクションでは、xsi:type という単一の属性を使用して、ストリームのタイプを指定します。次の例では、オーディエンス セクションで定義可能な 5 つのストリームが示されています。
<audience> |
次の表に、さまざまなオーディオ ストリームに含めることのできるプロパティを示します。オーディオ ストリームの各セクションは <stream xsi:type="audioStream"> タグで開始され、</stream> タグで終了します。codecName プロパティおよび codecFlavor プロパティは必須です。
| プロパティ | 値 | 機能 |
|---|---|---|
codecFlavor type="uint" |
番号 | 選択したコーデックが使用するエンコーディング速度を設定します。フレーバ番号の一覧については、「RealAudio コーデック」セクション内の各表を参照してください。 |
codecName type="string" |
sipr|cook|ralf|raac |
ストリームのエンコードに使用するコーデックのタイプを定義します。コーデック名の一覧については、「RealAudio コーデック」セクション内の各表を参照してください。 |
encodingComplexity type="string" |
low|medium|high |
「エンコーディング コンプレキシティ モード」の説明に従って、Lossless コーデックのコンプレキシティを指定します。それ以外のコーデックではこの値は無視されます。デフォルトは high です。 |
encodingType type="string" |
cbr| |
エンコーディング タイプを指定します。RealAudio Lossless コーデックのデフォルトは vbrUnconstrainedQuality です。それ以外のコーデックのデフォルトは cbr です。エンコーディング タイプを自動的に選択する場合は、この設定を省略します。基本的な知識については、「ストリームのエンコーディング タイプ」を参照してください。 |
pluginName type="string" |
rn-audiocodec-realaudio|s |
必要に応じて、使用するプラグインを指定します。特に指定を行わない場合、RealProducer は、xsi:type の値に基づいてプラグインを選択します。 |
streamContext type="bag" |
リスト | コーデックが使用されるオーディオのコンテキストを指定します。詳細は「オーディオ ストリーム コンテキスト」を参照してください。 |
各オーディエンスには、オーディオ ストリームを最大 4 つまで含めることができます。オーディオ ストリームでは、プレゼンテーションのタイプ (audio-only または audio-video) およびオーディオ モード (voice または music) に基づいて、使用するオーディオ コーデックを定義します。これにより、次の 4 種類のオーディオ ストリーム コンテキストが作成されることになります。
ミュージックのエンコード、音声のエンコードではそれぞれ異なるコーデックを使用する必要があります。こうしたコンテキストはそのために存在します。同様に、オーディオは通常、ビデオ クリップよりもオーディオのみのクリップでより広い帯域幅を受信します。RealProducer がオーディエンス情報を使用してクリップをエンコードする場合、ジョブ ファイル、グラフィカル アプリケーション、またはコマンド ラインで定義されているその他のオーディオ設定に基づいて、オーディオ コンテキストを 1 つだけ選択します。
| 詳細情報 : オーディオ コンテキストに関する基礎知識については、「オーディオ エンコーディングとオーディエンス」セクションを参照してください。 |
各オーディオ ストリームは、streamContext サブリストを使用して、4 つの可能なオーディオ コンテキストの中から 1 つを指定します。たとえば、次のマークアップでは、ビデオ クリップやブロードキャスト用に音声オーディオをエンコードする場合に、指定したオーディオ ストリームを使用するよう RealProducer に対して指示しています。
<stream xsi:type="audioStream"> |
| 詳細情報 : 「オーディオ パラメータの設定」セクションでは、グラフィカル アプリケーションを用いてオーディオ モードを設定する方法について説明しています。コマンド ラインについては、「オーディオ モード (-am)」セクションを参照してください。「メディア プロファイル」では、ジョブ ファイルでのストリーム コンテキストの設定に関する情報が確認できます。 |
ユーザが上級ユーザである場合を除き、RealNetworks は、4 つの個別のオーディオ ストリームを 4 つのオーディオ ストリーム コンテキストに対して常に定義することを推奨します。これにより、あらゆるオーディオ コンテキストに対して、オーディエンス情報が有効になります。一方、エンコーディングの用途に基づいて、4 つよりも少ないオーディオ コンテキストを定義することもできます。ただし、オーディオ コンテキストを正しく定義しないと、エラーの原因になります。
たとえば、ミュージック ビデオのみをエンコードする場合、オーディエンスのストリーミング速度に適したミュージック コーデックを使用するオーディオ ストリーム 1 つのみを定義することが可能です。このケースでは、<streamContext> リストを含める必要はありません。RealProducer は、該当のオーディエンスを使用してエンコードされるすべてのオーディオに対して、単一の定義済みストリームを使用します。
ただし、単一のオーディオ ストリームを定義した場合は、ストリーミングできないクリップや、利用可能な帯域幅を効率的に使用できないクリップが作成される可能性があります。たとえば、56 Kbps モデムのオーディエンスを作成し、1 つのみのオーディオ ストリームに 32 Kbps のミュージック コーデックを使用したとします。このオーディエンスのストリーミング速度の合計は、およそ 34 Kbps です。オーディオのみのファイルをエンコードする限りは、帯域幅は効率的に使用されます。しかし、このオーディエンス設定でビデオをエンコードする場合、映像トラックに利用可能な帯域幅は 2 Kbps のみであり、ビデオは使用できなくなります。
逆に、56 Kbps モデムのオーディエンスに対して 6 Kbps のミュージック クリップを定義したとします。この設定では、ビデオの映像トラック用に 28 Kbps という十分な量の利用可能な帯域幅が割り当てられます。ただし、このオーディエンスでオーディオのみのクリップをエンコードする場合、オーディオ用の 6 Kbps の帯域幅のみが使用され、残りの 28 Kbps は未使用の状態になります。オーディオのみのクリップの場合は、帯域幅をより効率的に使用する高帯域幅のコーデックを選択することによって、音質を向上させることができます。
異なるストリーム コンテキストに対して複数のオーディオ ストリームを定義する場合、コンテキストがオーディオのエンコーディング設定に適合していることを確認する必要があります。たとえば、ビデオのサウンドトラックをミュージックと共にエンコードするように RealProducer を設定し、オーディエンス テンプレートでは次の 2 つのストリームのみが指定されているとします。
この場合、ミュージック付きのオーディオとビデオというコンテキストが指定されていないため、RealProducer はクリップのエンコードを実行しません。
これ以降のセクションでは、コーデックの選択について説明し、56 Kbps ダイヤルアップ モデム接続のオーディエンスを対象にしたオーディオ ストリームを定義する場合に使用するマークアップについて取り上げます。このタイプのモデム接続では、56 Kbps の持続的なスループットが達成されることはほとんどありません。そのため、オーディエンスの avgBitrate 値は 34 Kbps に設定されています。オーディオ用 (または、オーディオとビデオ用) にこれ以上の帯域幅を使用することはできません。
詳細情報 : 「RealAudio コーデック」セクションでは、各オーディオ コーデックと codecName および codecFlavor で使用する値との関係が一覧で確認できます。
|
音声を含んだオーディオのみのクリップの場合、指定された帯域幅で可能な限り多くの部分を使用する音声コーデックを選択します。たとえば対象速度が 34 Kbps の場合は、32 Kbps 音声 が最適です。これは、次のように、コーデック名 cook、コーデック フレーバ 7 を含んでいます。
<stream xsi:type="audioStream"> |
オーディオのみのミュージックの場合、利用可能なビット レートの上限に最も近いミュージック コーデックを選択します (上限を超えてはいけません)。たとえば、対象速度が 34 Kbps の場合は、32 Kbps ステレオ ミュージック 高レスポンス - RealAudio が最適です。これは、次のようにコーデック名 cook、コーデック フレーバ 21 を含んでいます。
<stream xsi:type="audioStream"> |
ビデオを含んだオーディオの場合、原則として、オーディオに割り当てる帯域幅がビデオの帯域幅の 20 パーセントを超えないようにすることをお勧めします。34 Kbps でストリームする場合には、6.5 Kbps 音声 が最適です。これは、次のようにコーデック名 sipr、コーデック フレーバ 0 を含んでいます。
<stream xsi:type="audioStream"> |
音声の場合と同様、ビデオ ストリームのミュージック コーデックが消費するビット レートも、総ビット レートの約 20 パーセント程度におさえる必要があります。6 Kbps ミュージック - RealAudio または 8 Kbps ミュージック - RealAudio を選択することをお勧めします。以下の例は、8 Kbps のコーデックです。これはコーデック名 cook、コーデック フレーバ 0 を含んでいます。
<stream xsi:type="audioStream"> |
次の表に、ビデオ ストリームに含むことのできるプロパティを示します。ビデオ ストリームの各セクションは <stream xsi:type="videoStream"> タグで開始され、</stream> タグで終了します。
| プロパティ | 値 | 機能 |
|---|---|---|
codecName type="string" |
rv8|rv9|rv10 |
使用する特定のビデオ コーデックを定義します。デフォルトは RealVideo 10 を意味する rv10 です。詳細については、「RealVideo コーデック」を参照してください。 |
enableLossProtection type="bool" |
true|false |
エラー修正パケットを付加するかどうかを指定します。デフォルトは false です。詳細は「ロス プロテクション」を参照してください。 |
encodingComplexity type="string" |
low|medium|high |
エンコーディング コンプレキシティを指定します (詳細は「エンコーディング コンプレキシティ モード」を参照)。デフォルトは high です。 |
encodingType type="string" |
cbr| |
固定ビット レート エンコーディングまたは可変ビット レート エンコーディングのタイプを設定します。デフォルトは cbr です。「ストリームのエンコーディング タイプ」を参照してください。 |
maxFrameRate type="double" |
0 〜 60.000 の範囲の正の数 |
目標フレーム レートの最大値を設定します。デフォルトは 30 です。詳細は「エンコードされるフレーム レート」を参照してください。 |
maxKeyFrameInterval type="double" |
0 〜 60.000 の範囲の正の数 |
ビデオのキー フレーム間隔の秒数の最大値を指定します。デフォルトは 10 です。詳細は「最大キー フレーム間隔」を参照してください。 |
maxStartupLatency type="double" |
4.0 〜 60.0 の範囲の秒数 |
クリップをバッファする時間を指定します。デフォルトは 4.0 です。詳細は「 ビデオ スタートアップ待ち時間」を参照してください。 |
pluginName type="string" |
rn-videocodec-realvideo |
必要に応じて、ストリームをエンコードするプラグインを定義します。RealVideo 8、9、および 10 で同じ値を使用します。特に指定を行わない場合、RealProducer は xsi:type の値に基づいてプラグインを選択します。 |
quality type="uint" |
1 〜 100 の範囲の正の整数 |
VBR クリップを対象とした品質を設定します。100 の値が最高の品質を表します。基本的な知識については、「VBR エンコーディング設定」を参照してください。「ストリームのエンコーディング タイプ」の情報も参照してください。 |
オーディオ ストリームまたはビデオ ストリームの encodingType 属性には、次の表に記載された値の中から 1 つを使用します。選択した値によって、他のオーディエンス設定を RealProducer が無視するか順守するかが決定されます。この属性は主にビデオ ストリームに対して適用されますが、オーディオ ストリームにも使用可能です。オーディオ ストリームに対してこの属性を指定しない場合、RealProducer は、RealAudio Lossless コーデックでは vbrUnconstrainedQuality、他のオーディオ コーデックでは cbr をそれぞれ使用します。
| encodingType の値 | 出力 |
|---|---|
cbr |
オーディエンスの avgBitrate 値に基づく固定ビット レート ストリーム。オーディエンスの maxBitrate 値、ビデオ ストリームの quality 値は無視されます。RealAudio Lossless コーデック以外のすべてのオーディオ コーデックではこの設定を使用してください (RealAudio Lossless コーデックでは vbrUnconstrainedQuality を使用します)。SureStream テクノロジを用いて複数のストリームを単一のクリップにパッケージ化する場合、このエンコーディング モードがビデオ ストリームに使用できる唯一の設定になります。 |
vbrBitrate |
オーディエンスの avgBitrate 値と maxBitrate 値に基づく可変ビット レート ストリーム。ビデオ ストリームの quality 値は無視されます。これは、ほとんどの可変ビット レート クリップに対する標準的な設定です。RealProducer は、特定の領域を maxBitrate 設定の最大速度で処理しながら、全体のビット レートは avgBitrate の値に一致するようにエンコードします。結果として、平均のレートは avgBitrate の値より多少高くなる場合があります。エンコーディング タイプ vbrUnconstrainedBitrate では、通常、指定された平均ビット レートにきわめて近いビット レートでエンコードが行われますが、最大ビット レートは一定していません。 |
vbrQuality |
オーディエンスの maxBitrate 設定およびビデオ ストリームの quality 設定に基づく可変ビット レート ストリーム。オーディエンスの avgBitrate 設定は無視されます。エンコーディングの品質は一定レベルに維持する必要があり、一方、安定した平均ビット レートは必要としない場合に、この値を使用してください。ただし、特に動きの速いシーンなどでは、品質レベルが最大ビット レートによって制約を受けることがあります。 |
vbrUnconstrainedQuality |
ビデオ ストリームの quality 設定に基づく可変ビット レート ストリーム。オーディエンスの avgBitrate 値および maxBitrate 値は無視されます。エンコーディングの品質は一定レベルに維持する必要があり、一方、安定した平均ビット レートや最大ビット レートは必要としない場合に、この値を使用してください。RealAudio Lossless コーデックではこの設定のみを使用できます。 |
vbrUnconstrainedBitrate |
オーディエンスの avgBitrate 設定に基づく可変ビット レート ストリーム。オーディエンスの maxBitrate プロパティおよびビデオ ストリームの quality 設定は無視されます。結果として、ファイルには帯域幅の急激な増加が含まれる場合がありますが、平均ビット レートは avgBitrate に近い値となります。特定のファイル サイズでダウンロード クリップを作成する場合は、vbrBitrate を選択するよりも良好な結果が得られます。最終的なサイズは、avgBitrate 設定値にクリップのタイムラインを掛けた値になります。たとえば、平均ビット レートが 450 Kbps の 60 秒のクリップのサイズは、およそ 27,000 キロビット、つまり 3.3 メガバイトになります。 |
| 詳細情報 : 可変ビット レート エンコーディングの詳細については、「可変ビット レート ビデオ」を参照してください。 |
ビデオ ストリームを定義する場合、直接ビット レートの設定を行うことはありません。レートを指定する場合、オーディエンスの avgBitrate 値を取得し、選択したオーディオ ストリームのレートを差し引きます。
たとえば 256 Kbps のオーディエンスの事例で、平均ビット レートを 225 Kbps と仮定します。サウンドトラックに 44 Kbps のミュージック オーディオ コーデックを使用する場合、ビデオの映像トラックの平均ビット レートは 181 Kbps (225 から 44 を差し引いた値) になります。32 Kbps を消費する音声サウンドトラックを使用するビデオでは、映像トラックの平均ビット レートは 193 Kbps (225 から 32 を差し引いた値) になります。
可変ビット レート クリップでは、オーディエンスの maxBitrate 値を使用して同様の計算を行うと、ビデオの最大レートが得られます。たとえば最大ビット レートが 450 Kbps の場合は、ミュージック コーデックが使用されているビデオの映像トラックは、最大で 406 Kbps (450 から 44 を差し引いた値) の帯域幅を使用することができます。また、音声コーデックが使用されているビデオの映像トラックの場合は、最大で 418 Kbps (450 から 32 を差し引いた値) の帯域幅を使用することができます。
| 詳細情報 : オーディエンスの値については、「オーディエンス プロパティ」セクションを参照してください。ビデオ クリップでのサウンドトラックと映像トラックの区分については、「サウンドトラックの帯域幅」を参照してください。 |
ダイヤルアップ モデムなどの、比較的低い帯域幅で定義されたビデオ ストリームの例を次に示します。ストリーミング速度が低速であるため、最大フレーム レートが 15 fps の固定ビット レート エンコーディングを使用しています。
<stream xsi:type="videoStream"> |
|
|
©2004 RealNetworks, Inc. 詳細については、RealNetworks の Web サイトを参照してください。 画面左側に目次フレームが表示されない場合は、ここをクリックしてください。 |