TS流包长的简单判断(188/204B)

1.按照TS流标准:一个TS流文件连续5个包步进188Byte,第一个字节都是0x47同步字节开头的,那么包长188B;同理为204B。

那么,如果文件大小 < 5*188B(约1kB)是否就不好判断了呢?

我觉得,还是有个简单方法的:直接文件的大小除以188,余数为0,则为188包;除以204,余数为0,则为204包。哪怕是几百兆的文件都应该遵循此规律,不会出现一个文件即是188也是204的倍数的。

呵呵,因为用到数学知识的了,188的一个因子为47,而204的一个因子为51,故都为质数,故不可能出现都被一个文件大小整除。

2.不少码流分析软件因要判断5个连续的包,小于1k的文件就不能分析的了。

所以,我觉得这样不好,以下面的方式判断比较妥当:

(1).当文件< 5*188B,直接除以188或204,能整除则为188包或204包;

(2).当文件>= 5*188B,按照TS标准判断5个同步的包的长度,188或204;

          当不能判定的时候,比如188或204都不能被整除,则说明TS文件有错误,可同步后再去读取内容;连续去找到5个同步字节0x47后,再读取5个连续的包判断包长是188还是204。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值