印刷する

各種操作

HLSストリーム生成

既存のH.264/AAC及びH.265/AACストリームからHTTP Live Stream(HLS)を生成します。
HLSはiPhoneやiPad等iOS端末向けのライブフィードのストリーミングに使用されます。詳しくはcreateHLSStream APIをご確認ください。

設定

シングルストリーム

一般的なフォーマット

createHLSStream localstreamnames=<localstreamname> targetFolder=<target_folder_path> groupname=<groupname>

・Windows

createHLSStream localstreamnames=myStream targetfolder=C:\EvoStream\evo-webroot groupname=myHLSGroup

・Linuxパッケージ

createHLSStream localstreamnames=myStream targetfolder=/var/evo-webroot groupname=myHLSGroup

・Linuxアーカイブ

createHLSStream localstreamnames=myStream targetfolder=/path_to_evo-webroot groupname=myHLSGroup

生成されたファイルは自動的に targetFolder で指定されたパスに保存されます。

evo-webroot:                           --> targetfolder
myHLSGroup                             --> groupname
- myStream                             --> localstreamname
-- segmentfile_1.ts                    --> segment_file
-- segmentfile_2.ts                    --> segment_file
-- segmentfile_X.ts                    --> segment_file
-- playlist.m3u8                       --> childplaylist_file
- playlist.m3u8                        --> masterplaylist_file
複数のストリーム

ひとつの createHLSStream コマンドを使用して複数の localStreamNames を生成します。

一般的なフォーマット

createHLSStream localstreamnames=<localstreamname1>,<localstreamname2>,<localstreamnameX> targetFolder=<target_folder_path> groupname=<groupname>

・Windows

createHLSStream localstreamnames=myStream1,myStream2 targetfolder=C:\EvoStream\evo-webroot groupname=myHLSGroup

・Linuxパッケージ

createHLSStream localstreamnames=myStream1,myStream2 targetfolder=/var/evo-webroot groupname=myHLSGroup

・Linuxアーカイブ

createHLSStream localstreamnames=myStream1,myStream2 targetfolder=/path_to_evo-webroot groupname=myHLSGroup

生成されたファイルは自動的に targetFolder で指定されたパスに保存されます。

evo-webroot:                           --> targetfolder
myHLSGroup                             --> groupname
- myStream1                            --> localstreamname_1
-- segmentfile_1.ts                    --> segment_file
-- segmentfile_2.ts                    --> segment_file
-- segmentfile_X.ts                    --> segment_file
-- playlist.m3u8                       --> childplaylist_file_1
- myStream2                            --> localstreamname_2
-- segmentfile_1.ts                    --> segment_file
-- segmentfile_2.ts                    --> segment_file
-- segmentfile_X.ts                    --> segment_file
-- playlist.m3u8                       --> childplaylist_file_2
- playlist.m3u8                        --> masterplaylist_file

JSON CLI レスポンス

サンプルAPIコール

createHLSStream localstreamnames=testpullstream targetfolder=/var/evo-webroot groupname=hls playlisttype=rolling

JSON CLI レスポンス

Command entered successfully!
HLS stream created

    groupName: hls
    localStreamNames:
      -- testpullStream
    playlistName: playlist.m3u8
    playlistType: rolling
    targetFolder: /var/evo-webroot

HLSプレイリストファイルの再生

Safariやその他のプレーヤーでストリーム再生するための設定です。

一般的なフォーマット

http://<EMS_IP_Address:<Web_Server_Port>/<HLS_groupname>/<Subfolder>/<playlist_filename>

サンプルURL

シングルストリーム

http://192.168.2.34:8888/myHLSGroup/playlist.m3u8

複数のストリーム

http://192.168.2.34:8888/myHLSGroup/myStream1/playlist.m3u8
http://192.168.2.34:8888/myHLSGroup/myStream2/playlist.m3u8
http://192.168.2.34:8888/myHLSGroup/myStream3/playlist.m3u8

HLSプレイリストがロードされると、プレーヤーは自動的にストリームの再生を開始します。

DVRの再生

EMSはDVR機能をサポートしているため、ライブストリームの一時停止や再生の再開等が可能です。これはHLSプロトコルサポートに組み込まれた機能です。"appending"プレイリストタイプ、或いは playlistLength に大きな値を指定した"rolling"プレイリストを使用します。
サーバーサイドプレイリストで"local pulls"を利用する事によって、タイムシフトコンテンツやスケジュールコンテンツの生成もできます。

HLSの再開

サーバーもしくはストリームが再起動された場合、HLSは既存のプレイリストにセグメントを追加することで再開します。これは createHLSStream APIコマンドで hlsResume パラメータを指定する事により有効となります。
このパラメータのデフォルト値は0(false)です。

 hlsResume パラメータを指定した createHLSStream APIコマンドの使用例)

createHLSStream localstreamnames=MyStream targetFolder=/var/evo-webroot groupName=hls playlisttype=rolling hlsResume=1

音声のみのHLS

EMSは音声(オーディオ)のみのHLS配信をサポートしています。 createHLSStream APIコマンドで audioOnly パラメータを指定する事により映像(ビデオ)なしのストリームを生成します。
このパラメータのデフォルト値は0(false)です。

 audioOnly パラメータを指定した createHLSStream APIコマンドの使用例)

createHLSStream localstreamnames=MyStream targetFolder=/var/evo-webroot groupName=hls playlisttype=rolling audioOnly=1

暗号化

VeriMatrix DRM

EMSはHLSストリーム用のVerimatrix DRMをサポートしています。VeriMatrixサポートを有効にするには、config.luaファイル内の"drm"を有効にして修正する必要があります。
詳しくはこちら
設定ファイルでVerimatrixサポートが有効になると、条件付きでHLSストリームにVerimatrixプロテクションを追加する事ができます。
 createHLSStream APIコマンドで drmType パラメータを指定してください。

createHLSStream localstreamnames=MyStream targetFolder=/var/evo-webroot groupName=hls playlisttype=rolling drmType=verimatrix
AES暗号化

EMSはHLSストリームのAES暗号化をサポートしています。AES暗号化を使用するには、 createHLSStream APIコマンドで drmType  aesKeyCount の2つのパラメータ値を指定する必要があります。

createHLSStream localstreamnames=MyStream targetFolder=/var/evo-webroot groupName=hls playlisttype=rolling drmType=ems aesKeyCount=5

drmType:文字列(String)の値で暗号化のタイプを指定します("ems"は EvoStream AES暗号化方式を意味します)。
aesKeyCount:整数値(デフォルト値は"5")で、HLSストリームの暗号化中に生成されるローテーションAESキーの数を指定します。

HLSの自動化

EMSは新規インバウンドストリーム毎に自動的にHLSストリームを生成するよう設定する事が出来ます。
自動HLSを有効にするには、config.luaファイル内のセクションを変更する必要があります。 createHLSStream APIコマンドでのパラメータ設定は不要です。

autoHLS=
{
 targetFolder= "/var/evo-webroot",
},

詳しくはこちら

関連リンク

createHLSStream API
HTTPストリームの追加
HLSアップロードサービス