pullover - 自家製RTMP+HLS配信のすすめ(その1)
PC向け(RTMP)とモバイル向け(HTTP Live Streaming)のライブ配信をできるだけシンプルにやろうというおはなし。

FlazrDumperとVLCを使ったHLS配信はこちら。

今回の方法

OBS → Nginx → 視聴者のWebブラウザ

NginxがRTMPとHTTPとHLSを一挙に担う感じ。

Nginx

えんじんえっくすと読むらしい。HTTPサーバー。モジュールを追加することでRTMP兼HLSサーバーとしても使えるすぐれもの。 FlazrDumperのようにフォルダに展開するだけで即使うことが可能。

用意するもの


Nginxの入手

RTMPモジュール込みのWindows版ビルドがいくつか公開されているのでそれを利用する。
なお、自分でビルドしたい場合はぐぐるとWindows版のビルド方法がでてくる。

OBSの設定

FlazrDumperを使った時とまったく同じ。

設定→放送設定

キーフレーム間隔3秒推奨。

Nginxの設定とFlash Playerの設置

  1. Nginx用フォルダを用意
    nginxという名前のフォルダを任意の場所に作成する。スペースと日本語を含まないパスならどこでもいい。ドライブ直下を推奨。
  2. 用意したフォルダに展開
    DLしたNginx圧縮ファイルを作成したフォルダに展開する。その際\nginx\nginx.exeとなるようにファイル群を移動させる。圧縮ファイルに含まれている空フォルダもきちんと展開されているか注意。
  3. FlashPlayerを展開
    DLしたNginx用FlashPlayerを\nginx\nginx_launcher.exeとなるように展開する。上書き確認が表示された場合は上書き。
完成図

Nginxの起動と終了

NginxはコンソールアプリなのでWindowsを想定したGUIは一切無い。Nginxの起動と終了はコマンドプロンプトからコマンドを入力するか起動ツール、もしくはスクリプトを利用する。

専用ツールを使う場合

Nginx Launcher(Flashプレイヤーに同梱)

Nginxの起動と終了だけを行うソフトウェア。特に理由がないならこちらを使うのがおすすめ。
Windows VistaとWindows XPでは.NET Framework 3.5 Client Profileが必要。

使い方

nginx_launcher.exeを実行するとNginxが起動する。もう一度実行すると終了するのか問い合わせが出るので選択する。

WSHスクリプトを使う場合

コマンドプロンプトを使う場合


起動してもタスクトレイにアイコンが表示されたりはしない 。正しく起動された場合はタスクマネージャーでプロセス一覧を見るとnginx.exeが2つ表示される。

Nginxが起動/終了できなくなったら


ローカルで視聴確認

  1. Nginxを起動する。
  2. OBSで配信開始する。
  3. Webブラウザでhttp://127.0.0.1:8888/を表示させて確認する。

HLS配信の確認


ポートの開放

ファイアウォールを使っている場合はポートTCP8888とTCP1935を許可し、ルーターを使っているならポートマップの設定も行う。TCP1935はRTMPで使われる。

視聴者への通知

アドレス http://あなたのグローバルIP:8888/ もしくは http://あなたのグローバルIP:8888/live/ を視聴者に知らせる。後者の場合は前者に転送される。DDNSを利用すると便利で楽。

よく利用されるDDNS





より踏み込んだ使い方や詳細はその2へ。