解析TS的PSI信息

来源:互联网 发布:红宝书软件下载 编辑:程序博客网 时间:2024/06/06 01:22

用了这么久linux,感觉有点儿喜欢它了.尽管很多时候,工具很细碎.思路很奇怪.大部分都是有其他的可能.

就像找*.h和*.hpp的文件的写法.

find . -name "*.h|*.hpp" -type f 或者 find . -name "*.[h|hpp]" -type f 

都无法得到你想要的.这就是linux.

find . \(-name "*.h" -o -name "*.hpp" \) -type f

这样你才能得到你想要的.想想也不是没有道理.查找*.hpp文件的,不可能希望任意包含*.h或者*.hp的文件,太复杂了.而*.h的查找更不希望有*.hpp的了.至于*.h|*.hpp为什么没有匹配出来.你看看正则表达式,也许会了解一点儿,不过大部分正则解析器也很复杂.要处理的问题也很多.还不如简单的使用外面命令处理.这也就是find这种用法的"精妙"之处?


再让我们看看解析一个

我们可以把生成的PSI相关文件组合到一起

find ./PMT/* -name "*" -type f | xargs cat pat.dat cat.dat sdt.dat > psi.dat

这些都到一个文件,就可以使用下面是解析psi信息的命令.

dvbsnoop -s ts -tssubdecode -if psi.dat -nph -pd 3

当然你也可以拷贝到windows上,使用tsexpert.