Posted at

Raspberry PiでOrkAudioを動かす

More than 1 year has passed since last update.


前書き

Oreka自体は主に通話録音をするOrkAudioと、通話録音したデータを収集するOrkTack、

通話録音したデータの管理をするOrkAudioの3つのソフトウェアで構成されています。

今回は通話録音をするOrkAudioをRaspberry Piで動作させます。

なお、今回の構成はミラーポートで取得したSIP/RTPパケットをOrkAudioで解析する構成です。

構成図はそのうち追記します。


環境


  • Raspberry Pi


    • 今回はRaspberry Pi 2で試しますが、3でも動作することを確認しています。

    • OS: Raspbian



  • USB NIC


    • ミラーポートから取得するため、イーサネットのインターフェースが2つ必要となります。




前提パッケージのインストール

# apt-get install -y automake libtool subversion \

libspeex-dev liblog4cxx10-dev libace-dev libboost-dev \
libpcap0.8-dev libxerces-c2-dev libsndfile1-dev


ソースコードの取得

% svn checkout https://svn.code.sf.net/p/oreka/svn/trunk oreka-svn


共通ライブラリのインストール(orkbasecxx)

% cd oreka-svn/orkbasecxx/

% libtoolize --force
% aclocal
% automake -a
% make -f Makefile.cvs
% ./configure LIBS="-ldl"
% make
# make install


OrkAudioのインストール

一部コンパイルが通らないため、パッチを当てます。

% cd oreka-svn/

% wget https://gist.githubusercontent.com/tatsuyaueda/c74af3fd6eb75fc9059e012e3012ed01/raw/3ea6337ce9f0aa976f91c1f06480a3c523ea847f/patch
% patch -p1 < patch
% cd orkaudio/
% libtoolize --force
% aclocal
% automake -a
% make -f Makefile.cvs
% ./configure LIBS="-ldl"
% make
# make install


設定


/etc/orkaudio/config.xml

        <!-- 録音した音声ファイルの保存先 -->

<AudioOutputPath>/var/log/orkaudio/audio</AudioOutputPath>

<!-- 録音した音声ファイルのフォーマット -->
<!-- Audio file storage format: choose from: native, gsm, ulaw, alaw, pcmwav -->
<StorageAudioFormat>pcmwav</StorageAudioFormat>
<!-- 総受話分離のステレオ形式にする場合は下記の2行が必要 -->
<StereoRecording>true</StereoRecording>
<TapeNumChannels>2</TapeNumChannels>

<!-- OrkTrackerのホスト名とポート番号 -->
<TrackerHostname>192.168.50.3</TrackerHostname>
<TrackerTcpPort>8022</TrackerTcpPort>

<VoIpPlugin>
<!-- キャプチャするネットワークデバイス -->
<Devices>eth0</Devices>
</VoIpPlugin>



起動スクリプト

Typeをforkingにして動かす方法が良く分からないから、とりあえず動くところまで。


/etc/systemd/system/orkaudio.service

[Unit]

Description=OrkAudio
After=network.target

[Service]
Type=simple
#PIDFile=/var/log/orkaudio/orkaudio.lock
WorkingDirectory=/var/log/orkaudio
ExecStart=/usr/sbin/orkaudio debug
#ExecStop=/bin/kill -WINCH ${MAINPID}
#TimeoutStopSec=5
StandardOutput=null

[Install]
WantedBy = multi-user.target



起動

# systemctl enable orkaudio

# systemctl start orkaudio