印刷する

EMS設定ファイル

webconfig.json

EvoStream Web Server(EWS)の主要構成ファイルです。Webルートフォルダー、サーバーの秘密鍵及び証明書、ホワイト/ブラックリスト、ログなど重要なWebサーバファイル/フォルダーの位置を定義しています。またHTTPポートやグループ名、エイリアス、SSLモード、接続数/メモリ制限、MIMEタイプななどその他のWebサーバー設定も含まれています。

configuration
EWSサーバーが必要とする全ての設定が含まれています。

configuration =
  {
      logAppenders
      {
          -- content removed for clarity
      },
      applications =
      {
          -- content removed for clarity
      }
}

・webServer Configuration構成テーブル

KeyType必須説明
loggersObjectlog appenderが記述されています。
各ログメッセージは、この設定セクションに列挙された各log appenderに送られます。
applicationsObjectロードされたアプリケーションが記述されています。その他いくつかの設定も含まれています。

Webサーバーが起動すると、次の一連の処理が実行されます。
1.  loggers の設定値が読み込まれ、全てのlog appenderが初期化・実行されます。
2.  applications の設定値が読み込まれます。
この後全てのアプリケーションが完全に機能し、サーバーがオンラインとなりスタンバイ状態となります。

loggers

Webサーバーのログ及びログファイルの設定

"loggers": 
 {
  "console":
  {
   "colorize": true,
   "json": false,
   "level": "silly"
  },
  "file":
  {
   "filename": "evo-webserver",
   "extension": "log",
   "dirname": "C:\\EvoStream_2.1\\logs",
   "json": false,
   "maxsize": 1048576,
   "level": "silly"
  }
},

このセクションにはlog appenderのリストが含まれています。このリストは初期化の際にlogger内にロードされます。
ログはコンソールとファイルの2種類があります。
 console はEMSコンソールログの設定です。 file は保存されたログファイルの設定です。

・webServer loggers構成テーブル

KeyType必須説明
colorizeBoolean"true"の場合、ログがカラー表示されます。ログタイプにより色は異なります。
config.luaのcoloredConsoleと似ています。
jsonBoolean"true"の場合、ログをjson形式で表示/書き込みします。
levelStringログレベル。この値以下のログレベルを持つメッセージはすべて記録され、残りは削除されます。
(ログレベル:SILLY,DEBUG,VERBOSE,INFO,WARN,ERROR)
filenameStringファイル名のプレフィックス
(fileName.xxxx.timestamp.log)
extensionStringログファイルの拡張子
(fileName.xxxx.timestamp.extension)
dirnameString ログファイルの絶対パス
maxsizeNumber ログファイル最大サイズ(KB)

applications

サーバー内の全てのアプリケーションが配置されています。起動時に使用する各アプリケーション属性を保持します。
各アプリケーションには、独自の機能を実行するために必要な特定の属性があります。

name(必須 / Type:String)

Webサーバーアプリケーション名

"name": "webserver",
description(Type:String)

Webサーバーアプリケーションの詳細情報

"description": "Built-In Web Server",
port(必須 / Type:Number)

Webサーバーの待機ポート

"port": 8888,
emsPort(必須 / Type:Number)

WebサーバーがEMSと通信するポート

"emsPort": 1113,

注:config.luaファイルのinboundBinVariant acceptorと一致している必要があります。

webservicesPort(必須 / Type:Number)

Web ServiceがEMSと通信するポート

"webservicesPort": 4000,
webuiPort(必須 / Type:Number)

Web UIがEMSと通信するポート

"webuiPort": 4100,
bindToIP(Type:String)

ホストに複数のイーサネットカードがある場合に使用する特定のIP

"bindToIP": "",
sslMode(Type:String)

Webサーバー使用時のSSL設定

利用可能な値

  • disabled:HTTPを使用
  • enabled:HTTPSの使用を強制する
  • automatic:最初にHTTPをチェックし、そうでなければHTTPSにフォールバックします。
"sslMode": "disabled",
sslKeyFile(Type:String)

SSLキーファイルのパス

"sslKeyFile": "../config/server.key",
sslCertFile(Type:String)

SSL証明書ファイルのパス

"sslCertFile": "../config/server.cert",
enableIPFilter(Type:Boolean)

"true"の場合、ホワイト/ブラックリストファイルが読み込まれます。

"enableIPFilter": false,
whitelistFile(Type:String)

ホワイトリストファイルのパス

"whitelistFile": "../config/whitelist.txt",
blacklistFile(Type:String)

ブラックリストファイルのパス

"blacklistFile": "../config/blacklist.txt",
hasGroupNameAliases(Type:Boolean)

