各種操作
ビデオオンデマンド(VOD)
ビデオオンデマンド(VOD)を機能させる際に重要なポイントは、全てのメディアファイルを適切なディレクトリ下に配置することです。デフォルトではEMS>mediaフォルダに設定されています。もし異なるフォルダをメディアファイルとして使用したい場合は、 config.lua
ファイルの mediaFolder
パラメータを変更してください。
mediaStorage={
recordedStreamsStorage="C:\\EvoStream\\media",
{
description="Default media storage",
mediaFolder="C:\\EvoStream\\media",
},
詳しくはconfig.lua/mediaStorageをご確認ください。
VOD - RTMP
EMSは自動的にRTMPでVOD処理をおこないます。ターゲットプレーヤーに適切なURIを指定します。
例)
ファイル名(拡張子)に注意してください。URIはファイルタイプに応じて以下のようにフォーマットする必要があります。
サポートされるファイルタイプ
ファイルタイプ | ストリーミングURIの値 |
---|---|
*.flv | rtmp://< SERVER_ADDRESS >/vod/NameOfFile.flv |
*.mp4 | rtmp://< SERVER_ADDRESS >/vod/NameOfFile.mp4 |
*.mov | rtmp://< SERVER_ADDRESS >/vod/NameOfFile.mov |
*.m4v | rtmp://< SERVER_ADDRESS >/vod/NameOfFile.mv4 |
メディアファイルをサブディレクトリに置くこともできます。
EMSは動的に"シーク情報"並びに"メタデータ"を生成します。これにより、クライアントはビデオの任意の時点のどこからでも再生が可能です。サーバー上の元のビデオファイルの位置を移動した場合、シーク情報やメタデータを一緒に移動することはできません。これらは絶対パスを使用しているため、再生成されるように手動で削除する必要があります。
VOD - RTSP(with RTP,MPEG-TS)
EMSは自動的にRTSPでVOD処理をおこないます。ターゲットプレーヤーに適切なURIを指定します。
例)
FLV形式はRTMP用に特別に設計されているので、RTSPでのFLVファイルの再生はサポートされていません。
一方、MP4ファイルはRTSPでの再生ができます。これはVODリクエストのフォーマットを単純にします。
サポートされるファイルタイプ
ファイルタイプ | ストリーミングURIの値 |
---|---|
*.flv | サポートされていません。 |
*.mp4 | rtsp://< SERVER_ADDRESS >5544/vod/NameOfFile.mp4 |
*.mov | rtsp://< SERVER_ADDRESS >5544/vod/NameOfFile.mov |
*.m4v | rtsp://< SERVER_ADDRESS >5544/vod/NameOfFile.m4v |
メディアファイルをサブディレクトリに置くこともできます。
デフォルトでは、EMSはRTP経由でビデオ/オーディオペイロードデータを送信します。MPEG-TSが必要な場合は下記のリクエストURIで指定します。
EMSは動的に"シーク情報"並びに"メタデータ"を生成します。これにより、クライアントはビデオの任意の時点のどこからでも再生が可能です。サーバー上の元のビデオファイルの位置を移動した場合、シーク情報やメタデータを一緒に移動することはできません。これらは絶対パスを使用していますため、再生成されるように手動で削除する必要があります。
HLSでのVOD対応
HLSは従来のVOD用途向けには設計されていません。HLSはライブストリームを取得した後小さなファイルに変換し、それらをiPhoneやiPad等のiOSデバイスに配信するよう設計されています。iOSデバイスはオンラインソースからそれらのファイルをダウンロードし再生をおこないます。
EMSを使用して、HLSでVODを実行する方法もなくはありません。最初にダミーでRTMPライブストリームを生成し、それから新規HLSストリームを生成するという方法がとれます。
一連のコマンドの例)
Issue a pullStream command:
pullStream uri=rtmp://<SERVER_ADDRESS>/vod/video.mov keepAlive=1 localstreamname=DummyLive
Issue createHLSStream command:
createHLSStream localstreamnames=DummyLive bandwidths=128 targetfolder=../evo-webroot/ groupname=hls playlisttype=rolling playlistLength=10 chunkLength=20
ストリームのエイリアスを有効にしたVOD再生
エイリアス機能はVODストリームでも適用が可能です。 hasStreamAliases
が有効化されていれば、ファイル名から直接再生はできなくなります。
例)
rtmp://<SERVER_ADDRESS>/vod/<aliasname>