一种TS流快速识别方法及装置与流程

文档序号:16130834发布日期:2018-12-01 00:18阅读:840来源:国知局

本发明涉及音视频流处理方法,尤其涉及一种基于wifidongle的媒体播放器快速获取节目ts流进行播放的方法及系统。

背景技术

在任何解码器解码前,player中的解码模组单元都需要先读入一段码流数据进行分析,获取当前节目的解码参数,如音视频格式、码率、帧率、声道数、采样率等等才能进行解码输出。

以基于wifidongle的直播节目播放为例,现有技术的步骤为:

1.搜索节目,并显示节目列表;

2.用户从节目列表中选择节目进行播放;

3.player与wifidongle进行交互,wifidongle将选中节目的相关es流传输给player;

4.player的解码器模组读入原始ts数据流进行分析,获取解码参数;

5.解码模块进行解码,并渲染输出。

该现有技术存在以下三个问题:

1.由于ts流是多节目复合流,即一个ts传输流中包括一个或多个节目流,psi表中也即包含对所有节目的描述,而对于解码模块单元,输入当前的av节目流的同时还要输入psi表信息,此时psi中非当前播放节目的信息会对解码模块造成解析识别上的干扰,延迟了解码识别或者识别不到问题。

2.由于直播节目,节目切换时新旧节目流的过度,如果上一节目的残余码流输入到解码模组,则同样会对解码器造成解析干扰。导致节目解析大大延迟或出错不能播放等问题。

3.用于解析解码参数的码流数据缓存区大小有限制,对于高码率的节目来说,并不一定能够从第一批数据中获取到解码参数,可能导致节目不能播放的问题。

涉及的名词解释:

dvb:数字视频广播;

wifidongle:一种接收直播电视,并将其通过wifi通道传输出去的硬件设备;

player:流媒体播放器;

ui:用户操作界面;

psi:节目专用信息,用于规定不同节目和节目中的不同成分如何复用成一个统一的码流;

pid:在数字电视复用系统中它的作用好比一份文件的文件名,我们可以称它为“标志码传输包”。

nit:网络信息表,该表的pid是由pat提供指出的。nit主要是对多路传输流的识别,nit提供多路传输流,物理网络及网络传输的相关的一些信息,如用于调谐的频率信息以及编码方式,调制方式等参数方面的信息。

sdt:用于描述系统中各路节目的名称,该节目的提供者,是否有相应的时间描述表等方面的信息。

pmt:节目映射表,该表是由pat提供指出的。通过该表可以得到节目中包含的信息,例如,该路节目由哪些流构成和这些流的类型(视频,音频,数据),指定节目中各流对应的pid。

es:基本单元节目流,只包含一种内容的数据流,如只含视频或只含音频;

ca_pmt:wifidongle用来从ts流中获取单节目流所需要的表;

tuner:协调器,锁定一个频率的频点,即接受特定频率的数字电视信号;

demodulator:解调器,用于将tuner锁定的频点上的信号码流解出标准流;

demux:解复用,ts流是多节目复用流,解复用可以将ts流分离单节目音视频流;

decoder:解码器,将压缩的数字音视频帧数据解码还原成原始的视频图像及音频序列。



技术实现要素:

本发明为了解决上述现有技术中的问题,提出一种ts流快速识别方法,包括:

步骤1,启动播放器,搜索节目,并将搜索到的节目生成节目列表;

步骤2,用户选择想要观看的节目;

步骤3,播放器将所选节目的码流信息发送给适配器;

步骤4,播放器从适配器获取相应的节目流;

步骤5,依次对获取到的节目流的数据包执行缓存过滤处理,实时过滤获取当前节目播放信息表,剔除非当前节目的信息,重新计算校正psi/si,并实时插入节目流中;实时过滤获取当前节目的音视频码流,剔除非当前节目的音视频码流,将数据包按照过滤的顺序加入至播放器的缓存中;

步骤6,将缓存数据发送给解码模块,返回步骤4继续获取并缓存下一段数据,同时执行步骤7;

步骤7,所述解码模块接收缓存数据并分析,获取节目的解码参数;

步骤8,如果分析失败,丢弃当前数据,则返回步骤5取下一段缓存数据重新进行分析;如果分析成功,解码并播放节目。

本发明还提出了一种ts流快速识别装置,包括:码流接收模块,接收音视频码流;过滤模块,用于实时过滤获取当前节目播放信息表,剔除非当前节目的信息,重新计算校正psi/si,并实时插入节目流中;实时过滤获取当前节目的音视频码流,剔除非当前节目的音视频码流,将数据包按照过滤的顺序加入至播放器的缓存中;解码模块,将缓存中的码流进行解码并发送给显示屏播放显示;命令控制模块,在播放器与适配器之间进行命令交互。

