Skip to content

開発環境の構築(Mac)

UENISHI Kota edited this page Apr 9, 2017 · 25 revisions

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

IkaLog 開発(もしくは実行)に必要な Python 3.4 環境を MacOS X 上に開発するための手順です。

注意

  • MacOS X で動作確認できているキャプチャデバイスは UltraStudio Mini Recorder のみです。そのほかのデバイスの購入はすべて”貴方のチャレンジ”です。でももし動いた場合、動かせるように改良した場合は教えてください。
  • MacOS X 上では IkaUI は 利用できませんので注意してください(IkaUI.py の開発はMacで行っていますが)
  • IkaLog.py は MacOS X 上でも動きます。

参考: 開発のヒホ MacでIkaLogを使ってみる

ゴール

IkaLog を動作させるにあたって最低限必要となるであろう条件は下記のとおりです。

  • Python 3.4.3 もしくは 3.5 あたりをインストールし利用できること。
  • Python 3.X から cv2 モジュール、 numpy などの依存モジュールが import できること。
  • OpenCV 3.x がインストールされていること。なお FFMPEG サポートを有効にしてビルドしてください(--with-ffmpeg)。これを忘れるとビデオファイルの処理性能が劇的に下がります。
  • Python 3.X のエンコーディング設定が適切(utf-8)に設定されていること。
  • wxPython モジュールは IkaUI.py 開発を行う場合に必要となります。 IkaLog.py では不要です。

Python3のデフォルトエンコーディングの確認方法

import sys
print(sys.getdefaultencoding())

環境構築の一例

Homebrew をインストールする

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew で Python3, OpenCV 3.x 及びその他依依存パッケージをインストール

brew install python3
brew install homebrew/python/numpy --with-python3
brew link numpy
brew install homebrew/science/opencv3 --with-python3 --with-ffmpeg
brew link opencv3 --force

pip3 install slackweb
pip3 install fluent-logger
pip3 install requests-oauthlib
pip3 install urllib3
pip3 install u-msgpack-python
pip3 install Pillow
pip3 install tornado
pip3 install certifi

IkaUI の開発に必要なパッケージ (Python 3.4.3)

pip3 install --upgrade --trusted-host wxpython.org --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix
pip3 install PyYAML

とりあえずのテスト

Python から各種モジュールがロードできることを確認

dhcp44-82:~ hasegaw$ python3
Python 3.4.3 (default, Jul 13 2015, 12:18:23)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> import numpy
>>> import wx ※ Windows向けの IkaUI をクロス開発する場合
>>> import sys
>>> print(sys.getdefaultencoding())
utf-8
>>> (Ctrl-D入力し終了)
dhcp44-82:~ hasegaw$

IkaLog導入

GitHubからのIkaLog導入 を確認してください。

キャプチャデバイスの確認と設定

  • BlackMagic UltraStudio Recorder を Thunderbolt で接続し、WiiU の 720p 画像を入力します。
  • BlackMagic MediaExpress アプリケーションを起動し "Log and Capture" でキャプチャ画像が出ることを確認します。
  • BlackMagic MediaExpress アプリケーションを終了します。
  • インプットプラグインを単体で動かす を参考に AVFoundationCapture.py を実行し、キャプチャ機能が動作すること、指定すべきデバイス番号を確認します。
  • IkaConfig.py で AVFoundationCapture をソースとして指定します。この際に先のデバイス番号が必要になります。

MacPorts を使う場合

まず MacPortsXCode をインストールします。XCode は MacOS のバージョンに合わせて最新のものに更新します。 XCode を更新したら必ず sudo port selfupdate; sudo port -uv upgrade installed を実行します。(2016年4月、El Capitanで動作確認) Sierra環境でMacPortsが古いままだと opencv #52328 のためにopencvをビルドできないので、そのときは sudo port selfupdate を実行してからもう一度 opencv をインストールします。(2016年12月、 Sierra で動作確認)

手順

Sierraの場合は python35 などと読み替えて実行してください

$ sudo port selfupdate
$ sudo port install python34 py34-numpy py34-pip python_select cython34
$ sudo port select --set python python34
$ sudo port select --set pip pip34
$ port select --summary ## pipとpythonがそれぞれ3.4を指していればOK
Name       Selected     Options
====       ========     =======
cython     cython34     cython27 cython34 none
llvm       none         mp-llvm-3.7 none
nosetests  none         nosetests27 nosetests34 none
pip        pip34        pip34 none
python     python34     python26-apple python27 python27-apple python34 none
python2    python27     python27 none
python3    python34     python34 none
sphinx     py34-sphinx  py34-sphinx none
$ sudo port install opencv +python34
$ python -c "import cv2; import numpy"
$ sudo pip install slackweb fluent-logger requests-oauthlib urllib3 u-msgpack-python Pillow tornado
$ cd ~/IkaLog
$ PYTHONPATH=. python ikalog/inputs/osx/avfoundation_capture.py 
Clone this wiki locally