首页
学习
活动
专区
圈层
工具
发布

音视频封装格式之TS(一)

PID值表 同时解析 ts 流要 先找到 PAT 表,只要找到 PAT 就可以找到 PMT,然后就可以找到⾳视频流了。...PAT 表的和 PMT 表需 要定期插⼊ ts 流,因为⽤户随时可能加⼊ ts 流,这个间隔⽐较⼩,通常每隔⼏个视频帧就要加⼊ PAT 和 PMT。...PAT 和 PMT 表是必须的,还可以加⼊其它表如 SDT(业务描述表)等,不过 hls 流只要有 PAT 和 PMT 就可以播放了。 PAT 表:主要的作⽤就是指明了 PMT 表的 PID 值。...4、什么是PAT、PAM表: PAT表(Program Association Table,节目关联表) PMT表 (Program Map Table,节目映射表) 这里我们先来看PAT表,首先PAT...PAT表主要包含频道号码和每一个频道对应的PMT的PID号码,这些信息我们在处理PAT表格的时候会保存起来,以后会使用到这些数据。

2.6K20

音视频基础之复合流解析:TS流格式的讲解

在音视频中,TS流(全称是:MPEG2-TS)是一种常用的复合流(目前属于最常见的复合流)。...) 2.2.Transport stream层的讲解: TS层的大小固定在188个字节,并且TS内部也分成三个部分:分别是TS Header、Adaptation Field、Payload。...TS头部的结构: Adaption的结构: Transport stream层的主要内容包括了:PAT表、PMT表、音频流、视频流。PAT表的主要功能是通过PMT找到对应的音视频流。...PAT表的PID值一般为0,而PAT和PMT需要不定时插入TS流。...所以,我们总结一下PAT表、PMT表的具体作用: PAT表:最主要功能是通过此表找到PAT表的PID值,下面这个是PAT表的内容 PMT表:最主要功能是找到音视频的PID值,下面是PMT表的具体内容

