hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
摘要
hysAnalyser 是一款特色的 MPEG-TS 数据分析工具,融合了常规TS文件的剪辑,转存功能,可用于平常的视频开发和测试。
本文详细阐述了对MPEG-TS 流的节目ID,名称,PID,时间戳,流类型,裁剪,拼接、转存MP4或MKV格式的操作指南(版本v1.0.005),以便让用户知悉和掌握它们,帮助用户快速制作和转存定制化的MPEG-TS素材。极大满足和支持用户全方位测试和验证视频转码,DVB直播、HLS直播推流,终端播放等业务系统的适应性能力。
hysAnalyser 支持主流的MP1/MP2/AAC/AC3/E-AC3,MPEG-1/2/4,H.264/AVC、H.265/HEVC等,另外工具还支持 H.266/VVC, AVS2, AVS3等编码格式。
关于 hysAnalyser 的详细介绍,感兴趣的网友可以参考以下地址
- 软件发布 https://zhuanlan.zhihu.com/p/1902174484636631934
- 腾讯云-flvAnalyser综述
- 腾讯云-hysAnalyser综述
软件官方地址
Github地址:https://github.com/zymill/hysAnalyser
功能和案例
1.流转换总入口
任务启动成功后,从菜单栏的流转换可以进入多种 MPEG-TS的编辑和转换功能,如下图所示。
2.单节目转存MP4、MKV
菜单入口
转存结果
转存结果验证
3.移除空包
简易功能之一,移除流中的空包
4.移除指定的PID
多个PID用逗号隔开。案例如下
移除前后的对比结果
5.将独立PCR PID修改为视频PID
有时候 MPEG TS流的PCR是独立PID,下图是一个案例。如果用户需将PCR转换成视频PID,可以参考下面的方法做编辑。
修改后的结果
6.编辑节目的PID
如图所示,用户可以根据自身需要将节目PID重置(包括PMT,视频,音频,字幕等)
便捷方法:自动设置PID将从1000累加。
7.修改流的时间戳
如图所示,用户可以根据需要,修改编辑流时间戳的起始值(可以用于素材制作)
8.修改视频流类型(纠错功能)
遇到视频流类型错误的素材,可以通过下面方法做修改。比方说将 MPEG2-Video (2) 修改为 H.264 (27),该功能需要用户了解MPEG-2 system中的流类型定义值,这里提供一些基本类型。
STREAM_TYPE_VIDEO_MPEG1 = 0x01, /**< MPEG1 VIDEO (11172-2) */STREAM_TYPE_VIDEO_MPEG2 = 0x02, /**< MPEG2 VIDEO (13818-2) */STREAM_TYPE_AUDIO_MPEG1 = 0x03, /**< MPEG1 Layer 2 AUDIO(11172-3) */STREAM_TYPE_AUDIO_MPEG2 = 0x04, /**< MPEG2 Layer 2 AUDIO(13818-3) */STREAM_TYPE_PRIVATE_SECTION = 0x05, /**< ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_sections */STREAM_TYPE_PRIVATE_DATA = 0x06, /**< descriptor defined in EN 300468: maybe AC-3 */STREAM_TYPE_AUDIO_MPEG2L3 = 0x07, /**< MPEG2 Layer 3 AUDIO */STREAM_TYPE_DSM_CC = 0x08, /**< Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Annex A DSM-CC */STREAM_TYPE_H222_ATM = 0x09, /**< Rec. ITU-T H.222.1 */STREAM_TYPE_DSM_CC_A = 0x0A, /**< ISO/IEC 13818-6 type A (DSM-CC) */STREAM_TYPE_DSM_CC_B = 0x0B, /**< ISO/IEC 13818-6 type B (DSM-CC) */STREAM_TYPE_DSM_CC_C = 0x0C, /**< ISO/IEC 13818-6 type C (DSM-CC) */STREAM_TYPE_DSM_CC_D = 0x0d, /**< ISO/IEC 13818-6(Extensions for DSM-CC) type D */STREAM_TYPE_H222_AUX = 0x0e, /**< Rec. ITU-T H.222.0 | ISO/IEC 13818-1 auxiliary */STREAM_TYPE_AUDIO_AAC = 0x0F, /**< ISO/IEC 13818-7 Audio with ADTS transport syntax(usually AAC) */STREAM_TYPE_VIDEO_MPEG4 = 0x10, /**< ISO/IEC 14496-2 Visual - MPEG4 Video */STREAM_TYPE_AUDIO_AAC_LATM = 0x11, /**< ISO/IEC 14496-3 Audio with LATM transport syntax(LATM AAC) */STREAM_TYPE_MPEG4_PES = 0x12, /**< ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in PES packets */STREAM_TYPE_MPEG4_SECTIONS = 0x13, /**< ISO/IEC 14496-1 SL-packetized stream or FlexMux stream carried in ISO/IEC 14496_sections */STREAM_TYPE_MPEG2_SDP = 0x14, /**< ISO/IEC 13818-6 Synchronized Download Protocol */STREAM_TYPE_META_PES = 0x15, /**< Metadata carried in PES packets */STREAM_TYPE_META_SECTION = 0x16, /**< Metadata carried in metadata_sections */STREAM_TYPE_META_DSMCC_DATA = 0x17, /**< Metadata carried in ISO/IEC 13818-6 Data Carousel */STREAM_TYPE_META_DSMCC_OBJECT = 0x18, /**< Metadata carried in ISO/IEC 13818-6 Object Carousel */STREAM_TYPE_META_DSMCC_SDP = 0x19, /**< Metadata carried in ISO/IEC 13818-6 Synchronized Download Protocol */STREAM_TYPE_MPEG2_IPMP = 0x1a, /**< IPMP stream (defined in ISO/IEC 13818-11, MPEG-2 IPMP) */STREAM_TYPE_VIDEO_H264 = 0x1B, /**< ITU-T Rec.H.264 | ISO/IEC 14496-10 Video */STREAM_TYPE_AUDIO_MPEG4_AAC = 0x1c, /**< ISO/IEC 14496-3 Audio, without using any additional transport syntax, such as DST, ALS and SLS */STREAM_TYPE_MPEG4_TEXT = 0x1d, /**< ISO/IEC 14496-17 Text */STREAM_TYPE_AUX_VIDEO = 0x1e, /**< Auxiliary video stream as defined in ISO/IEC 23002-3 */STREAM_TYPE_VIDEO_H264_SVC = 0x1f, /**< SVC video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex G of Rec. ITU-T H.264 | ISO/IEC 14496-10 */STREAM_TYPE_VIDEO_H264_MVC = 0x20, /**< MVC video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex H of Rec. ITU-T H.264 | ISO/IEC 14496-10 */STREAM_TYPE_VIDEO_JPEG_2000 = 0x21, /**< Video stream conforming to one or more profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1 */STREAM_TYPE_VIDEO_MPEG2_3D = 0x22, /**< Additional view Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible stereoscopic 3D services */STREAM_TYPE_VIDEO_MPEG4_3D = 0x23, /**< Additional view Rec. ITU-T H.264 | ISO/IEC 14496-10 video stream conforming to one or more profiles defined in Annex A for service-compatible stereoscopic 3D services */STREAM_TYPE_VIDEO_H265 = 0x24, /**< Rec. ITU-T H.265 | ISO/IEC 23008-2 video stream or an HEVC temporal video sub-bitstream */STREAM_TYPE_VIDEO_H265_SUBSET = 0x25, /**< HEVC temporal video subset of an HEVC video stream conforming to one or more profiles defined in Annex A of Rec. ITU-T H.265 | ISO/IEC 23008-2 */STREAM_TYPE_VIDEO_H264_MVCD = 0x26, /**< MVCD video sub-bitstream of an AVC video stream conforming to one or more profiles defined in Annex I of Rec. ITU-T H.264 | ISO/IEC 14496-10 */STREAM_TYPE_VIDEO_H266 = 0x32, /**< VVC video stream or an VVC temporal video sub-bitstream conforming to one or more profiles defined Annex A of Rec. ITU-T H.266 | ISO/IEC 23090-3 Versatile video coding(VVC) */STREAM_TYPE_VIDEO_H266_SUBSET = 0x33, /**< VVC temporal video subset of an VVC video stream conforming to one or more profiles defined in Annex A of Rec. ITU-T H.266 | ISO/IEC 23090-3 Versatile video coding(VVC) */STREAM_TYPE_VIDEO_CAVS = 0x42, /**< CAVS */STREAM_TYPE_VIDEO_DIRAC = 0xD1, /**< Dirac */STREAM_TYPE_VIDEO_AVS2 = 0xD2, /**< Video:AVS2-P2/IEEE1857.4 */STREAM_TYPE_VIDEO_AVS3 = 0xD4, /**< Video:AVS3-P2/IEEE1857.10 */STREAM_TYPE_AUDIO_AVS3 = 0xD5, /**< Video:AVS3-P2/IEEE1857.10 */STREAM_TYPE_VIDEO_VC1 = 0xEA, /**< VC1 */STREAM_TYPE_IPMP = 0x7F, /**< IPMP stream */STREAM_TYPE_AUDIO_AC3 = 0x81, /**< Audio per ATSC A/53B[2] Annex B: AC3 AUDIO */STREAM_TYPE_AUDIO_DTS = 0x82, /**< Audio: Digital Theater Systems */STREAM_TYPE_AUDIO_TRUEHD = 0x83, /**< Audio: true high definition */STREAM_TYPE_AUDIO_EAC3 = 0x87, /**< Audio per ATSC A/53B[2] Annex B: E-AC3 AUDIO */
9.高级配置 (多功能组合)
前面依次是独个功能的说明,大部分情况下,用户可能需要多种功能的综合,常有:
- 修改节目id和名称
- pid配置
- 时间戳修改(PCR、DTS,PTS)
- 视频流类型的修改(这个通常不是必须的)
转换选项中提供了快捷开关,降低用户的配置难度。
具体功能,可以实际验证
10.纠错TS
通过纠错,可以将文件中的同步字错误的数据删除,最终保存为新文件。
11.剪辑TS
TS文件的裁剪
可用于:
- 大文件裁剪成小文件
- 通过逐包分析,定位到关键帧位置,将不完整ES帧数据移除。
- 该功能也可以用于其他文件类型的裁剪处理。
- 188字节对齐仅仅是为了MPEG-TS裁剪
多个TS文件的简单拼接
可用于:
- HLS分片的拼接,合成一个整体文件
- 制作特殊素材
- 结合前面的时间戳编辑,PID编辑,可以制作更多特色的测试素材。
比方:PAT变化,PMT变化,视频分辨率变化,音轨变化等等。
这些场景在实际商用环境都不少见。为了适应这些变化,这些素材可以用于检验自己的程序。
总之,上面介绍的功能,大部分都是笔者自身工作中常用的功能。希望对感兴趣的网友有所帮助。
这些功能都属于工具的附加功能,真正需要的网友,可以通过软件的注册授权后使用。注册和授权费用和方法,可以点击下面知乎或GitHub的地址。
授权方式:
授权费用:35 元(RMB) / 单台机器
参考地址
- 软件发布 https://zhuanlan.zhihu.com/p/1902174484636631934
- 腾讯云-flvAnalyser综述
- 腾讯云-hysAnalyser综述 — 一个特色 MPEG TS分析工具
- hysAnalyser 从MPEG-TS导出ES功能说明
- Github地址:https://github.com/zymill/hysAnalyser
相关文章:

hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
摘要 hysAnalyser 是一款特色的 MPEG-TS 数据分析工具,融合了常规TS文件的剪辑,转存功能,可用于平常的视频开发和测试。 本文详细阐述了对MPEG-TS 流的节目ID,名称,PID,时间戳,流类型ÿ…...
Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和
Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和 2583.二叉树中的第K大层和 2583. 二叉树中的第 K 大层和 - 力扣(LeetCode) 思路: 把每层的结果都放到一个vector数组里面,然后排序这个vector数组,返回第K大的元素即…...

Google机器学习实践指南(学习速率篇)
🔥Google机器学习核心概念精讲(学习速率) Google机器学习实战(7)-5分钟掌握学习速率。 学习速率:模型训练的关键超参数 学习速率是指在训练模型时用于梯度下降的一个标量。在每次迭代期间,梯度下降法都会将学习速率…...
JS实现直接下载PDF文件
pdf文件通过a标签直接下载会打开页面,所以,请求该文件的blob文件流数据,再通过window.URL.createObjectURL转成链接,就可以直接下载了。 只需要替换url和文件名称就行,文件名的后缀记得要写上pdf,不然会变成…...

使用KubeKey快速部署k8s v1.31.8集群
实战环境涉及软件版本信息: 使用kubekey部署k8s 1. 操作系统基础配置 设置主机名、DNS解析、时钟同步、防火墙关闭、ssh免密登录等等系统基本设置 dnf install -y curl socat conntrack ebtables ipset ipvsadm 2. 安装部署 K8s 2.1 下载 KubeKey ###地址 https…...
FreeSWITCH 纯内网配置
纯内网,且同一个网段,Fs 可简化配置,要点是: 1. 不需要事先配置 directory,任意号码都可以注册,且无挑战 2. 呼叫无挑战 不需要考虑那么多安全问题 配置如下: 1. 全局变量 <X-PRE-PROCESS cmd"…...

