tss.pyもどき たぶん完結

main()をくっつけて、コマンドライン版も作ってみた。さすがに速い。

$ time ./tss out.ts tss.ts

real    0m1.775s
user    0m0.278s
sys     0m1.239s

$ time python ../../tss.py out.ts
['0x0101', '0x0100', '0x0121', '0x0112']

real    0m13.379s
user    0m10.664s
sys     0m1.434s

ファイルは、Multi2復号前の、TokyoMX録画ファイル30秒分。

ファイルサイズ(byte)
元ファイル out.ts 102006544
tss結果 tss.ts 42578616
tss.py結果 out_tss.ts 42480856

tss.pyに比べるとtssの結果は、最初のPMTまでを捨てちゃうので少ない・ECMを残している分だけ多い。

$ tsselect tss.ts
processing: finish
pid=0x0000, total=     596, d=  0, e=  0, scrambling=0
pid=0x0031, total=     595, d=  0, e=  0, scrambling=0
pid=0x0100, total=    1028, d=  0, e=  0, scrambling=0
pid=0x0101, total=     596, d=  0, e=  0, scrambling=0
pid=0x0112, total=    8419, d=  0, e=  0, scrambling=8419
pid=0x0121, total=  215248, d=  0, e=  0, scrambling=215248

$ tsselect out_tss.ts
processing: finish
pid=0x0000, total=     596, d=  0, e=  0, scrambling=0
pid=0x0100, total=    1034, d=  1, e=  0, scrambling=6
pid=0x0101, total=     596, d=  0, e=  0, scrambling=0
pid=0x0112, total=    8421, d=  0, e=  0, scrambling=8421
pid=0x0121, total=  215315, d=  0, e=  0, scrambling=215315

この場合は、PID=0x0031がECMらしい。

というわけで、似非TsSplitterはだいたい完了。次はhdusrecがHDUCで動かないのを追っかけるかなあ。