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 的详细介绍,感兴趣的网友可以参考以下地址

  1. 软件发布 https://zhuanlan.zhihu.com/p/1902174484636631934
  2. 腾讯云-flvAnalyser综述
  3. 腾讯云-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) / 单台机器

参考地址

  1. 软件发布 https://zhuanlan.zhihu.com/p/1902174484636631934
  2. 腾讯云-flvAnalyser综述
  3. 腾讯云-hysAnalyser综述 — 一个特色 MPEG TS分析工具
  4. hysAnalyser 从MPEG-TS导出ES功能说明
  5. Github地址:https://github.com/zymill/hysAnalyser

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/81031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端[插件化]设计思想_Vue、React、Webpack、Vite、Element Plus、Ant Design

前端插件化设计思想旨在提升应用的可扩展性、可维护性和模块化程度。这种思想不仅体现在框架&#xff08;如 Vue、React&#xff09;中&#xff0c;也广泛应用于构建工具&#xff08;如 Webpack、Vite&#xff09;以及 UI 库&#xff08;如 Element Plus、Ant Design&#xff0…

2025年高防IP与游戏盾深度对比:如何选择最佳防护方案?

2025年&#xff0c;随着DDoS攻击规模的指数级增长和混合攻击的常态化&#xff0c;高防IP与游戏盾成为企业网络安全的核心选择。然而&#xff0c;两者在功能定位、技术实现及适用场景上存在显著差异。本文结合最新行业实践与技术趋势&#xff0c;全面解析两者的优劣&#xff0c;…

日志根因分析:Elastic Observability 的异常检测与日志分类功能

作者&#xff1a;来自 Elastic Bahubali Shetti Elastic Observability 不仅提供日志聚合、指标分析、APM 和分布式追踪&#xff0c;Elastic 的机器学习能力还能帮助分析问题的根因&#xff0c;让你将时间专注于最重要的任务。 随着越来越多的应用程序迁移到云端&#xff0c;收…

Linux火墙管理及优化

网络环境配置 使用3个新的虚拟机【配置好软件仓库和网络的】 F1 192.168.150.133 NAT F2 192.168.150.134 192.168.10.20 NAT HOST-ONLY 网络适配仅主机 F3 192.168.10.30 HOST-ONLY 网络适配仅主机 1 ~]# hostnamectl hostname double1.timinglee.org 【更…

java配置webSocket、前端使用uniapp连接

一、这个管理系统是基于若依框架&#xff0c;配置webSocKet的maven依赖 <!--websocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 二、配…

基于Yolov8+PyQT的老人摔倒识别系统源码

概述 ​​基于Yolov8PyQT的老人摔倒识别系统​​&#xff0c;该系统通过深度学习算法实时检测人体姿态&#xff0c;精准识别站立、摔倒中等3种状态&#xff0c;为家庭或养老机构提供及时预警功能。 主要内容 ​​完整可运行代码​​ 项目采用Yolov8目标检测框架结合PyQT5开发…

Oracle 创建外部表

找别人要一下数据&#xff0c;但是他发来一个 xxx.csv 文件&#xff0c;怎么办&#xff1f; 1、使用视图化工具导入 使用导入工具导入&#xff0c;如 DBeaver&#xff0c;右击要导入的表&#xff0c;选择导入数据。 选择对应的 csv 文件&#xff0c;下一步就行了&#xff08;如…

【华为OD- B卷 01 - 传递悄悄话 100分(python、java、c、c++、js)】

【华为OD- B卷 01 - 传递悄悄话 100分(python、java、c、c++、js)】 题目 给定一个二叉树,每个节点上站一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。 初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节点上的人都接收到悄悄话花…

房贷利率计算前端小程序

利率计算前端小程序 视图效果展示如下&#xff1a; 在这里插入代码片 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&qu…

自制操作系统day8 (鼠标数据取得、通往32位模式之路、A20GATE、切换到保护模式、控制寄存器cr0-cr4以及cr8、ALIGNB)

