Skip to content

Instantly share code, notes, and snippets.

@uupaa
Last active September 20, 2022 11:23
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save uupaa/bdd7621e433409808b71 to your computer and use it in GitHub Desktop.
Save uupaa/bdd7621e433409808b71 to your computer and use it in GitHub Desktop.
Wowza

Wowza

Wowza Media System 社の動画ストリーミングサーバ。有料。
コンテナは RTMP, RTP, MPEG-TS, HLS, HDS, MSS, DASH をサポート。コーデックは、H.264, H.265, AAC をサポートしています。

Document

Document

Free trial

無料で機能評価が可能です。2種類(通常,開発者)のライセンスが提供されています。

通常ライセンス: 機能制限付きの180日間のフリートライアルが試せます 。こちらのライセンスでは HLS, MPEG-DASH が利用できません。

  • Industrial-strength streaming video server
  • Includes Transcoder, nDVR, DRM features
  • Trial version limited to 3 inbound, 10 outbound connections
  • Trial version does not include HTTP Origin functionality

開発者ライセンス: HLS, MPEG-DASH などをテストする場合は、開発者向けの 180日間のフリートライアルライセンス を使用する必要があります。

For those users who need to develop, test, create, and validate solutions using Wowza software, Wowza provides a 180-day Developer License. This license is intended for long-term development tasks; it includes one (1) license key for one (1) server instance. More than one key can be requested for origin-edge configurations. One license allows up to three inbound connections and ten total connections, and limited access to all AddOns. Simply complete this form and you will receive a Developer license key by email.

サポートしている OS は、Windows, Mac, Linux。必要な項目を入力すると、 E-Mail でダウンロード先と、トライアルキーが送付されてくるので、 ダウンロードしインストールを行います。

Install Wowza

インストールの中に、Wowza の管理者(admin)アカウントを作成する画面が表示されますので、適当な user/pass を設定します(これは OSの user/pass とは別のものです)

Wowza Streaming Engine を自動起動する場合はチェックします。通常はそのままにします。

チェックを外すと、Stand Alone モードになります。 Stand Alone モード では、 動画の配信元のアドレスが 127.0.0.1:1935 になります。[要確認]

インストールが完了すると、 http://localhost:8088/enginemanager/ftu/welcome.htm が立ち上がり、簡単な機能紹介が始まります。

次の画面では、インストール時に設定した admin の user/pass を入力します。

ライブストリーミングをする場合は、以下の画面でソースユーザ名とパスワードを設定します。

この情報は RTMPとRTSPで必要になるようです。 RTMPとRTSPを利用しない場合は不要と思われますが[要出典]、とりあえず適当に設定しておきます。

入力が終わると、Webフロントエンド(ダッシュボード)が起動します。

理由は不明ですが、en0 が wifi だと起動しない事があります。
起動しない場合は en0 をLAN に切り替え再起動してみてください。

ダッシュボードにある TestVideo をクリックすると、サンプル動画が再生されます。

Stop and Start Server

Wowza サーバの停止/起動は、{wowza-install-dir}/bin 以下のコマンドで行います。

シェルのalias に wowza のパス {wowza-install-dir} を登録しておくと良いでしょう。

alias wowza="/Library/WowzaStreamingEngine"

Wowza は、GUIフロントエンドを司る Wowza Streaming Engine Manager と、ストリーミングサーバ(Wowza Streaming Server)の2種類のサーバを起動しています。
必要に応じてサーバをそれぞれ停止/再起動を行います。

以下は Mac でサービスモードで起動している場合の例です。
(インストール時に自動起動を選択した場合はこちらを使って停止/起動を行います)

起動/停止コマンドは OS毎に異なります、 http://www.wowza.com/forums/content.php?631-How-to-start-and-stop-Wowza-Streaming-Engine-software を参照してください。

# 停止(Mac)
$ sudo launchctl unload -w /Library/LaunchDaemons/com.wowza.WowzaStreamingEngineManager.plist

# 停止(Linux)
$ sudo service WowzaStreamingEngineManager stop
  or
$ /etc/init.d/WowzaStreamingEngineManager stop