グループ名のエイリアスを有効または無効にします。
HTTPストリーミング(HLS,HDS,MSS,DASH,メディアファイル)をダイレクトなアクセスから保護します。

"hasGroupNameAliases": false,
webRootFolder(必須 / Type:String)

Webルートフォルダのパス

"webRootFolder": "..\\evo-webroot",

注:他のWebルートを使用する際には、ポートに注意してください。

mediaFileDownloadTimeout(必須 / Type:number)

メディアファイルのダウンロードセッションのタイムアウト値

"mediaFileDownloadTimeout": 30,
supportedMimeTypes

このセクションではファイル拡張子とMIMEタイプとの関連付けについての設定が記述されています。

"supportedMimeTypes":
 [
  { 
   "extensions": "mp4,mp4v,mpg4",
   "mimeType": "video/mp4",
   "streamType":"",
   "isManifest":false
  },
  { 
   "extensions": "flv",
   "mimeType": "video/x-flv",
   "streamType":"",
   "isManifest": false
  },
  { 
   "extensions": "m3u,m3u8",
   "mimeType": "audio/x-mpegurl",
   "streamType": "hls",
   "isManifest": true
  },
  { 
   "extensions": "ts",
   "mimeType": "video/mp2t",
   "streamType": "hls",
   "isManifest": false
  },
  { 
   "extensions": "aac",
   "mimeType": "audio/aac",
   "streamType": "hls",
   "isManifest": false
  },
  { 
   "extensions": "f4m",
   "mimeType": "application/f4m+xml",
   "streamType": "hds",
   "isManifest": true
  },
  { 
   "extensions": "ismc,isma,ismv",
   "mimeType": "application/octet-stream",
   "streamType": "mss",
   "isManifest": true
  },
  { 
   "extensions": "fmp4",
   "mimeType": "video/mp4",
   "streamType": "mss",
   "isManifest": false
  },
  { 
   "extensions": "mpd",
   "mimeType": "application/dash+xml",
   "streamType": "dash",
   "isManifest": true
  },
  { 
   "extensions": "m4s",
   "mimeType": "video/mp4",
   "streamType": "dash",
   "isManifest": false
  },
  { 
   "//": "needed for supporting adobe player's crossdomain.xml",
   "extensions": "xml",
   "mimeType": "application/xml",
   "streamType": "",
   "isManifest": false
  }
 ],

・WebServer supportedMimeTypes構成テーブル

KeyType必須説明
extensionsStringファイル拡張子
mimeTypeStringファイル拡張子に関連付けるMIMEタイプ
streamTypeString HTTPストリームの種類
isManifestBoolean HTTPストリーミングで使用するマニフェストファイルがあるかどうか
includeResponseHeaders

このセクションではレスポンスに含まれる追加のヘッダ情報を示します。

"includeResponseHeaders": 
 [
  {
   "header": "Access-Control-Allow-Origin",
   "content": "*",
   "override": true
  },
  {
   "header": "User-Agent",
   "content": "Evostream",
   "override": false
  }
 ],

・WebServer includeResponseHeaders構成テーブル

KeyType必須説明
headerStringレスポンスヘッダ
contentStringレスポンスヘッダに対する固有値
overrideBoolean 既存ヘッダに既に追加ヘッダが含まれている場合、ヘッダを上書きするかどうか
apiProxy

プロキシ認証を用いてHTTPベースのEMS APIを保護します。全てのAPIコマンドはまずEWSを通過しユーザ名/パスワード認証が行われ、その後でEMSにコマンドを渡します。
APIコマンドの戻り値は適切に呼び出し元に戻されます。

プロキシ認証を有効にするには、 webconfig.lua 設定ファイル内にある"apiProxy"セクションのコメントを外します。

"apiProxy": 
 {
  "enable" : true,
  "authentication": "basic",
  "pseudoDomain": "apiproxy",
  "address": "127.0.0.1",
  "port": 7777,
  "userName": "username",
  "password": "password"
 }

・apiProxy構成テーブル

KeyType必須説明
enableBoolean"true"の場合、apiProxy設定が読み込まれます。
authenticationObject認証タイプ。
現在利用可能な値は"basic"(ユーザー名とパスワードを使用する基本的なHTTP認証)と"none"(認証無効)の2つだけです。
pseudoDomainObjectドメイン名またはフォルダ
addressNumberinboundHTTPJsonCLIを使用するIPアドレス
portNumberconfig.luaで設定したinboundHttpJsonCliのacceptorポート
userNameString basic認証ユーザ名
passwordString basic認証パスワード