日々

朝、母親を乗せて第二神明で出社。事務所で軽く時間を潰した後、母親は大阪に向かって出かけていった。
TSパケットを確認するプログラムは、EITの解析でARIB文字をいくつか読むことが出来たので、そのまま続きを読み解いてみる。番組名と番組詳細が終わった後にも何やらデータが残ってる。どうやら記述子と呼ばれるデータにもID(タグ)があって長さを示してていくつかのデータを含んでいることが判ったので、ARIB STD-B10を素直に読んでみることにした。
そういえば、ARIB STD-10は大前提としてMPEG-2 Systemsのセクション形式のデータ構造を使ってると書いてあるので、MPEG-2 Systems(ISO/IEC 13818-1)を読もうとISOのサイトへ行くと198スイスフラン(現在のレートで約22,576円)で買わないと読めないっぽい(汗)が、以前にも見た米コロラド大学工学部で古い版が無償公開されてるので、こちらを参照させてもらうことに。
今回サンプルで読んでいるEITパケットはテーブルIDが0x4E(自ストリームの現在と次の番組)のものを参照しているが、これの記述子に含まれる記述子タグが番組名と番組詳細を示す0x4D(短形式イベント記述子)以外に0x50、0x54、0xC1、0xC4、0xC7、0xD6も含まれてると気付いたので順番にARIB STD-B10を元に読み解いていく。ジャンル等もこれらに含まれていた。
定時後、プログラム組んでて遅くなった。夜6時を過ぎていたので第二神明で帰宅。晩御飯は高野豆腐の玉子とじとしじみ汁。母親曰く、このしじみ汁はイマイチっぽいので和幸のをまた買ってきてくれとのこと。
未読終わってからプログラムの続き。同一PIDの複数パケットからPESかPSIか判別して実データであるセクションデータを読み出してPESなら先頭数バイトを16進ダンプ、PSIならテーブルIDとセクション長を表示するところまで出来た。これとtsselectを組み合わせるとTSファイルに含まれるPIDごとのデータ内容が把握出来て面白い。