自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小球萝卜干的博客

记录成长的脚印,为后来之人铺路

  • 博客(10)
  • 收藏
  • 关注

原创 TS码流解析-7-整合相关表,并且生成可播放文件

任务七任务描述:把前几个阶段解析出来的表整合起来,并且展示出来,输入一个存在的pid,然后导出一个ts文件,并且能够在KMP上播放步骤

2020-05-22 14:15:36 805 1

原创 回溯-记录由scanf导致的数据覆盖问题

简介在开发的过程中,我们试图通过输入16进制来获取输入的数据,但是在获取完输入的数据后,发现其他数据被莫名其妙的修改了,故做下相应的测试,来查看具体的运行过程。验证过程模拟问题场景以下为验证的代码#include <stdio.h>void main(void){ unsigned short a; unsigned int b = 0x12345678; printf("b %d\n", b); scanf("%X", &a);

2020-05-18 11:42:37 725

原创 回溯-记录运行出错,DEBUG正常的程序

前言目前正在做TS码流解析的任务,在测试的过程中,发现有的码流运行正常,有的码流运行会出错,那么很大概率上是由于自己写的程序不够完善导致的,此程序一定存在BUG。发现BUG后,习惯性的使用DEBUG进行调试,但是奇怪的是DEBUG运行却是正常的,这让我很纳闷,貌似不能通过DEBUG找出问题的地方,因为它运行正常。这种情况下,要么你就看代码,看出问题所在,要么就通过打印信息,找出问题出在了那里。后果输入-1,运行出错使用GDB,进入后敲r,然后回车,同样也是输入-1结果程序正常结束了,郁闷中…

2020-05-15 19:54:50 341

原创 TS码流解析-6-解析EIT表

任务

2020-05-13 08:46:02 1879

原创 回溯-记录由数组越界产生的BUG

前言目前正在做TS码流内容的解析,分别解析完了PAT、PMT、SDT、EIT,接下来要将它们的内容整合起来,并且按照要求输入一个存在program number,然后把对应的内容输出到一个文件中,并且能够使用播放器播放。在使用之初,并无多大问题,但是偶然输入了几个异常值,程序突然崩溃了,在进行一番检查之后,定位到是由数组越界导致修改指针的值,从而导致访问到不该访问的地址。下面来记录详细的步骤。后果程序运行界面在输入28106之后,不管输入什么值,都是出现下面的情况前因1 进入调试过程,运行一

2020-05-12 11:06:29 271

原创 TS码流解析-5-解析SDT表

任务五解析SDT表,解出相关的节目信息,主要是service_id和节目名字以及供应商的名字等相关知识SDT是服务描述表的简称,描述了业务内容及信息,连接了NIT、EIT和PMT(PSI),所谓业务也就是我们所理解的频道。SDT:PID = 0x0011TABLE_ID = 0x42 (discribe actual TS,现行TS)TABLE_ID = 0x46 (discribe...

2020-05-08 10:40:13 1896

原创 TS码流解析-4-解析PMT表

任务四根据解析PAT表的PMT_PID列表,获取所有的相关的PMT表,并且解析出包含的节目信息,主要是指音频和视频的pid。相关知识相信解码流解到这一步的人,对表的解析多多少少有一些了解,在这先放张PMT表的结构图,方便大家了解。PMT表示的是节目映射表的简称,可由PAT表查找到相应的PID,里面存储着音频、视频以及其他一些与节目相关的信息。解到这一步后,可以尝试着把音频视频的PID对应的t...

2020-05-08 09:58:31 1633

原创 TS码流解析-3-解析PAT表

任务三解析PAT表,并且获取码流里面跟节目相关的PID相关知识我们首先来查看下PAT表的结构,如下图所示在这个结构里面,我们需要关注的是program_number以及program_map_PID。我们获取到PAT的表之后,对其中的section进行解析,把我们需要的信息取出来,然后存入数据结构,这个任务就算完成了。解析过程1 流程图2 数据结构定义typedef stru...

2020-05-07 14:32:14 1100

原创 TS码流解析-2-获取完整的TABLE

任务二根据指定的table id 和 pid 获取完整的table。这是比较重要的一个环节,后面涉及到相关表的解析,都需要用到这里的函数。相关知识1.首先了解TS数据包包头的结构,在这里贴一张ts包头的结构图各字段的解释:#标识位数说明0sync_byte8 bits同步字节,固定是0x471transport_error_indicator1 b...

2020-05-07 13:58:17 2121 1

原创 TS码流解析-1-判断包长

前言最近刚入职,公司是做机顶盒业务的,首要任务是要解TS码流,特意前来记录下编写的步骤,留些脚印来证明自己从事过该行业!!!!对于什么是TS流以及其他的相关知识,我这里就不赘述了。任务一给你一个TS流的文件,让你判断该包长是188字节还是204字节。一般来说,TS码流都是由一个个TS包组成的,每个包都是以0x47开始,204字节的是在188字节的基础多了16个字节的校验码。解决Creat...

2020-05-07 09:46:22 1317

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除