RTSPプロキシを立てる

RTSPプロトコルを使用した複数のカメラ映像を中継する必要があったので、RTSPプロキシを立てる手順をメモしておきます。

インストール

RTSPプロキシには、rtsp-simple-serverを使用します。

github.com

プリコンパイルされた実行可能ファイルが用意されているので、次のURLから対象となるプラットフォームのパッケージをダウンロードします。

Releases · aler9/rtsp-simple-server · GitHub

ダウンロードしたパッケージを任意の場所で展開します。パッケージには次の2つのファイルが含まれています。

# Linux版の場合
rtsp-simple-server                # 実行可能ファイル
rtsp-simple-server.yml            # 設定ファイル

設定

プロキシ用に設定ファイルをコピーします。

$ cp rtsp-simple-server.yml rtsp-proxy.yml

RTSP以外のプロトコル (RTMP, HLS) は無効化しておきます。

rtmpDisable: yes
hlsDisable: yes

pathsセクションを次のように書き換えます。

paths:
    camera/1:
        source: rtsp://[カメラ1のURL]
        sourceOnDemand: yes

    camera/2:
        source: rtsp://[カメラ2のURL]
        sourceOnDemand: yes

sourceOnDemandをyesにすると、クライアントが接続してきたときにカメラからストリームをpullするようになります。

起動

"/path/to"は適宜読み替えてください。

$ /path/to/rtsp-simple-server /path/to/rtsp-proxy.yml

動作確認

ビューワでカメラ映像を表示します。VLCメディアプレーヤーを使う場合は次のようにします。

# カメラ1
vlc rtsp://[プロキシのURL]/camera/1

# カメラ2
vlc rtsp://[プロキシのURL]/camera/2