4.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    嵌入式音视频之封装格式ts实战开发

    完成数据的获取工作,BAT的语法解析如下: 一段TS流,必须包含PAT包、PMT包、多个音频包、多个视频包、多个PCR包、以及其他信息包。...解析TS流数据的流程:查找PID为0x0的包,解析PAT,PAT包中的program_map_PID表示PMT的PID;查找PMT,PMT包中的elementary_PID表示音视频包的PID,PMT包中的...:ISO/IEC 13818-1的2.4.4.3 Program Association Table 2、 PMT解析: 由PAT包中的program_map_PID可以确定PMT(Program Map...; // Parse PMT int Parse_PMT(unsigned char *pTSBuf, PMT_Packet *packet) { // 参考Parse_PAT()来做就行了...return 0; } PMT数据解析需要参考:ISO/IEC 13818-1的2.4.4.8 Program Map Table 3、 PES解析: 根据文档参考PAT、PMT的解析流程就能完成PES

    1.3K50

    容器格式的乐趣 第三章:MPEG-TS和Matroska

    为此,MPEG-TS中设计了两种特殊的数据包: 1. 节目关联表(PAT):PAT数据包的PID是保留的PID 0,它包含了传输流中的所有节目的PMT的PID。 2....节目映射表(PMT):一个PMT表示一个节目,并包含这个节目中的所有基本流的PID ? 图4 一个传输流中不同节目的关联 客户端使用PAT与PMT确定单一节目的步骤如下: 1....检查TS数据包,从PID 0中获取PAT 2. 从PAT中找到播放器应播放的节目的PMT-PID(在图中的示例为200) 3....获取具有相关PMT-PID的TS数据包,其中包含PMT(示例中为PID 200) 4....PMT包含所有媒体轨道的PID,这就是要播放的节目的一部分 接收传输流的客户端,首先读取它接收的第一个PAT数据包,并根据用户的选择选择要呈现的节目。

    2.3K20

    MPEG-2系统原理

    这个PID是在PAT表中描述的,比如,如果在PAT表中有0x100项的内容,那么说明所有 PID是0x100的包都是PMT表。不同的频道有不同的PMT,也就是说,一个不同的PMT代表的是一个不同频道。...下面针对解复用程序详细分析一下PAT,PMT和SDT三类表格的格式。...从以上描述可以看出,机顶盒搜索频率是随机发生的,要使每次机顶盒都能搜索到信 号,则要求TS流每隔一段时间就发送一次PAT和PMT。事实上DVB传输系统就是这么做的。...这些数据都是通过分析 PAT, PMT和SDT得到的。...第一章 节目信息(PSI) PSI由节目关联表(PAT)、条件接收表(CAT)、节目映射表(PMT)和网络信 息表(NIT)组成,这些表插入到TS中传输。

    1.4K10

    常见MPEG-TS问题指南

    通常这些问题和PAT、PMT、时间戳、音视频格式,ES是否加密等等相关,基于对业务的影响,笔者把它们分为了三类,如下图所示。...PAT 变更 在广电的MPTS直播常见,节目变更:变更后,可能造成节目缺失等 PAT/PMT 逐包情况 2....PAT描述节目无数据 节目处理异常时,可能出现。可能造成节目缺失,播放黑屏 图示 图示 6. PAT存在无节目次数 PAT打包处理错误,可能出现切台后黑屏过长,甚至无法播放 图示 7....同步字错误 数据丢失造成 数据源本身不是正常的TS数据 图示 图示 2. 流中无有效 PMT 包 数据复用时缺失PMT包 图示 图示 3. 连续计数器错误 数据丢包 (常见,不提供案例图) 4....PMT-PID 重复 广电MPTS节目中不同节目出现PMT-PID重复,可能造成播放异常。 10. PID错乱 数据源大规模异常:可能是加密等其他异常造成 图示 图示 图示 11.

    22410

    hysAnalyser --- 逐包分析MPEG-TS的功能说明

    VPS/SPS/PPS/SEI等3.PSI/SI附加信息:PAT/PMT/SDT/BAT等section 版本号,关注观察版本变化4.数据预览:包数据的十六进制格式预览5.解析结果1:TS 4个字节的包头解析...6.解析结果2:TS包头的调整字段解析7.解析结果3:PAT/PMT/SDT/BAT/NIT/EIT/RST/TDT/TOT/DIT/SIT等常用数据表的解析及呈现8.解析结果4:PES包头部数据的解析结果主界面及操作指引...数据过滤方法二:通过鼠标右键菜单,只显示指定PID数据;2.鼠标右键菜单功能主要用于显示选定PID快速定位附近关联数据(包括:相邻PAT,相邻PMT,相邻SDT,相邻PCR,相邻PTS、DTS,相邻关键帧...1.TS包头调整字段解析2.PAT(Program Association Table)解析3.PMT(Program map table)分析节目映射表4.含加密描述符的PMT5.含SCTE-35的PMTProgram...基本流程:过滤TS包的PID(PAT固定为0x0000)检查payload_unit_start_indicator定位表起始解析表头字段(table_id, section_length等)处理循环结构

    44710

    hysAnalyser --- 逐包分析使用说明(增加PID过滤)

    工具概述 hysAnalyser 是一款专业 MPEG-TS 数据分析工具,定位于 1)音视频开发和测试人员:和MEPG-TS有关开发、调试、测试辅助; 2)和MPEG-TS相关业务系统的运维人员:如数字电视...、OTT、互联网流媒体等领域,协助用户跟踪和分析查错和定位TS数据、DVB业务数据表问题,并且还可以支持定制化的MPEG-TS素材制作和转存。.../PPS/SEI等 3.PSI/SI附加信息:PAT/PMT/SDT/BAT等section 版本号,关注观察版本变化 4.数据预览:包数据的十六进制格式预览 5.解析结果1:TS 4个字节的包头解析...6.解析结果2:TS包头的调整字段解析 7.解析结果3:PAT/PMT/SDT/BAT/NIT/EIT/RST/TDT/TOT/DIT/SIT等常用数据表的解析及呈现 8.解析结果4:PES包头部数据的解析结果...数据过滤方法二:通过PID筛选; 2.2.鼠标右键菜单功能 主要用于 显示选定PID 快速定位附近关联数据(包括:相邻PAT,相邻PMT,相邻SDT,相邻PCR,相邻PTS、DTS,相邻关键帧) 同步字错误列表

    21710

    hysAnalyser --- UDP实时流分析使用指南

    注释:本文是 hysAnalyser --- 支持UDP实时TS流分析和录制功能 补充和完善。 现将 hysAnalyser 新版本(v1.2.001)发布给网友使用。...工具概述 hysAnalyser 是一款专业 MPEG-TS 数据分析工具,定位于 1)音视频开发和测试人员:和MEPG-TS有关开发、调试、测试辅助; 2)和MPEG-TS相关业务系统的运维人员:如数字电视...、OTT、互联网流媒体等领域,协助用户跟踪和分析查错和定位TS数据、DVB业务数据表问题,并且还可以支持定制化的MPEG-TS素材制作和转存。...支持主流表 PAT/PMT/NIT/CAT SDT/BAT/EIT/TDT/TOT等 2.1 PAT 2.2 PMT 2.3 NIT 2.4 SDT 2.5 BAT 2.6 EIT 软件下载 方式一 Github...导出ES功能说明 hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明

    30220

    Golang流媒体实战之七:hls拉流服务源码阅读

    文件所需的pat表和pmt表的内容 func (q *rtmp2MpegtsFilter) Push(msg base.RtmpMsg) { // q.done是个标志,一旦等于true,今后收到的消息都直接给观察者...文件的PAT,PMT格式 switch q.videoCodecId { case int(base.RtmpCodecIdAvc): q.observer.onPatPmt(mpegts.FixedFragmentHeader...、pmt包也有差别,具体定义在mpegts.go中, 上面的onPatPmt方法,对应的是lal/pkg/logic/group__core_streaming.go#OnPatPmt,展开看看...,主要是group.hlsMuxer.FeedPatPmt方法被执行了,也就是PAT和PMT被存入group.hlsMuxer对象,至于后面的group.recordMpegts.Write,那个和录制有关...文件的操作:生成TS文件名,将准备好的PAT和PMT信息写入文件,调用观察者的回调接口 func (m *Muxer) openFragment(ts uint64, discont bool) error

    1.6K20

    机顶盒知识详解_罗盘的知识与技巧

    PSI表:由PAT、CAT、PMT和NIT组成。...节目关联表(Programme Association Table-PAT):它的PID=0,从PAT中可以找出节目号(program_number)和载有此节目的节目映射表(PMT)所在TS包的PID...) ISO/IEC 13818-1 0x00 关联节目号和PMT的PID 节目映射表(PMT) ISO/IEC 13818-1 由PAT指定说明一个或多个节目组成部分的PID值 网络信息表(...PAT给出了构成传送流中各个节目业务的PMT(节目映射表)的PID(包识别符),同时,也给出了NIT(网络信息表)的PID号。...5)SDT表 SDT:对一个特定传送流中的节目业务进行描述 SDT的每一个子表都对一个特定TS流中的业务进行描述; 这些业务可能是实际TS流的一部分,也可能是其它TS流的一部分,可以通过不同的表标识符来区分

    2.8K20

    多媒体文件格式剖析:TS篇

    之前分享过M3U8格式,我们知道M3U8是有一个一个TS分片数据组成的,现在我们就要研究一下TS的格式。 ---- TS介绍 TS是一种音视频封装格式,全称为MPEG2-TS。...下图是TS文件(码流)的分层结构图: TS层 TS包大小固定为188字节,TS层分为三个部分:TS Header、Adaptation Field、Payload。...打包TS流时PAT和PMT表是没有Adaptation Field的,不够的长度直接补0xff即可。...视频流和音频流都需要加adaptation field,通常加在一个帧的第一个ts包和最后一个ts包里,中间的ts包不加。...TS 流解析流程 复用的MPEG-TS流中解析出TS包; 从TS包中获取PAT及对应的PMT; 从而获取特定节目的音视频PID; 通过PID筛选出特定音视频相关的TS包,并解析出PES; 从PES中读取到

    6K10

    hysAnalyser --- 支持UDP实时TS流分析和录制功能

    专业级深度分析,化繁为简——小白也能显专业 好处:背后是专业的DVB/MPEG-TS协议分析引擎,但呈现方式极简。...工具概述 hysAnalyser 是一款专业 MPEG-TS 数据分析工具,定位于 1)音视频开发和测试人员:和MEPG-TS有关开发、调试、测试辅助; 2)和MPEG-TS相关业务系统的运维人员:如数字电视...、OTT、互联网流媒体等领域,协助用户跟踪和分析查错和定位TS数据、DVB业务数据表问题,并且还可以支持定制化的MPEG-TS素材制作和转存。...支持主流表 PAT/PMT/NIT/CAT SDT/BAT/EIT/TDT/TOT等 2.1 PAT 2.2 PMT 2.3 NIT 2.4 SDT 2.5 BAT 2.6 EIT 软件下载 方式一 Github...导出ES功能说明 hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明

    28600

    常见视频编码格式解析

    1)PAT表   TS流中包含一个或者多个PAT表。...PAT表由PID为0x0000的TS包传送,其作用是为复用的每一路传送流提供所包含的节目和节目编号,以及对应节目的PMT的位置即PMT的TS包的PID值,同时还提供NIT的位置,即NIT的TS包的PID...Program map PID:节目映射表(PMT)的PID号,节目号为大于等于1时,对应的ID为program_map_PID。一个PAT中可以有多个program_map_PID。...2)PMT表   PMT在传送流中用于指示组成某一套节目的视频、音频和数据在传送流中的位置,即对应的TS包的PID值,以及每路节目的节目时钟参考(PCR)字段的位置。...Table id:固定为0x02,标志该表是PMT表。 Section syntax indicator:对于PMT表,设置为1。

    6K31

    字符串匹配算法_字符串模式匹配算法

    部分匹配表 部分匹配表(Partial Match Table,PMT)是KMP算法使用动态DFA匹配的核心。PMT的每一个元素值都代表着当前已匹配子串的前缀集和后缀集的交集中最长的元素。...以字符串“abababca”为例,其PMT如下图所示: 例如对子串“aba”来说,其前缀集为{a, ab},后缀集为{a, ba},交集为{a},即前后缀交集中最长的元素长度为1,因此pmt[2]为...理解了PMT后,算法步骤也就很清晰了: (1)寻找前缀后缀最长公共元素长度,构造PMT (2)根据PMT构造next数组 next数组考虑的是当前字符之前的字符串前后缀的相似度,所以通过步骤...(1)求得各个前缀后缀的公共元素的最大长度后,只要稍作变形即可:将第①步骤中求得的值整体右移一位,然后初值赋为-1,因此next数组可以直接在PMT上构造。...0, j = -1; while (i pat.size()) { if (j == -1 || pat[i] == pat[j]) {

    3.9K20

    hysAnalyser 综述 --- 一个特色 TS 流分析工具

    前言 hysAnalyser是一款 MPEG-TS 数据分析工具,定位用户主要是音视频开发领域,它是作者长期自用的一个 MPEG-TS 分析工具。...包:追踪PCR,连续计数器,加密,调整字段等信息 单个Section包 支持PAT/PMT/SDT/NIT/BAT/EIT/CAT/RST/TDT/TOT/DIT/SIT数据表解析, 可通过PID过滤和快速定位...包全量列表 2.PSI/SI过滤逐包分析:涵盖 PAT/PMT/SDT/CAT 等 3.PES起始包和PCR:主要包括PES头部解析,PCR解析,GOP头部参数探测等基本内容 4.右键菜单指南(始于 v1.0.004...节目总数: 7 +-- 节目号:101 (PMT PID=70 (0x46) 名称:央视1套) - PID:272(0x110) 视频 MPEG-2 Video \* ES PID...授权成功之后 Links 知乎-发布地址和授权说明 MPEG-1/2/4 常见MPEG-TS问题 AVS工作组 腾讯云MPEG-TS流分析专栏 hysAnalyser从MPEG-TS导出ES功能说明 hysAnalyser

    1.7K00
    领券