ffmpeg
streaming
SRT

ffmpeg 4.0 をlibsrtを有効にしてビルドする

ffmpeg 4.0 で新しくサポートされたsrtのプロトコルを試してみようと思って。

準備

依存ライブラリの準備

ubuntu 16.04 を使用している。

sudo apt build-dep ffmpeg

libsrtのビルドとインストール

git clone https://github.com/Haivision/srt.git
cd srt/
git checkout -b v1.3.0 v1.3.0
sudo apt-get install tclsh pkg-config cmake libssl-dev build-essential
./configure 
make
sudo make install
sudo ldconfig

ffmpegのソースの入手

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg/
git checkout -b n4.0 n4.0

ビルドとインストール

./configure --enable-libsrt --enable-libx264 --enable-libx265 --enable-gpl
make
sudo make install
$ which ffmpeg
/usr/local/bin/ffmpeg
$ ffmpeg -version
ffmpeg version n4.0 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --enable-libsrt --enable-libx264 --enable-libx265 --enable-gpl
libavutil      56. 14.100 / 56. 14.100
libavcodec     58. 18.100 / 58. 18.100
libavformat    58. 12.100 / 58. 12.100
libavdevice    58.  3.100 / 58.  3.100
libavfilter     7. 16.100 /  7. 16.100
libswscale      5.  1.100 /  5.  1.100
libswresample   3.  1.100 /  3.  1.100
libpostproc    55.  1.100 / 55.  1.100
$ ffmpeg -protocols |grep srt
ffmpeg version n4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
  configuration: --enable-libsrt --enable-libx264 --enable-libx265 --enable-gpl
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
  srtp
  srt
  srtp
  srt

確かにプロトコルにsrt が追加された。

追記: ffplayのビルド

ffplayもデフォルトで一緒にビルドされるようになっているが、必要なライブラリが足りない場合は除外される。最初にやったときにはffplayはビルドされていなかった。以下を追加でインストールしたら、ffplayもビルドされるようになった。

sudo apt install libsdl2-dev

続き

ffmpeg 4.0 に入った新しい映像伝送プロトコルSRTを試す