day8 鼠标数据取得方法 fifo8_init(&mousefifo, 128, mousebuf); for (;;) { io_cli(); if (fifo8_status(&keyfifo) fifo8_status(&mousefifo) 0) { io_stihlt(); } else { if (fifo8_status(&keyfifo) ! 0) { i fifo8_get(&keyfifo); io_sti(); spr…

IP大科普:住宅IP、机房IP、原生IP、双ISP

不同类型的IP在跨境电商、广告营销、网络技术、数据收集等领域都有广泛应用&#xff0c;比如常见的住宅IP、机房IP、原生IP、双ISP等&#xff0c;这些IP分别都有什么特点&#xff0c;发挥什么作用&#xff0c;适合哪些业务场景&#xff1f; 一、IP类型及其作用 1.住宅IP 住宅…

Elasticsearch面试题带答案

Elasticsearch面试题带答案 Elasticsearch面试题及答案【最新版】Elasticsearch高级面试题大全(2025版),发现网上很多Elasticsearch面试题及答案整理都没有答案,所以花了很长时间搜集,本套Elasticsearch面试题大全,Elasticsearch面试题大汇总,有大量经典的Elasticsearch面…

Eigen与OpenCV矩阵操作全面对比:最大值、最小值、平均值

功能对比总表 功能Eigen 方法OpenCV 方法主要区别最大值mat.maxCoeff(&row, &col)cv::minMaxLoc(mat, NULL, &maxVal, NULL, &maxLoc)Eigen需要分开调用&#xff0c;OpenCV一次获取最小值mat.minCoeff(&row, &col)cv::minMaxLoc(mat, &minVal, NU…

echarts之双折线渐变图

vue3echarts实现双折线渐变图 echarts中文官网&#xff1a;https://echarts.apache.org/examples/zh/index.html 效果图展示&#xff1a; 整体代码如下&#xff1a; <template><div id"lineChart" style"width:100%;height:400px;"></di…

MD编辑器推荐【Obsidian】含下载安装和实用教程

为什么推荐 Obsidian &#xff1f; 免费 &#xff08;Typora 开始收费了&#xff09;Typora 实现的功能&#xff0c;它都有&#xff01;代码块可一键复制 文件目录支持文件夹 大纲支持折叠、搜索 特色功能 – 白板 特色功能 – 关系图谱 下载 https://pan.baidu.com/s/1I1fSly…

vue 鼠标经过时显示/隐藏其他元素

方式一&#xff1a; 使用纯css方式 , :hover是可以控制其他元素 1、 当两个元素是父子关系 <div class"all_" ><div> <i class"iconfont icon-sun sun"></i></div> </div> .all_{} .sun {display: none; /* 默认…

静态网站部署:如何通过GitHub免费部署一个静态网站

GitHub提供的免费静态网站托管服务可以无需担心昂贵的服务器费用和复杂的设置步骤&#xff0c;本篇文章中将一步步解如何通过GitHub免费部署一个静态网站&#xff0c;帮助大家将创意和作品快速展现给世界。 目录 了解基础情况 创建基础站点 在线调试站点 前端项目部署 部署…

Pytorch里面多任务Loss是加起来还是分别backward? | Pytorch | 深度学习

当你在深度学习中进入“多任务学习(Multi-task Learning)”的领域,第一道关卡可能不是设计网络结构,也不是准备数据集,而是:多个Loss到底是加起来一起backward,还是分别backward? 这个问题看似简单,却涉及PyTorch计算图的构建逻辑、自动求导机制、内存管理、任务耦合…

基于DPABI提取nii文件模板的中心点坐标

基于DPABI提取nii文件模板的中心点坐标 在使用DPABI&#xff08;Data Processing Assistant for Resting-State fMRI&#xff09;处理NIfTI&#xff08;.nii&#xff09;文件时&#xff0c;可以通过以下步骤提取模板中每个坐标点的中心点坐标&#xff1a;https://wenku.csdn.n…

redis 基本命令-17 (KEYS、EXISTS、TYPE、TTL)

Redis 基本命令&#xff1a;KEYS、EXISTS、TYPE、TTL Redis 提供了一套基本命令&#xff0c;这些命令对于管理密钥和了解数据库中存储的数据至关重要。这些命令虽然简单&#xff0c;但提供了对 Redis 实例的结构和状态的重要见解。具体来说&#xff0c;KEYS、EXISTS、TYPE 和 …