摘要
本文主要介绍 hysAnalyser 支持文件转播 UDP/RTP 实时流功能,满足用户分析ts时间戳PCR,码率平稳等基本指标。
在业务较为简单的场景下,本功能可以做为工作调试,甚至商用的UDP或RTP直播源。
现将 hysAnalyser 新版本(v1.1.002)发布给网友使用,希望能帮助到更多音视频开发的爱好者。使用过程中,若遇到问题请您通过 Github官方地址 https://github.com/zymill/hysAnalyser 提issue,如果紧急也可以通过邮箱 hybase@qq.com 反馈!
基础概念
TS流 UDP/RTP播放核心概念
- 传输基础
- TS流:数字电视标准容器(188字节/包),封装音视频/PCR时钟/节目信息。
- UDP传输:低延迟但不可靠,适合实时流媒体。
- RTP封装:在UDP上添加时序标记(时间戳、序列号),实现流同步与丢包检测。
一、TS时间戳的核心作用
- PCR(节目时钟参考)
- 功能:传递发送端27MHz系统时钟值,接收端通过锁相环同步本地时钟。
- 重要性:时钟失步会导致音画不同步或缓冲溢出。
- PTS/DTS(显示/解码时间戳)
- PTS:控制帧的渲染时刻;DTS:控制帧的解码顺序(B帧需重排序)。
- 同步机制:接收端依据同步后的时钟按PTS严格渲染音视频。
- RTP时间戳
- 映射关系:基于90kHz时钟(=27MHz/300),与TS内PTS同源。
- 核心价值:跨网络重建时序,实现多流(音/视)同步。
总结:PCR同步时钟 → PTS/DTS控制解码渲染 → RTP时间戳对齐网络流时序。
二、流码率稳定的重要性(数字电视业务)
- 传输层需求
- 广播信道(如DVB)采用固定带宽复用,突发码率会侵占其他流带宽。
- IPTV中码率突变引发网络拥塞,加剧丢包。
- 接收端缓冲管理
- 高码率突发 → 缓冲区溢出 → 丢帧/马赛克;
- 低码率时段 → 缓冲区饥饿 → 播放卡顿。
- 时钟同步依赖
- PCR插值依赖稳定传输速率,码率波动导致时钟同步误差。
结论:恒定码率(CBR)是数字电视传输的基石,确保服务质量与无缝切换。
三、RTP打包TS规范与业务应用
- 打包规范(RFC 3550/2250)
- 封装:单RTP包含1-7个完整TS包(避免分片,总长<MTU)。
- 时间戳:90kHz基准,标记首TS包数据的采样时刻。
- 连续性:保留TS包内部计数器,联合RTP序列号检测丢包。
- 业务场景
- 主流应用:IPTV直播(UDP组播)、互联网直播推流、广电信号传输。
- 协议优势:低延迟(<2秒),支持大规模组播分发。
工具概述
hysAnalyser 是一款专业 MPEG-TS 数据分析工具,定位于
1)音视频开发和测试人员:和MEPG-TS有关开发、调试、测试辅助;
2)和MPEG-TS相关业务系统的运维人员:如数字电视、OTT、互联网流媒体等领域,协助用户跟踪和分析查错和定位TS数据、DVB业务数据表问题,并且还可以支持定制化的MPEG-TS素材制作和转存。
关于它的完整介绍,作者写过综述,有兴趣的可以访问如下地址(包含授权注册说明):
腾讯云:TS流分析专栏 https://cloud.tencent.com/developer/column/105278
1. 功能介绍
1.1. 功能入口
1.2. 基本界面
暂时支持 IPV4 组播和单播 功能(IPV6后续增补)
1.3. 播发操控
主要支持
- 输出码率实时曲线,统计周期可设置,有效范围 50,200,500,1000 单位毫秒
- 运行日志,提供基本状态和数据呈现,满足观察PCR变化等关键信息
- 支持从头重播,满足特定需要时,不用关闭重建任务。直接从文件头重新播发。
- 日志可以清空
1.4. 功能验证
方式一、通过VLC/Potplayer等常用视频播放工具验证
如前面图示。
方式二、网络抓包
完善和补充说明
如果您验证RTP/UDP流播发遇到问题,欢迎联系笔者(hybase@qq.com)。
软件下载
方式一
Github地址 https://github.com/zymill/hysAnalyser
方式二
百度盘下载地址 https://pan.baidu.com/s/15EtyxUBhvokfXC2rJp_smQ?pwd=mpts