MPEG传输流连续性计数器

时间:2014-06-19 15:29:05

标签: stream mpeg transport

我正在通过10GB MPLS网络对IPTV第3层组播VPN进行故障排除。

只有某些高清频道正在经历严重的冻结和拼接;所有其他SD和HD频道都可以正常工作。我们的IPTV视频监控设备通过监控连续性计数器来检测和报告丢包。我问过我们所有的设备供应商并阅读我能找到的每个.pdf,似乎没有人确切知道:

  1. MPEG传输流连续性计数器如何/何时/何处适合传输流?
  2. 传输流中的哪些数据包/帧正在计算中?
  3. 为什么报告的数据包丢失似乎以16(0,16,32)的增量发生?
  4. 如何在丢包0的情况下出现错误情况?
  5. PCR值如何/何时/何处适合传输流?

1 个答案:

答案 0 :(得分:7)

这是很多问题!让我们澄清一下:

  1. 连续性计数器(CC)在传输流(TS)的每个传输包(TP)的标头中携带。
  2. 每次TP根据维基百科有效载荷时CC都会递增但我认为它实际上会在每个新TP上递增... [编辑] :只有当有效载荷标志为时,CC才会递增是的(参见下面的Mike Reedel评论)
  3. 实际上,由于CC位于4位,因此该值应从0x00变为0x0F并再次循环。
  4. 有些人对标准粗心大意,可能会发生在多路复用TS期间CC没有正确递增的情况:在这种情况下你没有丢失任何数据包,但因为CC坏了,你的工具报告错误。但是,错误可能发生在TS传输过程中的任何地方,包括可能无法以正确速率采样的监控工具。
  5. 程序时钟参考(PCR)是一个定期插入TS的时间戳,为解码器提供精确的27 Mhz时钟。应按标准每40ms重复一次。对于携带PCR的PID没有义务,但大部分时间它都是视频PID:您需要查看PMT以找出PCR所在的PID。
  6. 一些参考文献: