c语言解析ts流文件,TS流解析

1. 介绍:​TS即是"Transport Stream"的缩写。他是分包发送的,每一个包长为188字节或者是204的字节(204字节的就是在后面添加了16字节主要用于高清解码),在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。他的包的结构为,包头为4个字节,负载为184个字节(这184个字节不一定都是有效数据,有一些可能为填充数据),废话我就不多说了,一些表的结构每个字段表示的意义在网上有很多的。我就直接讲实际的,我写的一些代码,主要解析的是PAT,SDT,PMT,EIT,NIT,TDT一些表格。(C语言)

2. 大概要实现的功能:

1)在终端显示流中所有节目的信息(节目号,解码名字,音视频ID,输入一个节目号能够保存音视频数据包,能够在播放器中播放)。(PAT,SDT,PMT表的解析)

2)输入一个节目号能够显示未来几天的信息(EIT表的解析)

3)显示NIT表中的信息

4)显示CAT表的信息(主要是ECM_PID,和EMM_PID)

5)显示系统的时间,这个是我猜的其实我也不知道是系统时间(TDT表的解析)

3. 直接上代码啊(一些介绍信息)

1)ParseTS_Length.c 文件是解析TS流的包长(188还是204),TS流的其实位置。

2)GetPidPackage.c 保存指定PID的数据包。PID我用的是一个数组存的因为保存的目的是为了保存音视频的数据包,有多个PID。数组的第一个元素存放的是PID的个数。

3)GetSection.c 得到SECTION,以为我解析的过程其实就是解析SECTION的过程,SSCTION是由一个或者多个包组成的。多个SECTION组成一个TABLE

4)Descriptor.c 描述符的解析,有各种各样的描述符。

5) ParseCAT.c  ParseEIT.c ParseNIT.c ParsePAT.c ParsePMT.c ParseTDT.c ParseSDT.c PAT,SDT,PMT,EIT,NIT,TDT,CAT表的解析。

4. 直接上源码 (测试文件太大了上次不上去你可以直接找个188或者204的都可以,在main函数中改下路径就行了,我就直接上传了代码在CSDN上 象征性的收取了1分的资源分)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值