本发明通过对音视频码流的预分析以及预处理,剔除与当前节目无关的干扰信息或数据,调整改造数据信息,使得解码模块单元可以精准快速的解析解码识别过程,从而缩短节目的起播时间,达到快速输出节目画面的目的。同时,增加分析解码参数的重试机制,降低解析出错的概率,确保player能够将节目码流准确解码输出。

附图说明

图1为本发明的流程图;

图2为本发明的缓存处理流程图;

图3为本发明的系统框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细、完整地说明。

如图1所示,本发明提出的ts流快速识别方法,包括:

启动播放器,用户选择自动或手动搜索节目,并将搜索到的节目生成节目列表,同时,播放器会将节目列表及相关信息存入数据库;

用户从节目列表中,选择想要观看的节目;

播放器将所选节目的码流信息发送给适配器wifidongle;

播放器从适配器获取相应的节目流;

然后播放器开始过滤接收psi和节目音视频相关的码流数据,即依次对获取到的节目流的数据包执行缓存过滤处理,实时过滤获取当前节目播放信息表,剔除非当前节目的信息,重新计算校正psi/si,并实时插入节目流中;实时过滤获取当前节目的音视频码流,剔除非当前节目的音视频码流,将数据包按照过滤的顺序加入至播放器的缓存中;

如图2所示,其具体的处理步骤为:判断播放器收到的数据包是否是sdt或者pat;如果是sdt或者pat,则对其进行改造,删除表中非当前节目的信息并重新计算crc,使之成为一个描述单节目码流的表;用改造后sdt/pat替换码流中原始的sdt/pat,确保其位置与间隔与原始的sdt/pat的位置和间隔完全一致;如果播放器收到的数据包不是sdt或者pat,继续判断它是否是pmt;如果该数据包是pmt,则判断该pmt是否对应当前节目;若数据包为pmt但并不属于用户所选节目,则丢掉该数据包;确定数据包为当前节目的pmt,对其进行改造,去除其非es相关的描述符;使用改造的pmt将替换码流中原始的pmt,确保其位置与间隔与原始的pmt保持一致;如果播放器收到的数据包不是psi表,则判断该ts包是否是用户所选的音视频码流,若不是则将该数据包丢掉;

将数据包按照过滤到的顺序加入到播放器的缓存中;

在缓存的开始位置再次加入改造后的sdt,pat,pmt表,便于之后解码模块能够快速解析出解码参数,这个步骤在所选节目的缓存数据第一次分析成功之前,都会执行一遍再发送给解码模块,用来提升快速解码的成功率;

然后将缓存数据发给解码模块,然后继续进行下一批数据的缓存过滤处理,该缓存过滤处理是持续不间断进行的,之后解码的过程中,也会有新的数据不断被处理后缓存;

解码模块对缓存数据进行分析,获取节目的解码参数;

如果分析失败,则取下一段码流数据重新进行分析;

如果分析解码参数成功,则进行解码播放节目。

图3展示的是适配器(wifidongle)与移动终端(例如手机)的交互框图,左侧为适配器的相关框图,协调器和解调器用于锁频并接收dvb直播节目的码流并解调,并将解调后的码流发给解扰器。智能卡和解扰器用于解扰加密节目,通过运营商提供的智能卡进行解密。wifi模块搭建了一套服务器与客户端,通过wifi模块将用户选择的节目的码流传输给移动终端。

右侧则是移动终端中相关部分的框图,移动终端具有wifi模块和显示屏,并且还包含了本发明所提出的ts流快速识别装置(图中虚线部分),其中码流接收模块通过wifi模块接收节目码流。过滤模块用于实时过滤获取当前节目播放信息表,剔除非当前节目的信息,重新计算校正psi/si,并实时插入节目流中;同时实时过滤获取当前节目的音视频码流,剔除非当前节目的音视频码流,将数据包按照过滤的顺序加入至播放器的缓存中。解码模块用于将缓存中的码流进行分析、解码并发送给显示屏播放显示。命令控制模块在播放器与适配器之间进行命令交互。

通过上述技术方案,本发明实现了对当前播放的音视频码流进行检测识别,剔除非正常节目数据信息;通过psi/si实时节目信息表监控处理单元来实时过滤获取当前节目播放信息表,剔除干扰信息,重新计算校正psi/si,并实时插入节目流中;同时采用了psi/si表预处理及burst技术,即在av节目流推送到解码模块前,首先附加解析所需必要的psi/si信息,促进解码模块加快识别解析,缩短起播时间。而且,当前读入数据无法解析出解码参数时,重新读入一段码流数据进行重试解析,具备完善的纠错机制。

经过实验比较,现有技术方案分析解码参数时间长达800毫秒,而使用本发明的技术方案,可将该过程稳定缩短至400毫秒;而且现有技术方案对于psi压力过大或者清晰度/码率较高的节目,可能会出现节目无法起播的现象,使用本发明的技术方案,则可大大减少此问题的发生。

应当理解的是,上述针对具体实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1