戻る 次へ

付録 C : オーディエンス テンプレートの構文

この付録では、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> タグによって区切られます。 区切られたオーディエンス セクション内では、個別の <streams> セクションによって、ビデオ ストリームやオーディオ ストリームなどが定義されます。 単一のオーディエンスを定義する独立したオーディエンス テンプレートでは、XML 宣言タグの直後に <audience> タグが続きます。 次の例のように、必ずネームスペースを含めます。 カスタマイズされた RealProducer コンポーネントに必要なネームスペースがある場合は、そちらも追加します。

<?xml version="1.0" encoding="UTF-8"?>
<audience xmlns="http://ns.real.com/tools/audience.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ns.real.com/tools/audience.2.0
http://ns.real.com/tools/audience.2.0.xsd">
...すべてのオーディエンス パラメータ...
</audience>

詳細情報 : ジョブ ファイル内に含まれるオーディエンスの定義については、「オーディエンス セクション」を参照してください。

オーディエンス プロパティ

次の表に、<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>
<avgBitrate type="uint">225000</avgBitrate>
<maxBitrate type="uint">450000</maxBitrate>
<name type="string">256k DSL or cable</name>
<streams>
...ストリームをここに定義...
</streams>
</audience>

ストリーム セクション

各オーディエンス テンプレートには、エンコードされるストリームを定義するストリーム セクションがあります。 このセクションは、 <streams> タグで開始され、</streams> タグで終了します (「streams」と複数形になっている点に注意してください)。 リスト内で、<stream> タグと </stream> タグ (「stream」と単数形になっている点に注意してください) の間に記述された 1 つまたは複数のサブリストによって、それぞれのストリーム設定が定義されます。

<stream> セクションでは、オーディオまたはビデオ ストリームを定義できます。 ストリームのタイプはすべて省略可能です。 たとえば、オーディオのみのエンコーディングではビデオ ストリームを省略できます。 オーディエンス セクション内では各ビデオ ストリームは 1 度のみ定義できます。 一方、オーディオに関しては、次に示す 4 つの異なるオーディオ コンテキスト用に、ストリームを 4 つまで定義できます。

複数の <stream> セクションでは、xsi:type という単一の属性を使用して、ストリームのタイプを指定します。 次の例では、オーディエンス セクションで定義可能な 5 つのストリームが示されています。

<audience>
...その他のオーディエンス パラメータ...
<streams>
<stream xsi:type="audioStream">
...オーディオのみのクリップのミュージックのオーディオ ストリーム...
</stream>
<stream xsi:type="audioStream">
...オーディオのみのクリップの音声のオーディオ ストリーム...
</stream>
<stream xsi:type="audioStream">
...ビデオクリップのミュージックのオーディオ ストリーム...
</stream>
<stream xsi:type="audioStream">
...ビデオクリップの音声のオーディオ ストリーム...
</stream>
<stream xsi:type="videoStream">
...ビデオ ストリーム...
</stream>
</streams>
</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|
vbrUnconstrainedQuality
エンコーディング タイプを指定します。 RealAudio Lossless コーデックのデフォルトは vbrUnconstrainedQuality です。 それ以外のコーデックのデフォルトは cbr です。 エンコーディング タイプを自動的に選択する場合は、この設定を省略します。 基本的な知識については、「ストリームのエンコーディング タイプ」を参照してください。
pluginName type="string" rn-audiocodec-realaudio|
rn-audiocodec-lossles
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">
...オーディオ コーデック情報...
<streamContext type="bag">
<audioMode type="string">voice</audioMode>
<presentationType type="string">audio-video</presentationType>
</streamContext>
</stream>

ストリーム コンテキストのプロパティ

次の表に、ストリーム コンテキストのプロパティを示します。

ストリーム コンテキストのプロパティ
プロパティ 機能
audioMode type="string" music|voice オーディオがミュージック、音声のどちらであるかを指定します。 RealProducer はこの情報に基づき、ミュージック コーデックまたは音声コーデックのいずれかを使用してエンコードを実行します。 デフォルトは music です。
presentationType type="string" audio-video| audio-only ストリームがオーディオおよびビデオ、オーディオのみのどちらであるかを指定します。 audio-only が選択されている場合、RealProducer は、原則的にオーディオ用の高めのビット レートのコーデックを使用します。 デフォルトは audio-video です。

詳細情報 : オーディオ パラメータの設定」セクションでは、グラフィカル アプリケーションを用いてオーディオ モードを設定する方法について説明しています。 コマンド ラインについては、「オーディオ モード (-am)」セクションを参照してください。 「メディア プロファイル」では、ジョブ ファイルでのストリーム コンテキストの設定に関する情報が確認できます。

4 つよりも少ないオーディオ ストリーム コンテキストの使用

ユーザが上級ユーザである場合を除き、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">
<pluginName type="string">rn-audiocodec-realaudio</pluginName>
<codecName type="string">cook</codecName>
<codecFlavor type="uint">7</codecFlavor>
<encodingComplexity type="string">high</encodingComplexity>
<streamContext type="bag">
<presentationType type="string">audio-only</presentationType>
<audioMode type="string">voice</audioMode>
</streamContext>
</stream>

