一种基于规则模型的音视频流解封装方法和系统技术方案

技术编号:33427182 阅读:15 留言:0更新日期:2022-05-19 00:18
一种基于规则模型的音视频流解封装方法和系统,其中的方法包括:获取音视频流的第一个音视频数据包;从预先设置的规则模型库中逐个读取规则模型,与第一个音视频数据包进行匹配,直至获得与第一个音视频数据包相匹配的规则模型或遍历完整个规则模型库为止;每个规则模型对应一种音视频的封装方式,规则模型中包括一条或多条特征规则;当获得相匹配的规则模型时,则确定该音视频流的封装方式为所匹配的规则模型对应的封装方式,从而能够快速确定音视频封装方式,采用该封装方式对应的解封装方式对音视频流进行解封装,进而极大地缩短了音视频解封装的时间。视频解封装的时间。视频解封装的时间。

【技术实现步骤摘要】
一种基于规则模型的音视频流解封装方法和系统


[0001]本专利技术涉及音视频播控
,具体涉及一种基于规则模型的音视频流解封装方法和系统。

技术介绍

[0002]随着视频监控技术的快速发展,音视频从采集、编码、传输到解码涉及的相关技术越来越成熟,为了保证音视频通过网络传输时数据的正确性,以及满足音视频多路复用的需求,产生了各种各样的音视频封装方式,当前主要封装和解封装方式有PS(Program Stream,节目流)、TS(Transport Stream,传输流)、FLV(flash video)、FU

A(基于RTP的分组方式)及厂家私有方式等。音视频流通过封装技术可实现多源、多路复用,同时保障了音视频数据在传输时的正确性和完整性。但是由于音视频封装方式不同,导致播放器或者应用系统必须针对每种封装方式,实现不同的解封装方式,而在公共安全视频监控领域,监控平台需要对各类音视频源进行接入、解封装、解码和播放,由于各个音视频源封装方式存在差异,甚至同一音视频源也可能临时更改封装方式,如果平台不能根据实时接收的音视频数据,自动快速地匹配正确的解封装方式,可能导致音视频播放延时较大,甚至无法正常播放。针对此类问题,当前主要的解决方案是音视频的解封装模块集成尽可能多的解封装库,接入音视频时根据音视频数据去遍历调用解封装库,进行解封装操作,如果解封装成功,就认为当前音视频源的解封装方式为此解封装方式,对此音视频源后续音视频帧都按照此解封装方式进行解封装,但是此种方案普遍性能较低,音视频流第一次解封装时耗时较长,导致音视频播放延时较大。

技术实现思路

