一款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预编译包
历史版本
排序