一种无线集群系统的音视频媒体流合流方法及系统转让专利

申请号 : CN201910723600.3

文献号 : CN110519635A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵志龙刘东陈红保李勇王艳超蒋国华孙敬伟李士东邹明李亚明张军山

申请人 : 河北远东通信系统工程有限公司

摘要 :

本发明涉及一种无线集群系统的音视频媒体流合流方法及系统,用于无线集群系统,包括以下步骤:处理无线集群系统发送来的信令,并解析为本系统内部信令;接收视频媒体流和音频媒体流,其中,将音频帧数据去除媒体信息头进行缓存,同时,从H264视频流中提取关键帧,去除视频信息头,首先将视频包发送出去,再发送缓存的音频;循环接收音视频频媒体流,比较音视频帧时间戳,哪个小就写入哪个,时间戳相等时写入音频帧,其中,以音频帧作为音视频同步的起点,根据编码后的音频帧的显示时间戳和音频帧的持续时长计算下一帧音频的时间戳;视频帧以实际帧间距作为时间戳累加参数来计算该视频帧的显示时间、解码时间和持续长,并计算下一帧的时间戳;若输出为文件形态,则生成音视频同步的视频文件,保存在文件系统中,若输出为实时流形态,则将合流后的音视频同步数据推流到指定的服务器进行直播。本发明有着良好的扩展性和稳定性。

权利要求 :

1.一种无线集群系统的音视频媒体流合流方法,其特征在于,包括以下步骤:

(1)接收无线集群系统发送的信令,从信令中解析出音频媒体流和视频媒体流传送的地址端口以及最终输出的媒体流格式;

(2)从相应的地址端口循环接收音频媒体流和视频媒体流,将音频媒体流去除音频信息头,将视频媒体流的提取到第一个视频关键帧后去除视频信息头;

(3)根据音频媒体流的格式选择对应的音频解码器和音频编码器,对音频媒体流逐帧进行解码和编码,得出音频帧的显示时间戳和音频帧的持续时长,并预测出下一帧音频的时间戳;对视频媒体流,逐帧计算视频帧的显示时间、解码时间和持续时长,并预测出下一帧视频的时间戳;

(4)根据最终输出的媒体流格式选择编码器,以音频帧作为音视频同步的起点写入编码器,比较预测出的音频帧和视频帧的时间戳,将时间戳小的写入编码器,时间戳相等时写入音频帧,利用编码器对音频和视频进行编码,生成视频文件或实时推流。

2.根据权利要求1所述的一种无线集群系统的音视频媒体流合流方法,其特征在于,步骤(3)中对视频媒体流,计算视频帧的显示时间、解码时间和持续时长,并预测出下一帧视频的时间戳,具体为:在收到音频帧时,获取当前的时间作为T1,收到视频帧时,获取当前时间T2,将T2与T1的差值作为视频帧实际帧间距,根据视频媒体流的视频帧率计算出标准视频帧间距,对小于标准视频间距的视频帧按照标准帧间距计算该视频帧的显示时间、解码时间和持续长,并预测出下一帧视频的时间戳,用来与音频预测时间戳对比进行同步,对于视频帧间距大于标准帧间距的视频帧,以实际帧间距作为时间戳累加参数来计算该视频帧的显示时间、解码时间和持续长,并预测下一帧视频的时间戳,用来与音频预测时间戳对比进行同步。

3.一种无线集群系统的音视频媒体流合流系统,其特征在于,包括集群信令处理模块、媒体流接收模块和合流模块;

集群信令处理模块用于接收无线集群系统发送的信令,并解析为系统内部信令,发送给媒体流处理模块;

媒体流接收模块用于将接收到的信令解析出音频媒体流和视频媒体流传送的地址端口以及最终输出的媒体流格式,将信令重组后发送给合流模块;并从相应的地址端口循环接收音频媒体流和视频媒体流,将音频媒体流去除音频信息头后进行缓存,将视频媒体流的提取到第一个视频关键帧后去除视频信息头,将去除视频信息头后的视频流发送给合流模块后再将去除音频信息头后的音频媒体流发送给合流模块;