オーディオのみのクリップのミュージック

オーディオのみのミュージックの場合、利用可能なビット レートの上限に最も近いミュージック コーデックを選択します (上限を超えてはいけません)。 たとえば、対象速度が 34 Kbps の場合は、32 Kbps ステレオ ミュージック 高レスポンス - RealAudio が最適です。 これは、次のようにコーデック名 cook、コーデック フレーバ 21 を含んでいます。

<stream xsi:type="audioStream">
<pluginName type="string">rn-audiocodec-realaudio</pluginName>
<codecName type="string">cook</codecName>
<codecFlavor type="uint">21</codecFlavor>
<encodingComplexity type="string">high</encodingComplexity>
<streamContext type="bag">
<presentationType type="string">audio-only</presentationType>
<audioMode type="string">music</audioMode>
</streamContext>
</stream>

ビデオ クリップの音声オーディオ

ビデオを含んだオーディオの場合、原則として、オーディオに割り当てる帯域幅がビデオの帯域幅の 20 パーセントを超えないようにすることをお勧めします。 34 Kbps でストリームする場合には、6.5 Kbps 音声 が最適です。 これは、次のようにコーデック名 sipr、コーデック フレーバ 0 を含んでいます。

<stream xsi:type="audioStream">
<pluginName type="string">rn-audiocodec-realaudio</pluginName>
<codecName type="string">sipr</codecName>
<codecFlavor type="uint">0</codecFlavor>
<encodingComplexity type="string">high</encodingComplexity>
<streamContext type="bag">
<presentationType type="string">audio-video</presentationType>
<audioMode type="string">voice</audioMode>
</streamContext>
</stream>

ビデオ クリップのミュージック オーディオ

音声の場合と同様、ビデオ ストリームのミュージック コーデックが消費するビット レートも、総ビット レートの約 20 パーセント程度におさえる必要があります。 6 Kbps ミュージック - RealAudio または 8 Kbps ミュージック - RealAudio を選択することをお勧めします。 以下の例は、8 Kbps のコーデックです。 これはコーデック名 cook、コーデック フレーバ 0 を含んでいます。

<stream xsi:type="audioStream">
<pluginName type="string">rn-audiocodec-realaudio</pluginName>
<codecName type="string">cook</codecName>
<codecFlavor type="uint">0</codecFlavor>
<encodingComplexity type="string">high</encodingComplexity>
<streamContext type="bag">
<presentationType type="string">audio-video</presentationType>
<audioMode type="string">music</audioMode>
</streamContext>
</stream>

ビデオ ストリーム プロパティ

次の表に、ビデオ ストリームに含むことのできるプロパティを示します。 ビデオ ストリームの各セクションは <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|
vbrBitrate|
vbrQuality|
vbrUnconstrainedQuality|
vbrUnconstrainedBitrate
固定ビット レート エンコーディングまたは可変ビット レート エンコーディングのタイプを設定します。 デフォルトは cbr です。 「ストリームのエンコーディング タイプ」を参照してください。
maxFrameRate type="double" 0 〜 60.000 の範囲の正の数 目標フレーム レートの最大値を設定します。 デフォルトは 30 です。 詳細は「エンコードされるフレーム レート」を参照してください。
maxKeyFrameInterval type="double" 060.000 の範囲の正の数 ビデオのキー フレーム間隔の秒数の最大値を指定します。 デフォルトは 10 です。 詳細は「最大キー フレーム間隔」を参照してください。
maxStartupLatency type="double" 4.060.0 の範囲の秒数 クリップをバッファする時間を指定します。 デフォルトは 4.0 です。 詳細は「ビデオ スタートアップ レイテンシー」を参照してください。
pluginName type="string" rn-videocodec-realvideo 必要に応じて、ストリームをエンコードするプラグインを定義します。 RealVideo 8、9、および 10 で同じ値を使用します。 特に指定を行わない場合、RealProducer は xsi:type の値に基づいてプラグインを選択します。
quality type="uint" 1100 の範囲の正の整数 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">
<codecName type="string">rv10</codecName>
<enableLossProtection type="bool">false</enableLossProtection>
<encodingComplexity type="string">high</encodingComplexity>
<encodingType type="string">cbr</encodingType>
<maxFrameRate type="double">15.000000</maxFrameRate>
<maxKeyFrameInterval type="double">10.000000</maxKeyFrameInterval>
<maxStartupLatency type="double">4.000000</maxStartupLatency>
<pluginName type="string">rn-videocodec-realvideo</pluginName>
<quality type="uint">30</quality>
</stream>

ストリームのパケット化

パケット化セクション (オプション) では、RealProducer がどのようにオーディオ出力やビデオ出力用のネットワーク パケットを作成するかについて定義します。 パケット化のデフォルト設定を変更して、ライブ ブロードキャストのレイテンシーの短縮や、ご使用のネットワークに合わせたパケット サイズの最適化などを行うことができます。 パケット化セクションは、<packetizers> タグと </packetizers> タグによってカプセル化されます。 このリスト内に、パケット化を 1 つ定義することができます。

ヒント : ジョブ ファイルのメディア プロファイル セクション内の latencyMode プロパティを使用すると、パケット継続時間やスーパーブロックのサイズを明示的に設定することなく、より簡単な方法でブロードキャスト レイテンシーを短縮することができます。 詳細については、「レイテンシーの短縮」を参照してください。

パケット化タグ

パケット化を定義するには、<packetizers> 要素内で <packetizer> タグと </packetizer> タグを追加します。 <packetizer> タグは xsi:type 属性を使用します。この属性の値は audioPacketizer または videoPacketizer のいずれかであり、それぞれ、そのパケット化がオーディオ ストリーム向けであるか、またはビデオ ストリーム向けであるかを示します。 オーディオ ストリームのパケット化を定義する構文の例を、以下に示します。

<stream xsi:type="audioStream">
...ストリーム情報...
<packetizers>
<packetizer xsi:type="audioPacketizer"...>
...オーディオ ストリームのパケット化をここで定義...
</packetizer>
</packetizers>
</stream>

パケット化のプロパティ

次の表に、オーディオのパケット化やビデオのパケット化で定義できるプロパティを示します。

パケット化のプロパティ
プロパティ 機能
maxPacketDuration type="duration" 任意の継続時間 RealProducer がパケットを作成するまでにストリームをエンコードできる最大時間を定義します。 詳細については、「最大パケット サイズと最長継続時間」を参照してください。
maxPacketInterleaving
Duration type="duration"
060.000 の範囲の継続時間 オーディオ ストリームのパケット化に用いるスーパーブロックのサイズを設定します。 この値はビデオには適用されません。 詳細については、「最大スーパーブロック サイズ」を参照してください。
maxPacketSize type="uint" バイト数の値 (015000) オーディオ パケットまたはビデオ パケットの最大サイズを設定します。 詳細については、「最大パケット サイズと最長継続時間」を参照してください。

最大パケット サイズと最長継続時間

maxPacketDuration プロパティと maxPacketSize プロパティでは、それぞれ、RealProducer がパケットの作成前にエンコードするオーディオ ストリームやビデオ ストリームの最大時間 (ミリ秒単位) と、大きさ (バイト単位) を設定できます。 maxPacketDuration を、「最大スーパーブロック サイズ」で説明している maxPacketInterleavingDuration と併用することで、オーディオ ブロードキャスト レイテンシーを短縮することができます。 maxPacketSize プロパティを用いて、ネットワークを介した転送用にパケットを最適化することができます。

この 2 つのプロパティを同時に使用する場合、先に制限値に達したプロパティによってパケット サイズが決定されます。 たとえば、次のように指定することができます。

<maxPacketSize type="uint">1450</maxPacketSize>
<maxPacketDuration type="duration">0.500</maxPacketDuration>

上記のプロパティでは、次に示す基準のいずれかを満たした場合に、RealProducer がストリーム用のパケットを作成するよう指定しています。

パケット サイズの設定についての注意事項

オーディオやビデオのパケット サイズの設定について、次の点に注意してください。

最大スーパーブロック サイズ

オーディオ ストリームでのみ機能する maxPacketInterleavingDuration プロパティでは、最大スーパーブロック サイズを設定することができます。 スーパーブロック サイズを小さく設定するとライブ オーディオ ブロードキャストのレイテンシーは短くなりますが、ストリーム中でパケットが損失した場合、その影響が顕著になります。 この問題の詳細については、「RealAudio のスーパーブロックとレイテンシーの短縮」を参照してください。

パケット化セクションで maxPacketInterleavingDuration を指定しないと、ストリームをエンコードするコーデックによってスーパーブロック サイズが変化します。 パケット化セクションに maxPacketInterleavingDuration を追加すると、継続時間を 060.000 秒の間で設定できます。 0 またはビデオ フレーム継続時間よりも小さい値を選ぶと、オーディオ インターリービングが無効化され、スーパーブロックは作成されません。

次に示す例では、パケット継続時間を 0.25 秒に、インターリービング (スーパーブロック) 継続時間を 2 秒に設定しています。 つまり、スーパーブロックにはパケットが 8 つ含まれ、RealProducer が Helix Server へスーパーブロックのパケットを転送するまでに、約 2 秒のレイテンシーが発生することになります。

<maxPacketDuration type="duration">0.250</maxPacketDuration>
<maxPacketInterleavingDuration type="duration">2.00</maxPacketInterleavingDuration>

次の例では、パケット サイズを 250 ミリ秒に設定し、スーパーブロック化機能をオフにしています。 これによって、先ほどの例よりもレイテンシーは短縮されますが、パケットが失われた場合、オーディオの途切れがより顕著になります。

<maxPacketDuration type="duration">0.250</maxPacketDuration>
<maxPacketInterleavingDuration type="duration">0</maxPacketInterleavingDuration>


RealNetworks, Inc. ©2005 RealNetworks, Inc.
詳細については、RealNetworks の Web サイトを参照してください。
画面左側に目次フレームが表示されない場合は、ここをクリックしてください。
戻る 次へ