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
繁體地址,請注明出處:http://hk.pswp.cn/web/81031.shtml
英文地址,請注明出處:http://en.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 和 …