合流模块用于根据信令中最终输出的媒体流格式选择编码器;并根据音频媒体流的格式查找对应的音频解码器和音频编码器,对音频媒体流逐帧进行解码和编码,得出编码后音频帧的显示时间戳和音频帧的持续时长,并预测出下一帧音频的时间戳;还用于在收到音频数据时,获取当前的时间作为T1,收到视频帧时,获取当前时间T2,将T2与T1的差值作为视频帧实际帧间距,将视频媒体流根据视频帧率计算出标准视频帧间距,对于小于标准视频帧间距的视频帧按照标准帧间距计算该视频帧的显示时间、解码时间和持续长,并预测出下一帧的时间戳,对于视频帧间距大于标准视频帧间距的视频帧,以实际帧间距作为时间戳累加参数来计算该视频帧的显示时间、解码时间和持续长,并预测下一帧视频的时间戳;还用于以音频帧作为音视频同步的起点写入编码器,然后比较预测的音频帧和视频帧的时间戳,将时间戳小的写入编码器,时间戳相等时写入音频帧,利用编码器对音频和视频进行编码,生成视频文件或实时推流。

说明书 :

一种无线集群系统的音视频媒体流合流方法及系统

技术领域

[0001] 本发明属于无线通信技术领域,尤其涉及一种音视频媒体处理方法及系统。

背景技术

[0002] 现代无线集群系统分为宽带无线集群系统和窄带无线集群系统,宽带无线集群系统中包含对终端视频和音频的处理,窄带无线集群系统只包括对音频媒体的处理,媒体信息通过网络进行传输。
[0003] 在现有宽带无线集群系统媒体处理技术中,通常是将音频流和H264视频流(以下简称视频流)分别接收并生成音频文件和视频文件,然后视频文件进行丢帧或者插帧的处理后再与音频文件合并为一个视频文件,实现文件的音视频同步,但是这样的步骤比较复杂且无实时性可言.
[0004] 但是,上述方法无法实现将音频流和视频流实时编解码合流为一个视频文件并实时推流。

发明内容

