EMONシステムの紹介
笠松健一 (京都大学工学部情報学科)
藤川賢治 (京都大学大学院情報学研究科)
岡部寿男 (京都大学大学院情報学研究科)
古村隆明 ((財)京都高度技術研究所)
(page 1)
EMONシステムとは
EMON(Error-correcting Multicast on Open Nodes)は、
音声と映像をIP上でリアルタイムで伝送するシステム
- 特徴
- 機能毎に分割したプロセスを単方向のパイプでつないで動かす
- 機能
- リードソロモン符号によるFEC(前方誤り訂正)
- 映像のキャプチャー、表示
(page 2)
EMONシステムの構造
- 機能毎に分割したプロセスを単方向パイプでつないで動かす
- 実行例
- % audiocapt | fecenc | rtpenc | udpsend -A 10.0.0.1 -P 10001
- audiocapt:音声を録音
- fecenc:音声データに前方誤り訂正の為のデータを付加
- rtpenc:ストリームの形式をパイプ用の形式からRTPへ変換
- udpsend:UDPで10.0.0.1のポート10001へ送信
(page 3)
EMONシステムの応用例
- FECを利用したVODの為の映像の準備と配信
- 準備は jpegcapt | fecenc | rtpenc がパイプに出力するデータをファイルに保存
- 例:% jpegcapt | fecenc | rtpenc > sample.jpgs
- 配信は保存したデータを updsend で送る
- 例:% udpsend < sample.jpgs
- 保存したデータを繰返し送るツール(filerepeat)がある。
- SSHを利用し、映像を暗号化して送信する
- 例:% ssh 10.0.0.1 jpegcapt | jpegplay
- 10.0.0.1で映像を取り込み、暗号化して伝送された映像を表示する
- teeを利用し、映像を保存しながら配信
- 例:% jpegcapt | tee save.jpgs | rtpenc | udpsend -A 10.0.0.2
- 取り込んだ映像をsave.jpgsに保存しながら10.0.0.2へ送信
(page 4)
EMONシステムを用いたデモ
あらかじめ取り込んでおいた映像を表示します。
- 表示する映像のファイル名はsample.jpgs です。次のように取り込みました。
- emon@ibcast% ./jpegcapt >sample.jpgs
- これを次のようにして表示します。
- emon@ibcast% ./filerepeat sample.jpgs | ./jpegplay
- sample.jpgsの形式
- Motion JPEG
- データレート:4.5Mbps
- フレームレート:30フレーム/秒
- 解像度:320x240
(page 5)
今後の展開
- 同期する音声と映像を扱えるようにする
- パイプを流れるデータは1つの音声か1つの映像
- 次の2つの機能を追加する
- 複数のプロセスで同期して録音、取り込み
- 複数のプロセスで同期して再生、表示
- 扱えるデータ形式を追加していただける人を探す
- MPEG、DV形式
- もちろんMPEGエンコーダ、デコーダカードを無期限貸出
(page 6)
EMONシステムに関する情報
- http://www.ibcast.net/
- 現在の実装状況
- オープンソース(パブリックドメイン)
- EMON
- OS:FreeBSD
- 必要なライブラリ:SDL , libjpeg
- 映像の対応形式:Motion JPEG
- 音声の対応形式:PCM,mu-LAW,ADPCM
- EMONを利用したアプリケーション
(page 7)