small-teton

mpeg-ts-analyzer

small-teton

一款MPEG-2传输流(TS)分析器,用于检查流是否符合ISO/IEC 13818-1规范中的定时要求,支持188字节和192字节的TS包。

v2.1.1
发布于
2026年8月15日
37
星标
398
下载
同步于
18 天前

最新版本

v2.1.12026年8月15日 15:11
下载慢?可在上方随时切换镜像源

项目说明

项目概述

mpeg-ts-analyzer 是一款MPEG-2传输流(TS)分析器(ISO/IEC 13818-1)。它解析TS包并检查流是否符合规范中定义的以下要求:

主要功能

  • 定时合规性检查:最大PCR间隔应不大于100ms;PCR-PTS最大间隙(端到端延迟)应不大于1000ms;检测并报告PTS/DTS异常(时间戳倒退、33位回绕、大幅前跳)
  • 结构转储:支持转储TS头和载荷、适配字段(含PCR)、PSI表(PAT/PMT)及CRC32校验、PMT ES信息描述符(ISO 639语言、注册、AVC/HEVC视频、AAC音频、图文电视、DVB字幕)、PES头及PTS/DTS时间戳
  • PCR抖动分析:分析每个间隔与预期PCR的偏差
  • 连续性计数器验证:每个PID的错误摘要
  • 包大小自动检测:支持188字节TS包和192字节M2TS包
  • 多节目流支持:列出所有节目,通过 --program 参数指定分析特定节目
  • 其他功能:--dump-bitrate 汇总每个PID的平均/峰值比特率;--list-programs 仅列出节目而不进行PES分析

适用人群

  • 需要检查MPEG-2 TS流定时合规性的广播工程师和视频流开发者
  • 需要分析TS包结构的开发者

快速上手

  • Homebrew (macOS/Linux):brew install small-teton/tap/mpeg-ts-analyzer
  • Debian/Ubuntu:从Releases下载 .deb 包并安装
  • RHEL/CentOS/Fedora:下载 .rpm 包并安装
  • Alpine:下载 .apk 包并安装
  • Go安装:go install github.com/small-teton/mpeg-ts-analyzer/v2@latest
  • 基本用法:mpeg-ts-analyzer [输入文件路径] [flags]

核心优势

  • 专为定时合规性检查设计:直接给出PCR间隔和PCR-PTS间隙的通过/失败结果
  • 相比ffprobe:ffprobe暴露PTS/DTS但不暴露PCR,无法进行PCR相关检查
  • 相比TSDuck:TSDuck提供原始时间戳,但仍需自行编写脚本计算间隔和判断
  • 规格级字段转储:按ISO/IEC 13818-1定义打印每个字段,便于对照规范

系统要求

  • 操作系统:跨平台(macOS、Linux)
  • 支持架构:未明确列出,提供 linux_amd64 预编译包

历史版本

排序