[0005] 本发明所要解决的技术问题是:针对宽带无线集群系统通信系统中视频帧率不固定现象,实现了一种以视频帧间实际间隔时间作为时间戳的音视频媒体合流技术,将音频流和视频流实时进行编解码合流为一个视频文件进行存储同时进行推流。
[0006] 本发明采用的技术方案为:
[0007] 一种无线集群系统的音视频媒体流合流方法,包括以下步骤:
[0008] (1)接收无线集群系统发送的信令,从信令中解析出音频媒体流和视频媒体流传送的地址端口以及最终输出的媒体流格式;
[0009] (2)从相应的地址端口循环接收音频媒体流和视频媒体流,将音频媒体流去除音频信息头,将视频媒体流的提取到第一个视频关键帧后去除视频信息头;
[0010] (3)根据音频媒体流的格式选择对应的音频解码器和音频编码器,对音频媒体流逐帧进行解码和编码,得出音频帧的显示时间戳和音频帧的持续时长,并预测出下一帧音频的时间戳;对视频媒体流,逐帧计算视频帧的显示时间、解码时间和持续时长,并预测出下一帧视频的时间戳;
[0011] (4)根据最终输出的媒体流格式选择编码器,以音频帧作为音视频同步的起点写入编码器,比较预测出的音频帧和视频帧的时间戳,将时间戳小的写入编码器,时间戳相等时写入音频帧,利用编码器对音频和视频进行编码,生成视频文件或实时推流。
[0012] 其中,步骤(3)中对视频媒体流,计算视频帧的显示时间、解码时间和持续时长,并预测出下一帧视频的时间戳,具体为:
[0013] 在收到音频帧时,获取当前的时间作为T1,收到视频帧时,获取当前时间T2,将T2与T1的差值作为视频帧实际帧间距,根据视频媒体流的视频帧率计算出标准视频帧间距,对于小于标准视频间距的视频帧按照标准帧间距计算该视频帧的显示时间、解码时间和持续长,并预测出下一帧视频的时间戳,用来与音频预测时间戳对比进行同步,对于视频帧间距大于标准帧间距的视频帧,以实际帧间距作为时间戳累加参数来计算该视频帧的显示时间、解码时间和持续长,并预测下一帧视频的时间戳,用来与音频预测时间戳对比进行同步。
[0014] 一种无线集群系统的音视频媒体流合流系统,包括集群信令处理模块、媒体流接收模块和合流模块;
[0015] 集群信令处理模块用于接收无线集群系统发送的信令,并解析为系统内部信令,发送给媒体流处理模块;
[0016] 媒体流接收模块用于将接收到的信令解析出音频媒体流和视频媒体流传送的地址端口以及最终输出的媒体流格式,将信令重组后发送给合流模块;并从相应的地址端口循环接收音频媒体流和视频媒体流,将音频媒体流去除音频信息头后进行缓存,将视频媒体流的提取到第一个视频关键帧后去除视频信息头,将去除视频信息头后的视频流发送给合流模块后再将去除音频信息头后的音频媒体流发送给合流模块;
[0017] 合流模块用于根据信令中最终输出的媒体流格式选择编码器;并根据音频媒体流的格式查找对应的音频解码器和音频编码器,对音频媒体流逐帧进行解码和编码,得出编码后音频帧的显示时间戳和音频帧的持续时长,并预测出下一帧音频的时间戳;还用于在收到音频数据时,获取当前的时间作为T1,收到视频帧时,获取当前时间T2,将T2与T1的差值作为视频帧实际帧间距,将视频媒体流根据视频帧率计算出标准视频帧间距,对于小于标准视频间距的视频帧按照标准帧间距计算该视频帧的显示时间、解码时间和持续长,并预测出下一帧的时间戳,对于视频帧间距大于标准帧间距的视频帧,以实际帧间距作为时间戳累加参数来计算该视频帧的显示时间、解码时间和持续长,并预测下一帧视频的时间戳;还用于以音频帧作为音视频同步的起点写入编码器,然后比较预测的音频帧和视频帧的时间戳,将时间戳小的写入编码器,时间戳相等时写入音频帧,利用编码器对音频和视频进行编码,生成视频文件或实时推流。
[0018] 本发明与现有技术相比具有以下优点:
[0019] 1.本发明的音视频合流方法选取音频初始帧作为音视频同步起点,根据音频实际帧间距作为参数来计算下一帧音频的时间戳;
[0020] 2.本发明的音视频合流方法针对视频帧率不固定的情况下,选取根据视频帧的实际帧间距作为参数来计算下一帧视频的时间戳,根据视频时间戳音频时间戳比较达到音视频同步;
[0021] 3.本发明的音视频合流方法根据不同的信令,可生成视频文件也可以实时推流。

附图说明

[0022] 图1是本发明的音视频合流方法步骤图;
[0023] 图2是本发明的音视频合流系统框图。

具体实施方式

[0024] 下面结合附图和实施例,对本发明的具体实施方式做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0025] 图1是本发明的音视频合流的步骤图,参见图1,本发明提供的音视频合流方法,用于无线集群系统,包括以下步骤:
[0026] (1)接收无线集群系统发送的信令,从信令中解析出音频媒体流和视频媒体流传送的地址端口以及最终输出的媒体流格式;
[0027] 具体的,将不同的无线集群系统发来的信令,进行处理,判断最终输出是文件还是实时推流,若为实时推流,分配相关URL地址,将信令重组为系统内部信令;
[0028] (2)根据解析内容发送信令给合流模块并建立相应的媒体流处理过程,分别接收视频媒体流和音频媒体流。
[0029] 具体的,收到开始信令,从相应的地址端口循环接收音频媒体流和H264视频媒体流,将音频媒体流去除音频信息头,将H264视频媒体流的提取到第一个视频关键帧后去除视频信息头;
[0030] (3)根据音频媒体流的格式选择对应的音频解码器和音频编码器,对音频媒体流逐帧进行解码和编码,得出音频帧的显示时间戳和音频帧的持续时长,并预测出下一帧音频的时间戳;在收到音频帧时,获取当前的时间作为T1,收到视频帧时,获取当前时间T2,将T2与T1的差值作为视频帧实际帧间距,根据H264视频媒体流的视频帧率计算出标准视频帧间距,对小于标准视频间距的视频帧按照标准帧间距计算该视频帧的显示时间、解码时间和持续长,并预测出下一帧视频的时间戳,用来与音频预测时间戳对比进行同步,对于视频帧间距大于标准帧间距的视频帧,以实际帧间距作为时间戳累加参数来计算该视频帧的显示时间、解码时间和持续长,并预测下一帧视频的时间戳,用来与音频预测时间戳对比进行同步。
[0031] (4)根据最终输出的媒体流格式选择编码器,以音频帧作为音视频同步的起点写入编码器,比较预测出的音频帧和视频帧的时间戳,将时间戳小的写入编码器,时间戳相等时写入音频帧,利用编码器对音频和视频进行编码,生成视频文件或实时推流。
[0032] 图2是本发明的音视频合流系统框图,参见图2,本发明提供的音视频合流系统,用于无线集群系统,包括:集群信令处理模块、媒体流接收模块和合流模块;
[0033] 集群信令处理模块用于接收无线集群系统发送的信令,并解析为系统内部信令,发送给媒体流处理模块;
[0034] 媒体流接收模块用于将接收到的信令解析出音频媒体流和视频媒体流传送的地址端口以及最终输出的媒体流格式,将信令重组后发送给合流模块;并从相应的地址端口循环接收音频媒体流H264视频媒体流,将音频媒体流去除音频信息头后进行缓存,直到提取到第一个视频关键帧;接收视频流,并提取出H264视频流的第一个关键帧,若没有提取成功则重新从H264视频流中提取关键帧,直到成功,视频媒体流的提取到第一个视频关键帧后去除视频信息头,将去除视频信息头后的H264视频流发送给合流模块后再将去除音频信息头后的音频媒体流发送给合流模块;后面的H264视频媒体流数据不再提取关键帧,只去除视频信息头,将原始数据发送给合流模块。
[0035] 合流模块,收到开始信令后,解析信令中信息,根据输出文件或实时推流开启合流线程,合流线程根据输出格式查找相应的编码器和根据音频的格式找到合适的音频解码器,然后开始音视频流的合流处理。
[0036] 具体的,合流模块,用于根据信令中最终输出的媒体流格式选择编码器;并根据音频媒体流的格式查找对应的音频解码器和音频编码器,对音频媒体流逐帧进行解码和编码,得出编码后音频帧的显示时间戳和音频帧的持续时长,并预测出下一帧音频的时间戳;
[0037] 合流模块在收到音频数据时,获取当前的时间作为T1,收到视频帧时,获取当前时间T2,将T2与T1的差值作为视频帧实际帧间距,根据无线集群系统中视频传输的特殊性,前几十帧视频帧间距会比标准视频帧间距小的多,而音频数据传输均匀,将视频媒体流根据视频帧率计算出标准视频帧间距,对于小于标准视频间距的视频帧按照标准帧间距计算该视频帧的显示时间、解码时间和持续长,并预测出下一帧的时间戳,对于视频帧间距大于标准帧间距的视频帧,以实际帧间距作为时间戳累加参数来计算该视频帧的显示时间、解码时间和持续长,并预测下一帧视频的时间戳;
[0038] 还用于以音频帧作为音视频同步的起点写入编码器,然后比较预测的音频帧和视频帧的时间戳,将时间戳小的写入编码器,时间戳相等时写入音频帧,利用编码器对音频和视频进行编码,生成视频文件或实时推流。
[0039] 本发明的音视频合流方法选取音频初始帧作为音视频同步起点,根据音频实际帧间距作为参数来计算下一帧音频的时间戳;
[0040] 本发明的音视频合流方法针对视频帧率不固定的情况下,选取根据视频帧的实际帧间距作为参数来计算下一帧视频的时间戳,根据视频时间戳音频时间戳比较达到音视频同步;
[0041] 本发明的音视频合流方法根据不同的信令,可生成视频文件保存在文件系统中也可以实时推流。
[0042] 通过实际无线集群系统项目中的应用,上述方案已经得到验证,可以达到音视频的同步,可根据需要正常生成文件和进行实时推流直播。且本发明受国家重点研发计划资助,项目编号2017YFC0821900。
[0043] 综上所述,以上仅为本发明的较佳应用示例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。