leetcode hot100:十四、解题思路大全:真·大全!
因为某大厂的算法没有撕出来,怒而整理该贴。部分题目有python版本的AC代码。本贴耗时4天呜呜呜 1.哈希 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下…...

kali的简化安装
首先点击kali的官网 https://www.kali.org/get-kali/#kali-platforms 点击虚拟机版本 下载VMware版本的压缩包 解压后 点击 后缀名为 .vmx的文件 原始账号密码为 kali kali 这样安装 就不需要我们再去配置镜像 等等复杂操作了...
交换机的连接方式堆叠和级联
以下是交换机的堆叠和级联各自的优缺点总结,帮助快速对比选择: 一、堆叠(Stacking) 优点 高性能 堆叠链路带宽高(如10G/40G/100G),成员间数据通过背板直连,无带宽瓶颈。支…...

Vortex GPGPU的github流程跑通与功能模块波形探索(三)
文章目录 前言一、./build/ci下的文件结构二、基于驱动进行仿真过程牵扯的文件2.1 blackbox.sh文件2.2 demo文件2.3 额外牵扯到的ramulator2.3.1 ramulator简单介绍2.3.2 ramulator使用方法2.3.3 ramulator的输出2.3.4 ramulator的复现2.3.4.1 调试与验证(第 4.1 节…...
React深度解析:Hooks体系与Redux Toolkit现代状态管理实践
前言 React作为当今最流行的前端框架之一,其生态体系不断演进,为开发者提供了更高效、更优雅的解决方案。本文将深入探讨React的两大核心主题:Hooks体系(特别是useState和useEffect)以及Redux Toolkit现代状态管理方案…...

实用蓝牙耳机哪款好?先做好使用场景分析!
市面上的蓝牙耳机款式繁多,618到来之际,消费者如何选择适合自己的蓝牙耳机?实用蓝牙耳机哪款好?关键在于做好使用场景分析!今天,就带大家结合不同的使用场景,分享三款倍思音频的精品蓝牙耳机。 …...
Rules and Monetization
The system creates rules that allow them to monetize. The system doesn’t just enforce rules — it creates them strategically to monetize control. 🔧 How It Works: Invent a rule (e.g., “You need a permit to sell food.”)Claim it’s for safety …...

防火墙NAT地址组NAT策略安全策略
本文仅供学习交流,所涉及的知识技术产权归属华为技术有限公司所有!!! 本文仅供学习交流,所涉及的知识技术产权归属华为技术有限公司所有!!! 本文仅供学习交流,所涉及的…...
python开发环境管理和包管理
在 Python 开发中,环境管理 和 包管理 是两个非常重要的概念。它们帮助开发者: 这里写目录标题 一、什么是 Python 环境管理?二、什么是 Python 包管理?三、常见文件说明(用于包管理和环境配置)四、典型流程…...

Windows 使用 WSL 安装 Ubuntu
一,前言 Windows 上轻松跑 Linux 又不想用笨重的VMware 和VirtualBox ,怎么办? 开源项目 Windows Subsystem for Linux (WSL)。它解决了许多开发者在 Windows 和 Linux 间切换的痛点,实现在 Windows 上无缝跑 Linux 工具和命令。…...
.jsx文件和.tsx文件有什么区别
.tsx 和 .jsx 是两种用于 React 开发的 JavaScript 文件扩展名,它们的主要区别在于对 TypeScript 的支持以及使用场景。以下是详细对比: 定义 .jsx:是 JavaScript XML 的缩写,用于在 JavaScript 中编写类似 XML 的 JSX 语法&…...

第九天的尝试
目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 创造美好的代价是努力,失望以及毅力,首先是痛苦,然后才是欢乐。 时间是快的,看怎么利用,安排好一切事情,才能从容面对…...
每日算法 -【Swift 算法】寻找字符串中最长回文子串(三种经典解法全解析)
🧩 最长回文子串问题:三种经典解法全解析(含代码注释) 本文将系统讲解“最长回文子串”问题的三种常见解法:中心扩展法、动态规划、马拉车算法(Manacher’s Algorithm),并进行对比与…...
《Cesium全生态解析:从入门到精通的3D地理空间开发指南》
在WebGL、GIS和三维可视化技术高速发展的今天,Cesium 已经从一个开源地图引擎成长为全球开发者构建数字地球的核心工具。从地球到火星,从网页到游戏引擎,Cesium以其跨平台、高精度和无限扩展性,重新定义了我们对空间数据的交互方式…...
pytorch LSTM 结构详解
最近项目用到了LSTM ,但是对LSTM 的输入输出不是很理解,对此,我详细查找了lstm 的资料 import torch.nn as nnclass LSTMModel(nn.Module):def __init__(self, input_size1, hidden_size50, num_layers2):super(LSTMModel, self).__init__()…...

流程自动化引擎:重塑企业数字神经回路
在数字经济高速发展的今天,企业运营的核心逻辑正在经历一场静默的革命。流程自动化引擎作为这场变革的中枢神经系统,通过智能化的技术手段重构企业的业务逻辑与决策链路,将原本离散的“数字神经元”编织成高效协同的神经网络。这种技术不仅打…...

nginx web服务日志分析
特点: 实时分析:支持实时分析 Nginx 日志,无需预先存储大量日志数据,能即时反馈网站的访问情况。轻量级高效:资源占用少,运行速度快,适合处理高流量网站的日志分析。多种输出格式:除…...

VSCode+EIDE通过KeilC51编译,使VSCode+EIDE“支持”C和ASM混编
在使用Keil C51时,要让Keil C51支持混编则需要在混编的.c文件上右键选择Options for File *(ALTF7),打开选项界面后,在 Properties 页 勾上 Generate Assembler SRC File 和 Assemble SRC File ,如下图所示: 这样设置后…...
5.23本日总结
一、英语 复习list5list25 二、数学 写14讲部分课后题,学习15讲部分 三、408 写计网5.3题目,学习计组第一章 四、总结 二重积分的题目也涉及了一元函数积分相关知识,该部分遗忘较多,后续需要再复习。 五、明日计划 英语&…...

游戏引擎学习第298天:改进排序键 - 第1部分
关于向玩家展示多个房间层所需的两种 Z 值 我们在前一天基本完成了为渲染系统引入分层 Z 值的工作,但还没有完全完成所有细节。我们开始引入图形渲染中的分层概念,即在 Z 轴方向上拥有多个独立图层,每个图层内部再使用一个单独的 Z 值来实现…...

Mysql篇-优化
Mysql篇主要是纯理论的面试问题与技巧。 主要从以下进行开展: 索引相关问题: 1、Mysql如何定位慢查询? Mysql慢查询:某个业务查询数据响应时间过长或者与预期响应时间相差大。 表象:页面加载过慢、接口压测响应时间…...
Java 集合框架核心知识点全解析:从入门到高频面试题(含 JDK 源码剖析)
一、Java 集合框架体系架构 Java 集合框架分为两大分支: Collection接口:存储单个元素,包括: List:有序、可重复(如ArrayList、LinkedList)Set:无序、唯一(如HashSet、…...

一文详解生成式 AI:李宏毅《生成式 AI 导论》学习笔记
生成式 AI 是怎么回事 人工智能(Artificial Intelligence) “智能”是一个广泛而复杂的概念,其定义和应用范围随着技术、科学和社会的发展不断演变。在当前的语境下,“智能”通常与人工智能(AI)相关联&am…...

什么是物联网 (IoT):2024 年物联网概述
物联网(IoT)是一个有望彻底改变我们生活、工作以及与环境互动方式的概念。如今,越来越多的新兴企业和老牌企业都在利用物联网的力量创造创新产品与服务。正因为这一转变,互联互通已成为我们生活中不可或缺的一部分,科技…...