開発環境の構築(Linux) - hasegaw/IkaLog GitHub Wiki

Linux環境における IkaLog 開発環境の構築

インストール対象ディストリビューション

Ubuntu 14.04.3 LTS 64bit (Desktop版を利用)

動作確認済キャプチャカード

Blackmagic Design社製キャプチャカード(Decklink SDK経由)

各種パッケージの導入

パッケージのアップデート

$ sudo apt-get update
$ sudo apt-get -y upgrade

コンパイラや必要なライブラリ等を導入

$ sudo apt-get -y install build-essential cmake git \
                          libopencv-dev libgtk2.0-dev pkg-config \
                          python3-dev \
                          libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff4-dev \
                          libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine-dev \
                          gstreamer1.0-plugins-bad \
                          libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
                          libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev \
                          libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev \
                          libopencore-amrnb-dev libopencore-amrwb-dev \
                          libtheora-dev libvorbis-dev libxvidcore-dev \
                          python-pip python-virtualenv virtualenvwrapper \
                          libblas-dev libatlas-dev libatlas-base-dev \
                          x264 v4l-utils unzip

virtualenv及びvirtualenvwrapperの設定を有効にするために.bashrcを読み込む

$ source .bashrc

ikalog用のvirtualenvを作成

$ mkvirtualenv -p /usr/bin/python3.4 ikalog

作成したvirtualenvが有効になるとプロンプトに(ikalog)が表示される

(ikalog)$

必要なpythonパッケージを導入

(ikalog)$ pip install Mako numpy protobuf MarkupSafe Pillow appdirs \
                      backports-abc chainer decorator filelock \
                      msgpack-python nose py pytest pytools \
                      six tornado certifi umsgpack urllib3

ikalog用のディレクトリを作成して移動

(ikalog)$ mkdir ~/ikalog
(ikalog)$ cd ~/ikalog

opencvのソースコードをgithubから取得(depthオプションで最新リビジョンだけを取得)

(ikalog)$ git clone --depth 1 https://github.com/Itseez/opencv.git
(ikalog)$ git clone --depth 1 https://github.com/Itseez/opencv_contrib.git

ikalogのソースコードをgithubから取得

(ikalog)$ git clone https://github.com/hasegaw/IkaLog.git

opencvのビルド

(ikalog)$ cd opencv
(ikalog)$ mkdir build
(ikalog)$ cd build
(ikalog)$ cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=RELEASE \
            -D OPENCV_EXTRA_MODULES_PATH=~/ikalog/opencv_contrib/modules \
            -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF \
            -D WITH_CUDA=ON -D BUILD_EXAMPLES=OFF ..
(ikalog)$ make -j 4
(ikalog)$ sudo make install

※注意 cmakeを再実行する場合は必ずキャッシュファイルを削除してください

キャッシュファイルがある状態ではPythonの認識に失敗するため、pythonモジュールが有効になりません
(ikalog)$ rm CMakeCache.txt

環境変数 PYTHONPATHの設定

(ikalog)$ export PYTHONPATH=/usr/local/lib/python3.4/site-packages:$PYTHONPATH

永続化する場合は .bashrc 等に追記してください

ikalogの設定ファイルの編集

(ikalog)$ cd ~/ikalog/IkaLog
(ikalog)$ cp IkaConfig.py.sample IkaConfig.py
(ikalog)$ vi IkaConfig.py

GStreamer経由でBlackmagic Design社製キャプチャカードを使う場合

以下の行を有効にします
source = inputs.CVgst()
source.start_gst("decklinksrc connection=hdmi mode=720p5994 device-number=0 ! videoconvert ! appsink")

ikalogの起動

(ikalog)$ python IkaLog.py

virtualenvの使い方

virtualenvに入る場合は

$ workon ikalog
(ikalog)$

抜ける場合は

(ikalog)$ deactivate
$

変更履歴

2015/11/24 libblas-dev libatlas-dev libatlas-base-dev のインストールを追記