[发明专利]一种多通道音视频同步播放处理方法有效
申请号: | 201410741040.1 | 申请日: | 2014-12-08 |
公开(公告)号: | CN104378675B | 公开(公告)日: | 2019-07-30 |
发明(设计)人: | 王国清;林文山;陈辉;夏欢 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | H04N21/43 | 分类号: | H04N21/43;H04N21/8547 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 方惠春 |
地址: | 361000 福建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及视频监控领域,提供一种可快速处理多通道音视频流、实现多通道音视频同步播放控制的多通道音视频同步播放处理方法,包括以下步骤:建立以共同的参考时间戳T为相对起点的时间戳标记轴T1‑Tn秒;建立由双向帧链表与数据流缓存队列构成的帧通道处理视频通道数据;建立由双向帧链表与数据流缓存队列构成的帧通道处理音频通道数据;多通道音视频同步播放控制,计算所有帧通道相对起始播放时间T1和结束时间Tn,调整所有帧通道参考时间和帧编号,填充空帧,使每个帧通道的数据从同一个参考时间时间点T1开始到参考时间Tn结束,当所有帧通道中的当前帧均有数据时即可播放当前帧,并移动到下一个帧等待播放,依此控制逐帧同步播放。 | ||
搜索关键词: | 多通道 音视频同步 参考 数据流缓存 播放处理 播放控制 通道处理 双向帧 播放 链表 队列 音频通道数据 时间戳标记 快速处理 视频监控 视频通道 同步播放 音视频流 时间戳 时间点 空帧 逐帧 填充 移动 | ||
【主权项】:
1.一种多通道音视频同步播放处理方法,其特征在于:多通道音视频数据同步处理包括以下步骤:(1)、设定各个音频、视频通道对应的音频、视频数据基于同一个参考时钟的时间戳T标记轴T1‑Tn秒,n为自然数;(2)、一个以上视频通道数据处理,其处理包括,a、为每个视频通道建立一个基于时间戳T标记轴T1‑Tn秒排列的双向帧链表T1′‑Tn′,n为自然数,该双向帧链表T1′‑Tn′的每一个结点Tn′代表相对起始时间第Tn秒时间周期的结点,每个结点Tn′根据每秒视频帧率F等量分割成F个帧f1‑fF,F为自然数,每个结点Tn′内的每个帧fF包含帧地址A、帧长度L、帧编号N和关键帧编号K,帧地址A表示当前帧在视频数据流缓存队列中的偏移地址;帧长度L表示当前帧的大小;帧编号N表示帧在当前双向帧链表中的唯一编号,即从第1秒T1′的第一个帧f1从1开始累加;关键帧编号K表示当前帧之前距离当前帧最近的一个关键帧的帧编号;根据双向帧链表中的帧编号N建立视频数据流缓存队列f1‑fN,该视频数据流缓存队列f1‑fN用于缓存连续的视频数据裸流;b、将各个视频通道接收的视频数据流分别接收、逐帧解析并将各视频帧数据存储至各个视频数据流缓存队列f1‑fN中,同时将存储在视频数据流缓存队列f1‑fN中的视频帧数据根据时间戳将视频帧数据的帧地址A、帧长度L、帧编号N和关键帧编号K映射至对应时间戳的双向帧链表的对应帧结构,即对接收到的视频流数据进行逐帧解析,每解出一个视频帧数据,则按照如下步骤进行处理:①、将视频帧数据保存到对应视频流数据缓存队列f1‑fN中,同时记录该视频帧数据的偏移地址A和帧长度L,并累加当前帧编号N;②、如果该视频帧数据是关键帧则更新最新关键帧编号K为当前帧编号N;③、根据每一视频帧数据的时间戳T映射并保存到双向帧链表对应帧结构,填充属性值帧地址A、帧长度L、帧编号N和关键帧编号K;(3)、一个以上音频通道数据处理,其处理包括,a、为每个音频通道建立一个基于时间戳T标记轴T1‑Tn秒排列的双向帧链表T1″‑Tn″,n为自然数,该双向帧链表T1″‑Tn″的每一个结点Tn″代表相对起始时间第Tn秒时间周期的结点,每个结点Tn″根据每秒视频帧率F等量分割成F个帧f1′‑fF′,F为自然数,每个结点Tn″内的每个帧fF′包含帧地址A′、帧长度L′、帧编号N′和关键帧编号K′,帧地址A′表示当前帧在音频数据流缓存队列中的偏移地址;帧长度L′表示当前帧的大小;帧编号N′表示帧在当前双向帧链表中的唯一编号,即从第1秒的第一个帧从1开始累加;关键帧编号K′表示当前帧之前距离当前帧最近的一个关键帧的帧编号;根据双向帧链表中的帧编号N′建立音频数据流缓存队列f1′‑fN′,该音频数据流缓存队列f1′‑fN′用于缓存连续的音频数据裸流;b、根据音频采样频率P Hz、采样值B bit、采样周期T毫秒和视频帧率F fps,通过公式:
计算出音频帧固定值L Byte;c、接收并解码音频流数据进行处理,按照上一步b中计算出的音频帧大小L对解码后的音频流数据进行等量分割,每次取L长度的音频流数据为一个音频帧,并按照如下步骤进行处理:①、将音频帧数据保存到音频数据流缓存队列中,记录偏移地址A′和帧长度L′,并累加当前帧编号N′;②、根据每一音频帧数据的时间戳T映射并保存到双向帧链表对应帧结构,填充属性值帧地址A′、帧长度L′、帧编号N′和关键帧编号K′,其中音频帧的关键帧编号K′等同自身帧编号N′;(4)、多通道音视频同步播放控制,定义各个音频、视频通道上的双向帧链表与数据流缓存队列构成的一个帧通道,从而基于时间戳标记轴与各个帧通道进行同步播放控制,同步控制步骤:a、计算所有帧通道的相对起始参考时间,通过构建各个帧通道得出每个帧通道的起始参考时间TR,定义所有帧通道中最小起始参考时间为所有帧通道的最大相对起始播放时间TR‑MIN;b、以上一步中得出的TR‑MIN作为公有参考时间,调整所有帧通道的参考时间和帧编号,在每个帧通道的双向帧链表的头部依次填充TR*F‑TR‑MIN*F个空帧,保证每个帧通道的数据从同一个时间点开始播放,之后对各个帧通道的所有帧编号N通过调整公式N=N+TR*F‑TR‑MIN*F进行调整;c、实现同步播放控制,即当所有帧通道中的当前帧均有数据时即可开始同步播放,当某个帧通道数据已经接受完毕但其他通道还有数据时,则播放到大于该帧通道最大帧编号的帧时,对该帧通道后续默认填充空帧,以保证其他帧通道的帧正常播放,同时保证所有帧通道的长度相等。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410741040.1/,转载请声明来源钻瓜专利网。