当前位置: 首页 > news >正文

hysAnalyser --- 支持文件转播UDP/RTP实时流功能

摘要

本文主要介绍 hysAnalyser 支持文件转播 UDP/RTP 实时流功能,满足用户分析ts时间戳PCR,码率平稳等基本指标。
在业务较为简单的场景下,本功能可以做为工作调试,甚至商用的UDP或RTP直播源。

现将 hysAnalyser 新版本(v1.1.002)发布给网友使用,希望能帮助到更多音视频开发的爱好者。使用过程中,若遇到问题请您通过 Github官方地址 https://github.com/zymill/hysAnalyser 提issue,如果紧急也可以通过邮箱 hybase@qq.com 反馈!

基础概念

TS流 UDP/RTP播放核心概念

  1. 传输基础
    • TS流:数字电视标准容器(188字节/包),封装音视频/PCR时钟/节目信息。
    • UDP传输:低延迟但不可靠,适合实时流媒体。
    • RTP封装:在UDP上添加时序标记(时间戳、序列号),实现流同步与丢包检测。

一、TS时间戳的核心作用

  1. PCR(节目时钟参考)
    • 功能:传递发送端27MHz系统时钟值,接收端通过锁相环同步本地时钟。
    • 重要性:时钟失步会导致音画不同步或缓冲溢出。
  2. PTS/DTS(显示/解码时间戳)
    • PTS:控制帧的渲染时刻DTS:控制帧的解码顺序(B帧需重排序)。
    • 同步机制:接收端依据同步后的时钟按PTS严格渲染音视频。
  3. RTP时间戳
    • 映射关系:基于90kHz时钟(=27MHz/300),与TS内PTS同源。
    • 核心价值:跨网络重建时序,实现多流(音/视)同步。

总结:PCR同步时钟 → PTS/DTS控制解码渲染 → RTP时间戳对齐网络流时序。


二、流码率稳定的重要性(数字电视业务)

  1. 传输层需求
    • 广播信道(如DVB)采用固定带宽复用,突发码率会侵占其他流带宽。
    • IPTV中码率突变引发网络拥塞,加剧丢包。
  2. 接收端缓冲管理
    • 高码率突发 → 缓冲区溢出 → 丢帧/马赛克;
    • 低码率时段 → 缓冲区饥饿 → 播放卡顿。
  3. 时钟同步依赖
    • PCR插值依赖稳定传输速率,码率波动导致时钟同步误差。

结论:恒定码率(CBR)是数字电视传输的基石,确保服务质量与无缝切换。


三、RTP打包TS规范与业务应用

  1. 打包规范(RFC 3550/2250)
    • 封装:单RTP包含1-7个完整TS包(避免分片,总长<MTU)。
    • 时间戳:90kHz基准,标记首TS包数据的采样时刻。
    • 连续性:保留TS包内部计数器,联合RTP序列号检测丢包。
  2. 业务场景
    • 主流应用:IPTV直播(UDP组播)、互联网直播推流、广电信号传输。
    • 协议优势:低延迟(<2秒),支持大规模组播分发。

工具概述

hysAnalyser 是一款专业 MPEG-TS 数据分析工具,定位于
1)音视频开发和测试人员:和MEPG-TS有关开发、调试、测试辅助;
2)和MPEG-TS相关业务系统的运维人员:如数字电视、OTT、互联网流媒体等领域,协助用户跟踪和分析查错和定位TS数据、DVB业务数据表问题,并且还可以支持定制化的MPEG-TS素材制作和转存。

关于它的完整介绍,作者写过综述,有兴趣的可以访问如下地址(包含授权注册说明):

知乎:hysAnalyser v1.1.002版本发布

腾讯云:TS流分析专栏 https://cloud.tencent.com/developer/column/105278

1. 功能介绍

1.1. 功能入口

在这里插入图片描述

1.2. 基本界面

在这里插入图片描述
暂时支持 IPV4 组播和单播 功能(IPV6后续增补)

1.3. 播发操控

在这里插入图片描述
主要支持

  1. 输出码率实时曲线,统计周期可设置,有效范围 50,200,500,1000 单位毫秒
  2. 运行日志,提供基本状态和数据呈现,满足观察PCR变化等关键信息
  3. 支持从头重播,满足特定需要时,不用关闭重建任务。直接从文件头重新播发。
  4. 日志可以清空
1.4. 功能验证

方式一、通过VLC/Potplayer等常用视频播放工具验证
如前面图示。

方式二、网络抓包
在这里插入图片描述

完善和补充说明

如果您验证RTP/UDP流播发遇到问题,欢迎联系笔者(hybase@qq.com)。

软件下载

方式一
Github地址 https://github.com/zymill/hysAnalyser
方式二
百度盘下载地址 https://pan.baidu.com/s/15EtyxUBhvokfXC2rJp_smQ?pwd=mpts

参考链接

  1. 知乎:hysAnalyser v1.1.002版本发布
  2. 腾讯云:TS流分析专栏
  3. flvAnalyser综述 https://cloud.tencent.com/developer/article/2344723
  4. hysAnalyser综述 https://cloud.tencent.com/developer/article/2517652
  5. hysAnalyser从MPEG-TS导出ES功能说明
  6. hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
http://www.dtcms.com/a/324989.html

相关文章:

  • CompletableFuture实现Excel 多个sheet页批量导出
  • 【数据分析】循环移位岭回归分析:光遗传学冻结行为模式研究
  • 【PyTorch】单目标检测项目部署
  • MPLS的基本工作原理
  • AI玩具新浪潮:百亿资本涌入,情感计算重塑陪伴经济
  • WAIC2025逛展分享·AI鉴伪技术洞察“看不见”的伪造痕迹
  • JAVA中关于Stream流的使用
  • 虚拟主机示例
  • vuhub drippingblues靶场攻略
  • Windows环境下私有化部署Dify,并接入通义千问模型
  • UNet改进(31):基于Adaptive Attention的UNet设计与实践
  • 基于Spring SSE构建实时监控系统
  • Python 的列表 list 和元组 tuple 有啥本质区别?啥时候用谁更合适?
  • TC39x STM(System Timer)学习记录
  • 压力测试等工具源码包编译及使用方法
  • Vulnhub doubletrouble 靶场复现 详细攻略
  • Knuth‘s TwoSum Algorithm 原理详解
  • MyBatis 核心入门:从概念到实战,一篇掌握简单增删改查
  • 【东枫科技】FR3 可扩展测试平台,适用于 6G 研究与卫星通信,高达 1.6 GHz 的带宽
  • 【自动化运维神器Ansible】playbook案例解析:Tags组件实现任务选择性执行
  • 【01】华勤技术股份有限公司——华勤C++笔试,题目记录及解析
  • Java基础-使用反射做一个简易框架
  • Python 实例属性和类属性
  • 【PyTorch】单目标检测项目
  • vulnhub-Drippingblues靶机
  • Typora结合PicGo + 使用Gitee搭建个人免费图床
  • 计算机网络---IP(互联网协议)
  • 2025年6月电子学会全国青少年软件编程等级考试(Python六级)真题及答案
  • 二叉树进阶 之 【二叉搜索树的简介与模拟实现的前提准备】
  • 【杂谈】-智能代理+可观察性:构建下一代复杂系统监控体系