各プラットフォームへのビルド方法は、下記の URL に記載されています。
https://github.com/Haivision/srt/tree/master/docs/build
ここでは、Ubuntu 上でのビルドを想定しています。
SRT のビルドに必要なライブラリーをインストールします。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install tclsh pkg-config cmake libssl-dev build-essential
SRT を github からクローンして、ビルドを行います。
GStreamer v1.18.6 では、SRT v1.4.2 で動作することを確認しています。
$ git clone -b v1.4.2 https://github.com/Haivision/srt.git --depth 1
$ cd srt/
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig
SRT のプラグインは、gst-plugins-bad に入っていますので、ビルドします。
SRT がインストールされた状態で、gst-plugins-bad のビルドを行うことで、SRT プラグインがビルドされるようになります。
$ wget https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.18.6.tar.xz
$ tar xvfJ gst-plugins-bad-1.18.6.tar.xz > /dev/null
$ cd gst-plugins-bad-1.18.6
$ meson --buildtype=release --prefix=/usr build -Dgupnp=disabled -Dwith_x11=no -Db_lto=true
$ sudo ninja -C build install
gst-inspect-1.0 を使用して、インストールできているか確認できます。
$ gst-inspect-1.0 | grep srt
dtls: dtlssrtpdec: DTLS-SRTP Decoder
dtls: dtlssrtpenc: DTLS-SRTP Encoder
dtls: dtlssrtpdemux: DTLS SRTP Demultiplexer
srt: srtsrc: SRT source
srt: srtsink: SRT sink
srt: srtclientsrc: SRT source
srt: srtserversrc: SRT source
srt: srtclientsink: SRT sink
srt: srtserversink: SRT sink
srtp: srtpenc: SRTP encoder
srtp: srtpdec: SRTP decoder
テスト映像を SRT で配信します。
SRT の配信には、srtserversink を使用します。
配信するポート番号は、uri のパラメータで指定することができます。このサンプルでは、12345 がポート番号として設定されます。
$ gst-launch-1.0 videotestsrc \
! videoconvert \
! x264enc tune=zerolatency key-int-max=30 \
! mpegtsmux \
! srtserversink uri="srt://:12345" latency=500
VLC media player を使い SRT の映像を確認することができます。
以下のページから VLC media player はダウンロードできます。
https://www.videolan.org/vlc/index.ja.html
ファイル > ネットワークを開くを選択します。URL に srt://{IP アドレス}:12345 を入力し開くボタンを押下します。
IP アドレスには、gst-launch-1.0 を起動した PC の IP アドレスを入力してください。
テスト映像が配信されていることが確認できます。