[0003]本专利技术提供一种基于规则模型的音视频流解封装方法和系统,主要解决现有音视频流解封装方式耗时长的技术问题。
[0004]根据第一方面,一种实施例中提供一种基于规则模型的音视频流解封装方法,包括:
[0005]获取音视频流,读取所述音视频流的第一个音视频数据包;
[0006]从预先设置的规则模型库中逐个读取规则模型,与所述第一个音视频数据包进行匹配,直至获得与所述第一个音视频数据包相匹配的规则模型或遍历完整个规则模型库为止;其中每个规则模型对应一种音视频的封装方式,规则模型中包括校验数据长度和一条或多条特征规则;
[0007]当获得与所述第一个音视频数据包相匹配的规则模型时,则获取该规则模型对应的封装方式,采用该封装方式对应的解封装方式对所述音视频流的后续音视频包进行解封装。
[0008]一种实施例中,所述校验数据长度指校验封装方式所需的所述第一个音视频数据包从头部开始的数据长度,所述特征规则表征在规则模型对应的封装方式下,音视频流的
封装包头所需符合的条件。
[0009]一种实施例中,当采用某一规则模型进行匹配时,判断所述第一个音视频数据包中长度为该规则模型的校验数据长度的数据,是否符合该规则模型中的特征规则,根据所有特征规则的判断结果判断该规则模型是否与所述第一个音视频数据包相匹配。
[0010]一种实施例中,所述特征规则包括特征名称、数据定位信息、关系运算符和校验值,其中数据定位信息包括起始位置、结束位置和数据类型;对于每一条特征规则,取所述第一个音视频数据包中从所述起始位置到所述结束位置处的数据,采用与所述数据类型对应的比较方式,将该数据与所述校验值进行比较,若两者的关系与所述关系运算符所表示的关系相同,则判定所述第一个音视频数据包符合该特征规则,否则判定所述第一个音视频数据包不符合该特征规则。
[0011]一种实施例中,所述规则模型还包括特征规则间的逻辑运算符,所述根据所有特征规则的判断结果判断该规则模型是否与所述第一个音视频数据包相匹配,包括:
[0012]将所有特征规则的判断结果按该规则模型中特征规则间的逻辑运算符进行逻辑运算,当逻辑运算结果为真时则判定该规则模型与所述第一个音视频数据包相匹配,否则判定该规则模型与所述第一个音视频数据包不匹配。
[0013]一种实施例中,所述将所有特征规则的判断结果按该规则模型中特征规则间的逻辑运算符进行逻辑运算,当逻辑运算结果为真时则判定该规则模型与所述第一个音视频数据包相匹配,否则判定该规则模型与所述第一个音视频数据包不匹配,包括:
[0014]根据特征规则构建特征判定表达式用于表示特征规则的判断结果;
[0015]根据该规则模型中特征规则间的逻辑运算符将所有特征判定表达式组合成匹配判定表达式,当匹配判定表达式的运算结果为真时则判定该规则模型与所述第一个音视频数据包相匹配,否则判定该规则模型与所述第一个音视频数据包不匹配;其中所述特征判定表达式和所述匹配判定表达式均为一布尔表达式。
[0016]一种实施例中,所述音视频流解封装方法还包括:当遍历完整个规则模型库仍未获得与所述第一个音视频数据包相匹配的规则模型时,则判定所述音视频流的封装方式不被支持。
[0017]一种实施例中,所述音视频流解封装方法还包括:响应于用户操作对所述规则模型库中的规则模型进行添加、删除和修改。
[0018]根据第二方面,一种实施例中提供一种基于规则模型的音视频流解封装系统,包括:
[0019]音视频源接入模块,用于获取音视频流;
[0020]规则模型库,用于存储规则模型,其中每个规则模型对应一种音视频的封装方式,规则模型中包括校验数据长度和一条或多条特征规则,所述校验数据长度指校验封装方式所需的所述第一个音视频数据包从头部开始的数据长度,所述特征规则表征在规则模型对应的封装方式下,音视频流的封装包头所需符合的条件;
[0021]规则模型匹配模块,与所述音视频接入模块和所述规则模型库连接,用于读取所述音视频流的第一个音视频数据包,从所述规则模型库中逐个读取规则模型,与所述第一个音视频数据包进行匹配,直至获得与所述第一个音视频数据包相匹配的规则模型或遍历完整个规则模型库为止;当获得与所述第一个音视频数据包相匹配的规则模型时,则获取
该规则模型对应的封装方式,并发送该封装方式对应的解封装方式,当遍历完整个规则模型库仍未获得与所述第一个音视频数据包相匹配的规则模型时,则判定所述音视频流的封装方式不被支持;其中,当采用某一规则模型进行匹配时,判断所述第一个音视频数据包中长度为该规则模型的校验数据长度的数据,是否符合该规则模型中的特征规则,根据所有特征规则的判断结果判断该规则模型是否与所述第一个音视频数据包相匹配;
[0022]解封装模块,与所述规则模型匹配模块连接,用于接收所述规则模型匹配模块发送的解封装方式,并调用相应的解封装库对所述音视频流后续的音视频包进行解封装。
[0023]根据第三方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现如上述第一方面所述的音视频流解封装方法。
[0024]依据上述实施例的基于规则模型的音视频流解封装方法和系统,通过为音视频的封装方式事先构建对应的规则模型并保存在规则模型库中,规则模型中包括校本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于规则模型的音视频流解封装方法,其特征在于,包括:获取音视频流,读取所述音视频流的第一个音视频数据包;从预先设置的规则模型库中逐个读取规则模型,与所述第一个音视频数据包进行匹配,直至获得与所述第一个音视频数据包相匹配的规则模型或遍历完整个规则模型库为止;其中每个规则模型对应一种音视频的封装方式,规则模型中包括校验数据长度和一条或多条特征规则;当获得与所述第一个音视频数据包相匹配的规则模型时,则获取该规则模型对应的封装方式,采用该封装方式对应的解封装方式对所述音视频流的后续音视频包进行解封装。2.如权利要求1所述的音视频流解封装方法,其特征在于,所述校验数据长度指校验封装方式所需的所述第一个音视频数据包从头部开始的数据长度,所述特征规则表征在规则模型对应的封装方式下,音视频流的封装包头所需符合的条件。3.如权利要求2所述的音视频流解封装方法,其特征在于,当采用某一规则模型进行匹配时,判断所述第一个音视频数据包中长度为该规则模型的校验数据长度的数据,是否符合该规则模型中的特征规则,根据所有特征规则的判断结果判断该规则模型是否与所述第一个音视频数据包相匹配。4.如权利要求2所述的音视频流解封装方法,其特征在于,所述特征规则包括特征名称、数据定位信息、关系运算符和校验值,其中数据定位信息包括起始位置、结束位置和数据类型;对于每一条特征规则,取所述第一个音视频数据包中从所述起始位置到所述结束位置处的数据,采用与所述数据类型对应的比较方式,将该数据与所述校验值进行比较,若两者的关系与所述关系运算符所表示的关系相同,则判定所述第一个音视频数据包符合该特征规则,否则判定所述第一个音视频数据包不符合该特征规则。5.如权利要求4所述的音视频流解封装方法,其特征在于,所述规则模型还包括特征规则间的逻辑运算符,所述根据所有特征规则的判断结果判断该规则模型是否与所述第一个音视频数据包相匹配,包括:将所有特征规则的判断结果按该规则模型中特征规则间的逻辑运算符进行逻辑运算,当逻辑运算结果为真时则判定该规则模型与所述第一个音视频数据包相匹配,否则判定该规则模型与所述第一个音视频数据包不匹配。6.如权利要求5所述的音视频流解封装方法,其特征在于,所述将所有特征规则的判断结果按该规则模型中特征规则间的逻辑运算符进行逻辑运算,当逻辑运算结果为真时则判定该规则模型与所述第一个音视频数据包相匹配,否则判定该规则模型与所述第一个音视频数据包不匹配...

【专利技术属性】
技术研发人员:汪德暖员晓毅孔令娜
申请(专利权)人:上海迥灵信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1