 
 
本プログラムは, MPEG-2 TS パケットの健全性をチェックするものです。
下記で /usr/local/bin/tspacketchk にインストールします。
   % mkdir /tmp/tspacketchk
   % cd /tmp/tspacketchk
   % git clone https://github.com/kaikoma-soft/tspacketchk.git .
   % make
   % sudo make install
  % tspacketchk [オプション]... TSファイル...
詳細表示の行数を n行にする。デフォルトは 16
開始直後の n秒はエラーを無視する
進捗状況の表示
PCR Wrap-around check の追加
この使い方を表示して終了する
<<< test.ts >>>
  No  Time          packetNo  pid     type        
   1  00:00:00.00        144  0x0110  error       
   2  00:00:00.00        159  0x0110  drop (7 != 6)
   3  00:00:00.17       1647  0x01f0  drop (5 != 6)
   4  00:02:54.13    1601939  0x0100  error       
   5  00:02:54.13    1601940  0x0100  error       
   6  00:02:54.13    1601941  0x0100  error       
   7  00:02:54.13    1601943  0x0100  error       
   8  00:02:54.13    1601944  0x0100  error       
   9  00:02:54.13    1601948  0x0100  error       
  10  00:02:54.13    1601949  0x0100  error       
  11  00:02:54.13    1601950  0x0100  error       
  12  00:02:54.13    1601951  0x0100  error       
  13  00:02:54.13    1601952  0x0100  error       
  14  00:02:54.13    1601953  0x0100  error       
  15  00:02:54.13    1601954  0x0100  error       
  16  00:02:54.13    1601955  0x0100  error       
...
   pid      packets         drop        error   scrambling
-----------------------------------------------------------
0x0000         2961            0            0            0
0x0011            6            0            0            0
0x0012          926            0            0            0
0x0100      2629336            1          796          778
0x0110        56928            2           21           20
0x0130           13            0            0            0
0x0138          294            0            0            0
0x01f0         5888            2            3            1
0x01ff         5098            0            3            0
0x0300            1            0            1            0
0x0901         2948            0            2            1
-----------------------------------------------------------
            2704399            5          826          800
            drop+error = 831
         syncbyte lost = 1
 PCR Wrap-around check = OK          (start=24:13:08.30, end=24:18:03.08)
              duration = 00:04:54.77 (2704399 packets, 508427286 byte)
            Check Time = 0.1 sec     (3767.12 Mbyte/sec)
巡回カウンターが連続しなかった場合にカウント。 (失われたパケット数ではなく不連続が生じた回数)
TSヘッダー部の transport_error_indicator ビットがセットされていた場合にカウント。
TSヘッダー部の transport_scrambling_control ビットがセットされていた場合に
カウント。
B25 デコード前ならば、カウントされるのが正常。
B25 デコード後ならば、カウントされないのが正常。
同期バイト(0x47) を見失った回数
PCR(Program Clock Reference)の値が スタート時 < 終了時 の場合に OK
そうでない場合に NG とする。( PCR は 26.5H で一周する )
NG の場合、一部のツールで上手く扱えない可能性がある。(最近はそうでもない?)
| マシン | OS | 
|---|---|
| PC | Ubuntu 20.04.2 LTS (64bit) | 
| raspberry pi 3B+ | Raspbian GNU/Linux 9 (stretch) (32bit) | 
不具合報告などは、 GitHub issuse の方にお願いします。
このソフトウェアは、Apache License Version 2.0 ライセンスのも とで公開します。詳しくは LICENSE を見て下さい。
このソフトウェアは、
 tsselect ( http://www.marumo.ne.jp/junk/tsselect-0.1.8.lzh )
を基に、作成したものです。
ソースコードの利用を許可して頂き、ありがとうございました。