# 起動(Mac)
$ sudo launchctl load -w /Library/LaunchDaemons/com.wowza.WowzaStreamingEngineManager.plist

# 起動(Linux)
$ sudo service WowzaStreamingEngineManager start
  or
$ /etc/init.d/WowzaStreamingEngineManager start

以下は Mac でスタンドアローンモードで起動している場合の例です。

$ wowza             # /Library/WowzaStreamingEngine に移動。 cd /Library/WowzaStreamingEngine 相当

# 停止
$ sudo ./manager/bin/shutdownmgr.sh  # Manageer
$ sudo ./bin/shutdown.sh             # ストリーミングサーバ

# 起動
$ sudo ./manager/bin/startmgr.sh     # port 8088 を listen します
$ sudo ./bin/startup.sh

トラブルシューティング

  • 既に 1935 が利用されているためエラーになる
    • sudo lsof -n -P -i:1935 を実行し、プロセスを確認します
      • Wowza が RTMP を出力するように設定されている状態で、ポート 1935 が Wowza 以外のプロセスで listen されているとサーバが起動中にエラーになります。
      • 1935 を開放し、サーバをリスタートする必要があります。
      • いろいろやっても分からなければ、いろいろと再起動しましょう
  • 既に 8088 が利用されているためエラーになる
    • 設定を変更すると回避可能らしいのですが、よくわかっていません
  • 既に 8087 が利用されているためエラーになる
    • 設定を変更すると回避可能らしいのですが、よくわかっていません

Change IP Address

IPアドレスの変更は、{wowza-install-dir}/conf/VHost.xml で行います。反映には Wowza サーバの再起動が必要です。

Mac: /Library/WowzaStreamingEngine/conf/VHost.xml

[ここ未確認です]

Wowza のアンインストール

{wowza-install-dir}/uninstall.app を実行します。

アンインストールを実行しても、ユーザの資産とも言える conf と content ディレクトリはそのまま残されています。 これらが不要な場合はついでに削除しましょう。

Mac: /Library/WowzaStreamingEngine/conf, content

Application

Wowza は デフォルトの状態でも配信できますが、 Application を追加することでカスタマイズ(どのフォーマットで配信を行うか、接続数の制限はどうするか等)を行う事ができます。

Application名 に MyLive を設定するとこのようになります

CORS setting

CORS を回避するには、{wowza-install-dir}/conf/[application]/Application.xml に設定を追加します。 application の部分には作成ずみのApplication名(例: MyLive)が入ります。

  • Mac: /Library/WowzaStreamingEngine/conf/[application]/Application.xml
  • Linux: TBD

以下は CORS を回避するために必要な最小限の設定です。

<HTTPStreamer>
  <Property>
	  <Name>cupertinoUserHTTPHeaders</Name>
	  <Value>Access-Control-Allow-Origin: *</Value>
  </Property>
</HTTPStreamer>

HSL を利用する場合は以下のように設定すると良いとの事

<HTTPStreamer>
       <!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
      <Properties>
              <Property>
                     <Name>cupertinoUserHTTPHeaders</Name>
                     <Value>Access-Control-Allow-Origin: *|Access-Control-Allow-Methods: GET, POST, OPTIONS|Access-Control-Expose-Headers: Content-Length|Access-Control-Allow-Headers: Range</Value>
              </Property>
       </Properties>
</HTTPStreamer> 

設定を変更した場合は、Application 選択画面の右上に表示されている [Restart] ボタンをクリックすると設定が反映されます

CORS 設定の確認

CORS 設定を行った状態で、手元で curl -v -H "Origin: http://example.com" {end-point-url} を実行し、以下の CORS 関係のヘッダが含まれていれば設定完了です。

# HLS 確認用
#                                                server-addr:port   app  stream
#                                                ~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~
$ curl -v -H "Origin: http://example.com" http://192.168.1.100:1935/live/stream/playlist.m3u8

< Access-Control-Expose-Headers: Content-Length
< Access-Control-Allow-Headers: Range
< Access-Control-Allow-Origin: *

[未確認です]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment