ADOBE® MEDIA SERVER 5.0.3
デベロッパーズガイド
![]() ![]() ![]() |
翻訳:株式会社サムライズ |
---|
注意
Adobe Media Server® バージョン 5についての本ドキュメントは第三者によって翻訳されたものであり、Adobe Systems Incorporated(アドビ システムズ社)は本翻訳物の正確性や完全性を査閲していません。
ライブメディアのストリーミング(HTTP)
HTTP 経由でのライブストリーミングの前提条件
HTTP Dynamic Streaming(HDS)と HTTP Live Streaming(HLS)を使用して、HTTP 経由でライブストリームをクライアントに配信するには、Adobe Media Server 上の HTTP Live Packager サービス(rootinstall/applications/livepkgr)にストリームをパブリッシュします。livepkgr サービスはストリームを取り込み、フラグメントにパッケージ化し、フラグメントをリアルタイムで Flash クライアントと iOS クライアントに配信します。
これらのチュートリアルを実行するには、次のソフトウェアを使用します。
注意:Windows の Flash Media Live Encoder では、AAC エンコーディングはサポートされていません。AAC のサポートを追加するには、MainConcept AAC Encoder を購入してください。
• (AdobeHTTP Dynamic Streaming)Adobe Media Server サンプルビデオPlayer(StrobeMedia Playback を使用) および Adobe Flash Player 10.1
• (Apple HTTP Live Streaming)iOS 3.0 以降のデバイスまたは Safari 4.0 や QuickTime X を含む Mac OS 10.6
詳細については、「サポートされているクライアント、エンコーダー、コーデックおよびファイル形式」と 「構築済みの Media Player」を参照してください。
HTTP 経由での単一のライブストリームのパブリッシュおよび再生
1 Adobe Media Server 5 をインストールし、Apache HTTP Server のインストールを選択します。
2 Flash Media Live Encoder をインストールし、絶対時間を使用するように設定します。
a Flash Media Live Encoder を閉じます。
b Flash Media Live Encoder の rootinstall\conf\config.xml ファイルをテキストエディターで開きます。Windows のデフォルトのインストール場所は C:\Program Files\Adobe\Flash Media Live Encoder 3.2 です。 Mac OS のデフォルトのインストール場所は Macintosh HD:Applications:Adobe:Flash Media Live Encoder 3.2
です。
c タグ//flashmedialiveencoder_config/mbrconfig/streamsynchronization/enable をtrue に設定します。
<flashmedialiveencoder_config>
<mbrconfig>
<streamsynchronization>
<!-- "true" to enable this feature, "false" to disable.-->
<enable>true</enable>
d ファイルを保存します。
3 ライブストリームを Adobe Media Server にパブリッシュするには、Flash Media Live Encoder を開始して次の操作を行います。
a Encoding Options パネルの Preset ポップアップメニューから、「High Bandwidth (800 Kbps) — H.264.」を選択します。「Audio Format」で、「AAC」を選択します。
注意:Windows の Flash Media Live Encoder では、AAC エンコーディングはサポートされていません。AAC のサポートを追加するには、MainConcept AAC Encoder を購入してください。
Flash Media Live Encoder エンコーディングオプションパネル
b 「Format」の隣のレンチをクリックして、Advanced Encoder Settings を開き、次の操作を実行します。
• 「Profile」で「Main」を選択します。
• 「Level」で「3.1」を選択します。
• 「Keyframe Frequency」で「4」または applications/livepkgr/events/_definst_/liveevent/Event.xml ファイルの <FragmentDuration> の倍数を選択します。<FragmentDuration> のデフォルト値は 4000 ミリ秒です。
注意:プロファイルおよびレベルサポートの詳細については、「サポートされているファイル形式とコーデック」を参照してください。
Flash Media Live Encoderの Advanced Encoder Setting
c 「FMS URL」テキストボックスに次のように入力します。
rtmp://localhost/livepkgr
注意:RTMP プロトコルを使用して、コンテンツを Adobe Media Server 上の livepkgr アプリケーションにストリーミングします。“localhost” に IP アドレスまたはドメイン名を代用することができます。
d 「Stream」テキストボックスに次のように入力します。
livestream?adbe-live-event=liveevent
注意:applications/livepkgr/main.asc ファイルにはこの値が必要です。
e 「Save to File」の選択を解除します。
f 「Start」をクリックします。
4 (Adobe HTTP Dynamic Streaming)Flash Media Playback でメディアを再生するには、次の操作を行います。
a Flash Media Playback を Web ブラウザーで開きます。
http://www.osmf.org/configurator/fmp/
注意:Flash Media Playback では、HTTP Dynamic StreamingをサポートするためにFlash Player 10.1 が必要です。
b 「Video Source」に次のように入力します。
http://localhost/hds-live/livepkgr/_definst_/liveevent/livestream.f4m
要求 URL の詳細については、「HTTP 経由でライブストリームをパブリッシュおよび再生するためのURL」を参照してください。
c 「Are you using HTTP Streaming or Adobe Access 2.0?」で「Yes」を選択します。
d 「Preview」をクリックします。「Play」をクリックします。
5 (Adobe HTTP Dynamic Streaming)Strobe Media Playback でメディアを再生するには、次の操作を行います。
a Web ブラウザーで Adobe Media Server のサンプルビデオ Player を開きます。
rootinstall/samples/videoPlayer/videoplayer.html を参照します。
b 「STREAM URL」に、次のように入力します。
http://localhost/hds-live/livepkgr/_definst_/liveevent/livestream.f4m
要求 URL の詳細については、「HTTP 経由でライブストリームをパブリッシュおよび再生するためのURL」を参照してください。
c 「LIVE」を選択して「PLAY STREAM」をクリックします。
6 (Apple HTTP Live Streaming)次の URL を使用します。
http://10.0.1.11/hls-live/livepkgr/_definst_/liveevent/livestream.m3u8
この URL を使用して様々な iOS デバイス、QuickTime および Safari を処理する場合の詳細については、「iOS Reference Library」の「HTTP Live StreamingOverview」を参照してください。
要求 URL の詳細については、「HTTP 経由でライブストリームをパブリッシュおよび再生するためのURL」を参照してください。
注意:“localhost” または “10.0.1.11” は、Adobe Media Server をホストしているコンピューターのドメイン名または IP アドレスに置き換えます。Adobe Media Server ホスティングプロバイダーを使用している場合は、プロバイダーからこの値が提供されます。
関連項目
「ディスク管理」
「HTTPDynamic Streaming および HTTP Live Streaming の設定」
HTTP 経由でのライブマルチビットレートストリームのパブリッシュおよび再生
1 Adobe Media Server 5 をインストールし、Apache HTTP Server のインストールを選択します。
2 Flash Media Live Encoder をインストールし、絶対時間を使用するように設定します。
a Flash Media Live Encoder を閉じます。
b Flash Media Live Encoderの rootinstall\Conf\config.xml ファイルをテキストエディターで開きます。
c タグ//flashmedialiveencoder_config/mbrconfig/streamsynchronization/enable をtrue に設定します。
<flashmedialiveencoder_config>
<mbrconfig>
<streamsynchronization>
<!-- "true" to enable this feature, "false" to disable.-->
<enable>true</enable>
d ファイルを保存します。
3 rootinstall/applications/livepkgr/events/_definst_/liveevent を参照し、次の操作を行います。
• Event.xml ファイルを次のように編集します。
<Event>
<EventID>liveevent</EventID>
<Recording>
<FragmentDuration>4000</FragmentDuration>
<SegmentDuration>16000</SegmentDuration>
<DiskManagementDuration>3</DiskManagementDuration>
</Recording>
</Event>
• Manifest.xml ファイルを liveevent フォルダーから削除するか、名前を変更します。
4 (Adobe HTTP Dyanmic Streaming)マルチビットレートストリーミングでは、Flash Media Player と AIR Media Player で、各ライブストリームの場所とビットレートを含む F4M マニフェストファイルを要求します。このタイプの F4M ファイルは、セットレベルマニフェストと呼ばれます。セットレベルマニフェストを作成するには、次の操作を行います。
a ブラウザーで rootinstall/tools/f4mconfig/configurator/f4mconfig.html を開きます。
b f4m ファイルタイプを選択します。
c ストリーム URI には、ベース URI に対する絶対パスまたは相対パスのいずれでも指定できます。ベース URI に次のように入力します。
http://localhost/hds-live/livepkgr/_definst_/liveevent
d 各ストリームについて次の情報を入力し、「Add」をクリックします。
ストリーム URI |
ビットレート |
livestream1.f4m |
150 |
livestream2.f4m |
500 |
livestream3.f4m |
700 |
e ファイルをプレビューするには、「View Manifest」をクリックします。マニフェストファイルは次のようになります。
<manifest xmlns="http://ns.adobe.com/f4m/2.0">
<baseURL>http://localhost/hds-live/livepkgr/_definst_/liveevent/</baseURL>
<media href="livestream1.f4m" bitrate="150"/>
<media href="livestream2.f4m" bitrate="500"/>
<media href="livestream3.f4m" bitrate="700"/>
</manifest>
f 「Save Manifest」をクリックして、ファイルを liveevent.f4m という名前で rootinstall/webroot に保存します。
Media Player で、Web サーバーからこのファイルを要求します。このチュートリアルでは、このファイルを rootinstall/webroot に保存しますが、Web サーバー上のどの場所からでもこのファイルを配信できます。このファイルは、Adobe Media Server に存在する必要はありません。このファイルには名前を付けることもできます。
5 (Apple HTTP Live Streaming)iOS デバイスで、各ストリームの場所、ビットレートおよびコーデック(オプション)を含む M3U8 バリアント再生リストファイルを要求します。M3U8 ファイルを作成するには、次の操作を行います。
a Set-level F4M/M3U8 File Generatorツールが開いていない場合は、
rootinstall/tools/f4mconfig/configurator/f4mconfig.html をダブルクリックしてブラウザーで開きます。
b 「m3u8」を選択します。
c 各ストリームのストリーム URIとビットレートを入力します。ストリーム URIには、絶対パスまたは相対パスのいずれでも指定できます。相対パスの場合は、m3u8ファイルに対する相対パスになります。
注意:M3U8 ファイルを生成している場合は、ベース URI を使用できません。このチュートリアルでは、次のストリーム URI 設定を使用します。
d m3u8 ファイルの場合は、各ストリームにオプションでコーデックを追加できます。
1 つのストリームがオーディオのみの場合は、オーディオコーデックを指定します。マニフェスト内のその他のストリームにはオーディオとビデオのコーデックを指定します。「オーディオのみのストリームのパブリッシュ(HLS)」を参照してください。
e ファイルを表示するには、「View Manifest」をクリックします。m3u8 ファイルは次のようになります。
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=150000
http://localhost/hls-live/livepkgr/_definst_/liveevent/livestream1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=500000
http://localhost/hls-live/livepkgr/_definst_/liveevent/livestream2.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=700000
http://localhost/hls-live/livepkgr/_definst_/liveevent/livestream3.m3u8
f ファイルを liveevent.m3u8 という名前でフォルダー rootinstall/webroot に保存します。
Media Player で、Web サーバーからこのファイルを要求します。このチュートリアルでは、このファイルを rootinstall/webroot に保存しますが、Web サーバー上のどの場所からでもこのファイルを配信できます。このファイルは、Adobe Media Server に存在する必要はありません。
6 ライブストリームを Adobe Media Server にパブリッシュするには、Flash Media Live Encoder を開始して次の操作を行います。
a Encoding Options パネルの Preset ポップアップメニューから、「Multi Bitrate - 3 Streams(1500 Kbps) - H.264」を選択します。「Audio Format AAC」を選択します。
注意:Windows の Flash Media Live Encoder では、AAC エンコーディングはサポートされていません。AAC のサポートを追加するには、MainConcept AAC Encoder を購入してください。
b 「Format」の隣のレンチをクリックして、Advanced Encoder Settings を開きます。「Keyframe frequency」で「4 seconds」を選択します。
注意:この値は、applications/livepkgr/events/_definst_/liveevent/Event.xml ファイルの <FragmentDuration> の値と一致します。<FragmentDuration> の値はミリ秒単位です。
c 「Bit Rate」で「150」、「500」および「700」を選択します。
d 「FMS URL」テキストボックスに次のように入力します。
rtmp://localhost/livepkgr
注意:このアプリケーションは Adobe Media Server と共にインストールされ、main.asc ファイルおよびライブ
HTTP Dynamic Streaming用の設定ファイルを含みます。
e 「Stream」テキストボックスに次のように入力します。
livestream%i?adbe-live-event=liveevent
注意:applications/livepkgr/main.asc ファイルにはこの値が必要です。Flash Media Live Encoder では変数 %i を使用して、複数のストリーム名(livestream1、livestream2、livestream3 など)を作成します。別のエンコーダーを使用するには、livestream1?adbe-live-event=liveevent、livestream2?adbe-live-event=liveevent などの独自の一意のストリーム名を指定します。
f 「Save to File」の選択を解除します。
g 「Start」をクリックします。
7 (Adobe HTTP Dynamic Streaming)Flash Media Playback では、セットレベルマニフェストファイルはサポートされていません。メディアを再生するには、Strobe Media Playback を使用します。Strobe Media Playback は、Adobe Media Server と共にインストールされるサンプルビデオ Player で使用されます。
a videoPlayer ディレクトリを rootinstall/samples/videoPlayer から rootinstall/webroot にコピーします。
b Web ブラウザーで次のサンプル Player を参照します。
http://localhost/videoPlayer/videoplayer.html
c 「Video Source」に次のように入力します。
http://localhost/liveevent.f4m
8 (Apple HTTP Live Streaming)iOS で、Safari に次の URL を入力します。
http://localhost/liveevent.m3u8
この URL を使用して様々な iOS デバイス、QuickTime および Safari を処理する場合の詳細については、「iOS Reference Library」の「HTTP Live StreamingOverview」を参照してください。
注意:localhost は、Adobe Media Server をホストしているコンピューターのドメイン名または IP アドレスに置き換えることができます。Adobe Media Server ホスティングプロバイダーを使用している場合は、プロバイダーからこの値が提供されます。
livepkgrへのパブリッシュ中に録画オプションを設定する
adbe-record-modeという録画というクエリパラメータ文字列を付加することで、録画オプションを設定することができます。この文字列の値は、”record”または”append”が可能です。もしパラメータが指定されなかった場合は、”append”が使用されます。”record”の場合、livepkgrは同じストリーム名とイベント名の以前の録画を上書きします。”append”の場合は、livepkgrアプリケーションは同じストリーム名とイベント名の以前の録画に追記します。
例えば、ストリームをrecordモードでパブリッシュするには、以下を使用してください。
livestream%i?adbe-live-event=liveevent&adbe-record-mode=record
ストリームをappendモード(デフォルト)でパブリッシュするには、以下を使用してください。
livestream%i?adbe-live-event=liveevent&adbe-record-mode=append
セルラーネットワーク経由でストリームを配信するには、ストリームの 1 つがオーディオのみである必要があります。詳細については、「HTTP Live Streaming Overview」を参照してください。
AACでエンコードされたオーディオファイル(MP4・F4V)は、.aacファイルとしてパッケージ化されます。また、そのファイルのM3U8ファイルは、.tsではなく.aacとしてファイル名を記載します。オーディオのみのストリームは、そのM3U8のURLが以下の埋め込みタグを持つ場合にのみ利用できます。
タグ |
説明 |
audio-only |
ストリーム・ファイルがオーディオのみであるかどうかを指定します。もしこのタグが存在しない場合は、オーディオのみのストリームはA/Vストリームから抽出されます。 |
audio-only-mp3/audio-only-aac |
要求されたストリームファイルのオーディオコーデックを指定します。もしこのタグが存在しない場合は、ファイル・セグメントはTSとしてセグメント化されます。 |
有効なM3U8のURLの例を以下に示します。
http://myserver/hls-vod/audio-only-aac/sample1_1500kbps.f4v.m3u8
M3U8ファイルのスニペットの例を以下に示します。
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM- ID=1,BANDWIDTH=1500000,CODECS="avc1.42001e, mp4a.40.2"http://10.40.23.222/hls-vod/sample1_1500kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM- ID=1,BANDWIDTH=150000,CODECS="avc1.42001e, mp4a.40.2"_http://10.40.23.222/hls-vod/sample1_150kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM- ID=1,BANDWIDTH=1000000,CODECS="avc1.42001e, mp4a.40.2"_http://10.40.23.222/hls-vod/sample1_1000kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM- ID=1,BANDWIDTH=64000,CODECS="mp4a.40.2"http://10.40.23.222/hls-vod/audio-only- aac/sample1_1000kbps.f4v.m3u8
オーディオのみのストリームをパブリッシュするには、Flash Media Encoder Stream フィールドに次を入力します。
livestream%i?adbe-live-event=liveevent&adbe-audio-stream-name=livestream1_audio_only&adbe-audio-stream-src=livestream1
エンコーダーが、各ストリームに個別のクエリ文字列を指定する場合は、次に示すように、変数 %iの代わりに個別のストリーム名を使用します。
livestream1?adbe-live-event=liveevent&adbe-audio-stream-name=livestream1_audio_only
livestream2?adbe-live-event=liveevent&adbe-audio-stream-name=livestream2_audio_only
注意:値はイタリックで使用することも独自の値で置換することもできます。ただし、デフォルトのライブイベント名は「liveevent」です。
パラメーター |
説明 |
adbe-audio-stream-name |
オーディオのみのストリームの名前。 |
adbe-audio-stream-src |
オーディオのみのストリームに対してオーディオを抽出するストリームの名前。こ のパラメーターを指定しない場合は、adbe-audio-stream-name パラメーターが指 定されたストリームが使用されます。 |
オーディオのみのストリームの使用時にセットレベルのバリアント再生リストを生成するには、オーディオのみのストリームのオーディオコーデックを指定します。オーディオとビデオを含むストリームのオーディオとビデオのコーデックを指定します。Set-level F4M/M3U8File Generatorの使用方法の詳細については、「HTTP 経由でのライブマルチビットレートストリームのパブリッシュおよび再生」を参照してください。
注意:オーディオのみのストリームをパブリッシュするよりはむしろ、前のセクションで述べられている「オーディオのみのパッケージ化」を使用することを強く推奨します。
HTTP 経由でライブストリームをパブリッシュおよび再生するための URL
重要:HDS 要求 URL の形式が Flash Media Server 4.5 で変更されました。Apache httpd.conf ファイルは、4.0 形式の要求を 4.5 形式にリダイレクトします。パス /live/events/livepkgr/events は、パス /hds-live/livepkgr にリダイレクトされます。
次の URL を使用して、HTTP 経由でのストリーミング用に単一のライブストリームを Adobe Media Server にパブリッシュします。
rtmp://ams-ip-or-dns/livepkgr/livestream?adbe-live-event=liveevent
次の URL を使用して、アダプティブビットレートストリーミング用に複数のライブストリームを Adobe Media Server にパブリッシュします。
rtmp://ams-ip-or-dns/livepkgr/livestream%i?adbe-live-event=liveevent
注意:RTMP 経由でストリームをパブリッシュしてください。クライアントではHTTP 経由でストリームが再生されます。次の URL を使用して、ライブストリームを HTTP 経由で再生します。
Client |
単一ストリームまたはアダプティブビットレート |
要求 URL |
Adobe HDS |
単一ストリーム |
http://<ams-dns-or-ip>/hds-live/livepkgr/<instname>/<eventname>/<streamname>.f4m |
Apple HLS |
単一ストリーム |
http://<ams-dns-or-ip>/hls- live/livepkgr/<instname>/<eventname>/<streamname>.m3u8 |
Adobe HDS |
アダプティブビットレート |
Media Player は、次に示すセットレベルマニフェストファイルを要求します。 http://<webserver-dns-or-ip>/<set-level-manifest>.f4m
セットレベルマニフェストファイルには、各ライブストリームの URL が次の形式で含まれます。 http://<ams-dns-or-ip>/hds- live/livepkgr/<instname>/<eventname>/<streamname>.f4m |
Apple HLS |
アダプティブビットレート |
Media Player は、次に示すセットレベルのバリアント再生リストファイルを要求します。 http://<webserver-dns-or-ip>/<set-level-variant-playlist>.m3u8 セットレベルのバリアント再生リストファイルには、各ライブストリームのURL が次の形式で含まれます。
http://<ams-dns-or-ip>/hls-live/livepkgr/<instname>/<eventname>/<streamname>.m3u8 |
重要: HTTP経由でストリーミングメディアを再生するには、Media Playerでマニフェストファイル(F4Mまたは M3U8)を要求します。サーバーでリアルタイムでマニフェストファイルが生成されます。ファイルはディスクには書き込まれないので、サーバーでこのファイルを表示することはできません。
パス /hds-live は、Apache httpd.conf ファイルの <Location> ディレクティブであり、Adobe HTTP Dynamic Streaming(HDS)のコンテンツをパッケージ化するようにサーバーに伝えます。
パス /hls-live は、Apache httpd.conf ファイルの <Location> ディレクティブであり、Apple HTTP Live Streaming
(HLS)のコンテンツをパッケージ化するようにサーバーに伝えます。
アダプティブストリーミングでは、クライアントでセットレベルマニフェストを要求します。HDSの場合、このファイルは .f4mファイルになります。HLSの場合、このファイルは .m3u8ファイルになります。セットレベルマニフェストは、どの Webサーバーにも置くことができます。単一セットのライブストリームに対し、複数のセットレベルマニフェストファイルを作成できます。
セットレベルマニフェストには、各ライブストリームの F4Mマニフェストファイル(HDS)と M3U8バリアント再生リスト(HLS)へのパスが含まれています。HTTPのストリームをパッケージ化するようにサーバーに伝えるため、パスは、/hds-liveまたは /hls-liveで始まる必要があります。
注意:セットレベルマニフェストを要求する URL に /hds-live または /hls-live を含めないでください。
<Location> ディレクティブ設定およびコンテンツの場所は Apache httpd.conf ファイルで設定できます。詳細については、「コンテンツストレージ(HDS および HLS)」を参照してください。
Flash Media Server 4.0 と Flash Media Server 4.5 での HTTP ライブ URL の相違点
HTTP 経由でライブストリームを再生するデフォルトの URL が Flash Media Server 4.5 で変更されました。Flash Media Server 4.0 では、ライブストリームを再生する URL は
http://<servername>/live/events/livepkgr/events/<eventname> でした。Flash Media Server 4.5 Apache httpd.confファイルは、301 リダイレクトを使用して、4.0 URL を使用する要求を 4.5 URL にリダイレクトします。
詳細については、「Flash Media Server 4.0 と Flash Media Server 4.5 での HTTP Dynamic Streamingの相違点」を参照してください。
サーバーでのDVR の設定
1 ブラウザーで、次に示す Set-level F4M/M3U8File Generator を開きます。
rootinstall/tools/f4mconfig/configurator/f4mconfig.html
2 Stream URI と Bitrate の値を入力するのに加え、DVR Window Durationの値を入力します。この値は、ライブポイントの前に、可視コンテンツの量を分単位で設定します。
次のガイドラインを使用して、次の Window Durationを設定します。
• Window Duration を 0 より大きい値に設定します。
Window Durationを 0 に設定すると、ユーザー操作性を低下させる可能性があります。
• -1の値は、ライブポイントの後ろの利用可能な記録済みコンテンツが無制限であることを示しています。
3 Event.xml ファイルで、DiskManagementDuration エレメントを設定して、サーバーがキャッシュするコンテンツ量を指定します。デフォルトで、サーバーは 3 時間分のコンテンツをキャッシュします。次の式を使用して、DiskManagementDuration の値に関連させて Window Durationの値を決定します。
HDSWindowDuration <= (DiskManagementDuration - SegmentDuration)
ディスク管理の詳細については、「ディスク管理」を参照してください。
DVR ストリームのパブリッシュ
Flash Media Live Encoder から DVR ストリームをパブリッシュするために、「Record」をクリックしたり「DVR Auto Record」をチェックしたりしないでください。ライブストリームをパブリッシュするときにのみストリームをパブリッシュしてください。
DVR ストリームの再生
Strobe Media Playback は、デフォルトで DVR ストリームをサポートします。
注意:Flash Media Playback では、セットレベルマニフェストファイルはサポートされていません。Flash Media Playback を使用するには、Manifest.xml ファイルを設定します。「Manifest.xml」を参照してください。
サーバーでのスライディングウィンドウの設定
スライディングウィンドウは、Apple HTTP Live Streamingのストリームのシーク可能な部分です。クライアントは、スライディングウィンドウの長さを越えてシークすることはできません。HTTP Live Streaming クライアントは、スライディングウィンドウを使用してシークバーを設定します。
次のレベルでスライディングウィンドウを設定します。
レベル |
設定ファイル |
Server |
rootinstall/Apache2.2/conf/httpd.conf |
Application |
rootinstall/applications/livepkgr/Application.xml
livepkgr アプリケーションは HTTP ストリーミング用のデフォルトアプリケーションです。 このアプリケーションは、複製して名前を変更できます。 |
イベント |
rootinstall/applications/livepkgr/events/_definst_/liveevent/Event.xml
liveevent フォルダーはデフォルトのライブイベントです。1 つのアプリケーション内に複数のライブイベントを作成できます。 |
次のパラメーターを使用します。
パラメーター |
設定ファイル |
説明 |
HLSSlidingWindowLength |
httpd.conf |
スライディングウィンドウでのシークに使用できる TS ファイルの数。 |
SlidingWindowLength |
Application.xml と Event.xml |
スライディングウィンドウでのシークに使用できる TS ファイルの数。 |
HLSMediaFileDuration |
httpd.conf |
ミリ秒単位の TS ファイルの長さ。 |
MediaFileDuration |
Application.xml と Event.xml |
ミリ秒単位の TS ファイルの長さ。 |
スライディングウィンドウ内の時間は次のとおりです。
HLSSlidingWindowLength * HLSMediaFileDuration
SlidingWindowLength * MediaFileDuration
デフォルトでは、HLSSlidingWindowLength は 6 秒に、HLSMediaFileDuration は 8000 ミリ秒に設定されます。そのため、デフォルトでは、48 秒幅のウィンドウ内ですべての HLS ライブイベントをシークできます。
スライディングウィンドウは、ライブストリームの現在の位置に対応します。例えば、スライディングウィンドウが 15分のデータを保持するように設定されていて、イベントが時間 0で開始する場合、ライブストリームが 30 のとき、最後のシーク可能位置は 15になります。
ライブイベント全体をシーク可能にするには、SlidingWindowLengthまたは HLSSlidingWindowLengthを 0に設定します。ただし、これによってパフォーマンスに影響が出る場合があります。
スライディングウィンドウはディスクにキャッシュされるコンテンツの継続時間より小さくなるように設定します。 Event.xmlファイルでは、DiskManagementDurationエレメントはサーバーがキャッシュするコンテンツ量を指定します。デフォルトで、サーバーは 3時間分のコンテンツをキャッシュします。HLSスライディングウィンドウのサイズは次のようにする必要があります。
HLSSlidingWindow <= (DiskManagementDuration - SegmentDuration)
ディスク管理の詳細については、「ディスク管理」を参照してください。
イベントレベルでのスライディングウィンドウの設定
次の Event.xml ファイルは、単一の HLS ライブイベントに対し、1 時間のスライディングウィンドウを作成します。
<Event>
<EventID>liveevent</EventID>
<Recording>
<FragmentDuration>4000</FragmentDuration>
<SegmentDuration>400000</SegmentDuration>
<DiskManagementDuration>3</DiskManagementDuration>
</Recording>
<HLS>
<MediaFileDuration>8000</MediaFileDuration>
<SlidingWindowLength>450</SlidingWindowLength>
</HLS>
</Event>
アプリケーションレベルでのスライディングウィンドウの設定
次の Application.xml ファイルは、livepkgr アプリケーション内のすべての HLS ライブイベントに対し、1 時間のスライディングウィンドウを作成します。
<Application>
<StreamManager>
<Live>
<AssumeAbsoluteTime>true</AssumeAbsoluteTime>
</Live>
</StreamManager>
<HLS>
<MediaFileDuration>8000</MediaFileDuration>
<SlidingWindowLength>450</SlidingWindowLength>
</HLS>
</Application>
livepkgr アプリケーションを再ロードします。
サーバーレベルでのスライディングウィンドウの設定
次の Apache設定は、HLSSlidingWindowLengthを 450に設定します。この設定は、サーバー上のすべての HLSライブイベントに対し、1 時間のスライディングウィンドウを作成します。
...
<IfModule hlshttp_module>
<Location /hls-live>
HLSHttpStreamingEnabled true
HttpStreamingLiveEventPath "../applications"
HttpStreamingContentPath "../applications"
HLSMediaFileDuration 8000
HLSSlidingWindowLength 450
HLSFmsDirPath ".."
HLSM3U8MaxAge 2
HLSTSSegmentMaxAge -1
Options -Indexes FollowSymLinks
</Location>
Apache HTTP Server を再起動します。
スライディングウィンドウによるストリームのパブリッシュ
スライディングウィンドウを使用してストリームをパブリッシュするようにエンコーダーを設定する必要はありません。
スライディングウィンドウによるストリームの再生
HTTP Live Streaming をサポートするデバイスは、デフォルトでスライディングウィンドウ機能をサポートします。
livepkgrサービスの複製
サーバーは livepkgr サービスのインスタンスを無制限の数サポートしています。
❖ rootinstall/applications/livepkgr フォルダーを applications フォルダー内で複製し、livepkgr2 などの新しい名前を付けます。この場合、新しい livepkgr サービスは rootinstall/applications/livepkgr2 に格納されます。
livepkgrサービスのインスタンスの数は、必要に応じていくつでも作成することができます。
livepkgr サービスでのサーバーサイドコードの変更
注意:Adobe Media Server Standard のサーバーサイドコードを記述することはできません。
❖ rootinstall/applications/livepkgr/main.far ファイルを削除し、
rootinstall/samples/applications/livepkgr/main.asc ファイルに置き換えます。
全てのHDSセグメントの削除
アプリケーションがアンロードされた際に全ての既存のHDSセグメントを削除するには、以下で示すようにclearOnAppStopタグを使用することができます。
<ScriptEngine>
<ApplicationObject>
<config>
<clearOnAppStop>true</clearOnAppStop>
</config>
</ApplicationObject>
</ScriptEngine>
最終更新日 2013/9/30