1.MPEG2TS

MPEG2TSについて(広島大学内)(※注1)より引用した。

 (A)概要
 MPEG2TSとは、トランスポートストリーム形式のMPEG2をインターネット上で伝送するためのソフトウェアである。IPv4/v6、IPマルチキャスト等にも対応し、4Mbps〜6Mbpsの帯域でTV品質並みの動画像を伝送することが可能である。また、ネットワーク上で発生するパケット損失への対策として前方誤り訂正符号FECを用いた伝送を実現しており、これによりパケット損失による映像/音声への影響を抑制することができる。システムは1台のLinux PC上で実現する。エンコーダ・デコーダはS端子とピン端子を有し、様々な入出力形態に対応できる。
 FECによるパケット損失への対応として、インターネット上で生じるパケット損失による映像品質への影響を抑えるために前方誤り訂正符号FECを用いた伝送を行っている。これは、あらかじめ送信ホストにおいて、MPEG2データから冗長なデータを生成し、MPEG2データを併せて受信ホストに送ることで、受信側でパケット損失を検知した場合、冗長なデータを用いてMPEG2データを回復するものである。IPマルチキャストなどの大規模なネットワークで映像配信する時など有効的である。FECにはReed-Solomon符号方式を採用している。
 また、IPマルチキャストによる映像の送受信が可能である。IPマルチキャストはインターネット上の放送技術のようなものであり、特定のグループに対して同じ内容の情報を同時に効率よく配信することが可能である。MPEG2TSでは、1台のPCで1対1の双方向通信だけでなく、マルチキャスト送信、マルチキャスト受信など様々な配信形態を構築することが可能である。
 (B)使用帯域
   4Mbps〜6Mpbs
 (C)セットアップ方法
 MPEG2TSのインストール方法は以下の手順で行う。
 まず、MPEG2TSついてのダウンロードのページ(広島大学内)(※注2)よりMPEG2TSのアーカイブをダウンロードし、展開する。
(この場合2つのファイルが /usr/local/ 以下においてあるものと仮定する) % pwd
/usr/local/
% tar zxvf mpeg2ts-3.1.2.tar.gz mpeg2ts-3.1.2/
mpeg2ts-3.1.2/Makefile
mpeg2ts-3.1.2/README.driver
mpeg2ts-3.1.2/README.mpeg2ts
    ・・
    mpeg2ts-3.1.2/src/Makefile.cv
    mpeg2ts-3.1.2/INSTALL
    % cd mpeg2ts-3.1.2

ここで、使用しているデコーダのタイプによって以下のmakeコマンドを実行することでMPEG2TSのバイナリファイルが生成される。


<optibaseの場合>
% make


% ls
Makefile INSTALL README module-script/ mpeg2ts mpeg2ts.sh src/


 コンパイル後、make installコマンドで必要なファイルが/usr/local/bin 以下にコピーされる。
% su
# make install
su -c "cp -v mpeg2ts mpeg2ts.sh /usr/local/bin; cd /usr/local/bin;chmod u+s mpeg2ts"
mpeg2ts -> /usr/local/bin/mpeg2ts
mpeg2ts.sh -> /usr/local/bin/mpeg2ts.sh
cp -v module-script/kfir-module module-script/cineview-module /usr/local/bin
module-script/kfir-module -> /usr/local/bin/kfir-module
module-script/cineview-module -> /usr/local/bin/cineview-module

 (D)動作環境
現在、動作を確認しているのは以下のディストリビューションである。 MPEG2TSの動作環境は、概ね、エンコーダカードおよびデコーダカードの動作環境に依存する。なお推奨OSはVineLinuxとなっている。
ディストリビューション kernel 2.2.x kernel 2.4.x 備考
Vine Linux 2.1.5 ◯ (2.2.19-0vl??)   付属のカーネルで確認
Vine Linux 2.5 ◯ (2.2.20-0vl10) ◯ (2.4.18-0vl3) 付属のカーネルで確認
RedHat Linux 7.2   ◯ (2.4.7-10) 付属のカーネルで確認

現在の2.2/2.4系カーネルでのエンコーダ/デコーダカードの動作状況は次のようになっている。
MPEG2 Encoder/Decoder Kernel 2.2.x Kernel 2.4.x 備考
Kfir MPEG2 Encoder kernel2.4系では一部(videodevおよびi2c)のドライバは、カーネル付属のものを使用する。
Optibase VideoPlex Xpress  

 (E)使用方法
 MPEG2TSのプログラムでは、コマンド mpeg2ts.sh を用意しいる。これは、プログラムが何らかのトラブルによって停止した際に、自動的に再起動するものである。起動方法はどちらを使用しても変わらない。

$ mpeg2ts <option> [ -so | -ro | -send dst_addr ] address
<option>
-6 IPv6が使用可能 (default IPv4)
-a 優先度を-20(高)から20(低)で設定 (default -20)
-P port ポート番号を指定 (default 1400)
-v バージョン番号を表示し、終了
<recievier option>
-r エラー訂正を行いません
<sender option>
-n num カプセル化するTSの数を変更 (default 6)
-t ttl マルチキャスト時のTTLを設定 (default 1)
-R エラー訂正コードを付加せずに送信 

このプログラムでは以下の4つ動作を選択できる。
2校間での双方向通信 %mpeg2ts [宛先アドレス]
自校の映像の送信のみ %mpeg2ts -so [宛先アドレス]
相手校の映像の受信のみ %mpeg2ts -ro [送信元アドレス]
A校からの映像の受信と同時に、自校の映像をB校へ送信 %mpeg2ts -send [宛先アドレス] [送信元アドレス]

 (F)ダウンロード先
MPEG2TSついてのダウンロードのページ(広島大学内)(※注2)より各種ファイルのダウンロードが可能である。

(※注1)MPEG2TSついて(広島大学内) http://net.ipc.hiroshima-u.ac.jp/mpeg2ts/
(※注2)MPEG2TSついてのダウンロードのページ(広島大学内)
http://net.ipc.hiroshima-u.ac.jp/mpeg2ts/archives/download.html