CN104378675B - 一种多通道音视频同步播放处理方法 - Google Patents

一种多通道音视频同步播放处理方法 Download PDF

Info

Publication number
CN104378675B
CN104378675B CN201410741040.1A CN201410741040A CN104378675B CN 104378675 B CN104378675 B CN 104378675B CN 201410741040 A CN201410741040 A CN 201410741040A CN 104378675 B CN104378675 B CN 104378675B
Authority
CN
China
Prior art keywords
frame
video
data
channel
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410741040.1A
Other languages
English (en)
Other versions
CN104378675A (zh
Inventor
王国清
林文山
陈辉
夏欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Yaxon Networks Co Ltd
Original Assignee
Xiamen Yaxon Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Yaxon Networks Co Ltd filed Critical Xiamen Yaxon Networks Co Ltd
Priority to CN201410741040.1A priority Critical patent/CN104378675B/zh
Publication of CN104378675A publication Critical patent/CN104378675A/zh
Application granted granted Critical
Publication of CN104378675B publication Critical patent/CN104378675B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

本发明涉及视频监控领域,提供一种可快速处理多通道音视频流、实现多通道音视频同步播放控制的多通道音视频同步播放处理方法,包括以下步骤:建立以共同的参考时间戳T为相对起点的时间戳标记轴T1‑Tn秒;建立由双向帧链表与数据流缓存队列构成的帧通道处理视频通道数据;建立由双向帧链表与数据流缓存队列构成的帧通道处理音频通道数据;多通道音视频同步播放控制,计算所有帧通道相对起始播放时间T1和结束时间Tn,调整所有帧通道参考时间和帧编号,填充空帧,使每个帧通道的数据从同一个参考时间时间点T1开始到参考时间Tn结束,当所有帧通道中的当前帧均有数据时即可播放当前帧,并移动到下一个帧等待播放,依此控制逐帧同步播放。

Description

一种多通道音视频同步播放处理方法
技术领域
本发明涉及视频监控领域,特别涉及一种多通道音视频同步播放处理方法。
背景技术
目前,在传统远程车载视频终端中,音频采集和视频采集是由不同的硬件设备完成的,因此音频数据和视频数据在存储和传输上是分离的。这就要求监控中心进行视频监控展现时必须进行音视频播放的同步控制。现有技术使用的方法是给每个视频和音频数据包打上时间戳,通过时间戳匹控制音视频的播放时间和播放速度,实现时间上的同步。这种方法是最常用的方法,在单通道视频和音频的情况下,完全能够满足日常需要。但是随着无线网络带宽和传输速率的不断升级,以及人们对车辆运输安全意识的不断提高,一辆车动辄4路,甚至8路、16路音视频通道。通过多路摄像头和音频的同步播放,实现对车辆周围环境多个视野角度的同步实时视频监控和视频录像回放成为了最基本的要求。但是由于每路音视频通道的工作状态、数据采集时间间隔、网络传输延迟等因素影响,导致音视频时间分布各异,可以说从数据源头上音视频数据就是不同步的。对此,简单基于时间戳实现的音视频同步控制方法,随着通道数的增加,不仅实现复杂,而且难度也越来越高,同时性能和播放效果也差强人意,更不用说实现多通道音视频同步快进快退和同步跳转播放这些难度更大的功能了。因而如何实现多通道音视频不同步数据源的同步播放是现有技术急需解决的难题。
发明内容
因此,针对上述的问题,本发明提出一种结构简单、可快速处理多通道音视频流、实现多通道音视频的同步播放控制、技术成本不受音视频通道数量的影响、播放效果好、具有良好的可扩展性以及有效减少后续的研发和维护成本的多通道音视频同步播放处理方法。
为解决此技术问题,本发明采取以下方案:一种多通道音视频同步播放处理方法,多通道音视频数据同步处理包括以下步骤:
(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为所有帧通道的最大相对起始播放时间TR-MIN;b、以上一步啊中得出的TR-MIN作为公有参考时间,调整所有帧通道的参考时间和帧编号,在每个帧通道的双向帧链表的头部依次填充TR*F-TR-MIN*F个空帧,保证每个帧通道的数据从同一个时间点开始播放,之后对各个帧通道的所有帧编号N通过调整公式N=N+TR*F-TR-MIN*F进行调整;c、实现同步播放控制,即当所有帧通道中的当前帧均有数据时即可开始同步播放,当某个帧通道数据已经接受完毕但其他通道还有数据时,则播放到大于该帧通道最大帧编号的帧时,对该帧通道后续默认填充空帧,以保证其他帧通道的帧正常播放,同时保证所有帧通道的长度相等。
进一步的,步骤(2)和(3)中时间戳T与双向帧链表的映射规则如下:如果是该视频或音频通道收到的第一视频或音频帧数据,则将该视频或音频帧数据对应到T1中的f1,同时记录该视频或音频通道的初始参考时间TR;否则,根据公式
T=t-TR(单位:秒)计算出该视频或音频帧数据在t秒时时间戳T对应映射的双向帧链表结点Tt,在Tt中按照时间戳T先后顺序依次填充到双向链表帧结点Tt的f中,如果双向链表帧结点Tt中的f已占满,则顺延到下一个双向链表帧结点Tt+1中。
进一步的,所述步骤(4)中实现同步播放控制时,可设定缓冲等待时间进行缓冲,即当开始播放或者播放到某一个帧时发现其中某个帧通道的该帧为空时,可等待该通道缓冲一部分帧后继续同步播放。
进一步的,所述双向帧链表可进行结点的双向遍历。
进一步的,所述多通道音视频数据可以是多个音频通道或多个视频通道或多个音频通道和多个视频通道结合的任一种。
进一步的,所述步骤(4)中,当某个帧通道对应的时间戳内没有数据时,填充空帧,保证各个帧通道之间长度相等。
进一步的,所述步骤(4)中,所述所有帧通道中的当前帧均有数据时是指当前帧编号对应的位置有帧数据,其中的帧数据是指真实的音视频帧数据或者空帧。
进一步的,所述步骤(4)中对于空帧的播放处理是,重复播放离空帧最近的前一个非空帧数据,直到下一个非空帧数据。
进一步的,所述视频数据流缓存队列缓存的是解码前的视频帧数据,所述音频数据流缓存队列缓存的是解码后的音频数据流。
通过采用前述技术方案,本发明的有益效果是:通过本方法将所有的音视频通道分别统一抽象成多个帧通道,在同步播放控制时不受通道数的影响和具体通道的媒体类型,不仅简化了繁琐的时间戳同步播放控制过程,而且最大限度的还原了音视频数据,不会为了同步丢弃或者跳过任何数据,播放效果上也有很大的提升和改善,方法不仅实现了多通道音视频同步播放、同步快进快退播放和同步跳转播放,更建立了简单通用的音视频通道数据处理模型(帧通道),不仅处理效果和成本不受视频通道数的影响,而且实现简易程度和最终体验都较传统时间戳同步控制方法有较大的提升,此外不论音视频通道数增加或者减少,都不需要做出太多改动和升级维护,有效减少了后续的研发和维护成本。
附图说明
图1是本发明中视频通道数据处理中双向帧链表与数据流缓存队列之间结构示意图;
图2是本发明中步骤(4)中初始同步播放控制结构示意图;
图3是本发明中步骤(4)中后期同步播放控制结构示意图。
具体实施方式
现结合具体实施方式对本发明进一步说明。
参考图1、图2和图3,本发明的多通道音视频同步播放处理方法,其处理包括以下步骤:
(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包含,每个结点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;其中时间戳T与双向帧链表的映射规则如下:如果是该视频通道收到的第一视频帧数据,则将该视频帧数据对应到T1中的f1,同时记录该视频通道的初始参考时间TR;否则,根据公式T=t-TR(单位:秒)计算出该视频帧数据在t秒时时间戳T对应映射的双向帧链表结点Tt,在Tt中按照时间戳T先后顺序依次填充到双向链表帧结点Tt的f中,如果双向链表帧结点Tt中的f已占满,则顺延到下一个双向链表帧结点Tt+1中。
(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秒T1″的第一个帧f1′从1开始累加;关键帧编号K′表示当前帧之前距离当前帧最近的一个关键帧的帧编号;根据双向帧链表中的帧编号N′建立音频数据流缓存队列f1′-fN′,该音频数据流缓存队列f1′-fN′用于缓存连续的音频数据裸流;b、根据音频采样频率PHz、采样值B bit、采样周期T毫秒和视频帧率F fps,通过公式:计算出音频帧固定值L Byte;c、接收并解码音频流数据进行处理,按照上一步b中计算出的音频帧大小L对解码后的音频流数据进行等量分割,每次取L长度的音频流数据为一个音频帧,并按照如下步骤进行处理:①、将音频帧数据保存到音频数据流缓存队列中,记录偏移地址A′和帧长度L′,并累加当前帧编号N′;②、根据每一音频帧数据的时间戳T映射并保存到双向帧链表对应帧结构,填充属性值帧地址A′、帧长度L′、帧编号N′和关键帧编号K′,其中关键帧编号K′等同自身帧编号N′;其中时间戳T与双向帧链表的映射规则如下:如果是该音频通道收到的第一音频帧数据,则将该音频帧数据对应到T1中的f1,同时记录该音频通道的初始参考时间TR;否则,根据公式
T=t-TR(单位:秒)计算出该音频帧数据在t秒时时间戳T对应映射的双向帧链表结点Tt,在Tt中按照时间戳T先后顺序依次填充到双向链表帧结点Tt的f中,如果双向链表帧结点Tt中的f已占满,则顺延到下一个双向链表帧结点Tt+1中。
(4)、多通道音视频同步播放控制,定义各个音频、视频通道上的双向帧链表和数据流缓存队列所构成的对象模型为帧通道,基于帧通道进行同步播放控制,同步控制步骤:a、计算所有帧通道的相对起始播放时间,通过构建各个帧通道得出每个帧通道的起始参考时间TR,定义所有帧通道中最小起始参考时间TR为所有帧通道的最大相对起始播放时间TR-MIN;b、以上一步啊中得出的TR-MIN作为公有参考时间,调整所有帧通道的参考时间和帧编号,在每个帧通道的双向帧链表的头部依次填充TR*F-TR-MIN*F个空帧,保证每个帧通道的数据从同一个时间点开始播放,之后对各个帧通道的所有帧编号N通过调整公式N=N+TR*F-TR-MIN*F进行调整;c、实现同步播放,即当所有帧通道中的当前帧均有数据时即可开始同步播放,所有帧通道中的当前帧均有数据时是指当前帧编号对应的位置有帧数据,其中的帧数据是指真实的音视频帧数据或者空帧,当某个帧通道数据已经接受完毕但其他通道还有数据时,则播放到大于该帧通道最大帧编号的帧时,对该帧通道后续默认填充空帧,以保证其他帧通道的帧正常播放,同时保证所有帧通道的长度相等;当某个帧通道对应的时间戳内没有数据时,填充空帧,保证各个帧通道之间长度相等,在实现同步播放控制时,可设定缓冲等待时间进行缓冲,即当开始播放或者播放到某一个帧时发现其中某个帧通道的该帧为空时,可等待该通道缓冲一部分帧后继续同步播放;对于空帧的播放处理是,重复播放离空帧最近的前一个非空帧数据,直到下一个非空帧数据。
本处理方法中多通道音视频数据可以是多个音频通道或多个视频通道或多个音频通道和多个视频通道结合的任一种;该视频数据流缓存队列缓存的是解码前的视频帧数据,该音频数据流缓存队列缓存的是解码后的音频数据流。
本发明方法的同步播放控制分为正常播放、快进快退、跳转三种,每种的播放控制的步骤具体如下:
a、正常播放,从帧通道的第一个帧f1开始,每经过毫秒移动到下一个帧,依次完成对所有的帧遍历,如果当前帧为空帧,则不处理,等待移动到下一个帧,否则,根据帧地址和帧长度读取帧数据投递到对应的音视频播放通道中进行播放,重复上述步骤,直到帧通道的最后一帧,则播放结束。
b、快进快退播放,根据快进(快退)的倍数N,每经过毫秒从当前帧fx向前(向后)移动到fx+N(fx-N)。根据帧fx+N(fx-N)中记录的关键帧编号N,依次把从fN到fx+N(fx-N)之间的所有帧根据帧地址和帧长度读取出帧数据,投递到音视频播放通道中进行播放。如果fx+N(fx-N)大于(小于)最大帧编号(最小帧编号1),则移动到最大帧编号(最小帧编号)进行播放,避免帧越界。
视频帧的解码需要把关键帧到当前帧之间的所有数据提交给解码器,才能解除当前帧的画面。音频则只需要当前帧就可以播放,而音频帧的关键帧编号就是自身编号,因此,按照上述流程操作,可实现多通道音视频同步快进快退播放。
c、跳转播放,根据需要跳转的时间t,计算出新的跳转节点Tt=t-tR-MIN。如果当前播放模式是快进快退播放,则根据b中快进快退播放描述从Tt的第一个帧f1开始继续进行快进快退播放,否则根据1)中描述从Tt的第一个帧f1开始进行正常播放。
本发明通过本方法将所有的音视频通道分别统一抽象成多个帧通道,在同步播放控制时不受通道数的影响和具体通道的媒体类型,不仅简化了繁琐的时间戳同步播放控制过程,而且最大限度的还原了音视频数据,不会为了同步丢弃或者跳过任何数据,播放效果上也有很大的提升和改善,方法不仅实现了多通道音视频同步播放、同步快进快退播放和同步跳转播放,更建立了简单通用的音视频通道数据处理模型(帧通道),不仅处理效果和成本不受视频通道数的影响,而且实现简易程度和最终体验都较传统时间戳同步控制方法有较大的提升,此外不论音视频通道数增加或者减少,都不需要做出太多改动和升级维护,有效减少了后续的研发和维护成本。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (9)

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、实现同步播放控制,即当所有帧通道中的当前帧均有数据时即可开始同步播放,当某个帧通道数据已经接受完毕但其他通道还有数据时,则播放到大于该帧通道最大帧编号的帧时,对该帧通道后续默认填充空帧,以保证其他帧通道的帧正常播放,同时保证所有帧通道的长度相等。
2.根据权利要求1所述的一种多通道音视频同步播放处理方法,其特征在于:步骤(2)和(3)中时间戳T与双向帧链表的映射规则如下:如果是该视频或音频通道收到的第一视频或音频帧数据,则将该视频或音频帧数据对应到T1中的f1,同时记录该视频或音频通道的初始参考时间TR;否则,根据公式
T=t-TR(单位:秒)计算出该视频或音频帧数据在t秒时时间戳T对应映射的双向帧链表结点Tt,在Tt中按照时间戳T先后顺序依次填充到双向链表帧结点Tt的f中,如果双向链表帧结点Tt中的f已占满,则顺延到下一个双向链表帧结点Tt+1中。
3.根据权利要求1所述的一种多通道音视频同步播放处理方法,其特征在于:所述步骤(4)中实现同步播放控制时,设定缓冲等待时间进行缓冲,即当开始播放或者播放到某一个帧时发现其中某个帧通道的该帧为空时,等待该通道缓冲一部分帧后继续同步播放。
4.根据权利要求1所述的一种多通道音视频同步播放处理方法,其特征在于:所述双向帧链表进行结点的双向遍历。
5.根据权利要求1所述的一种多通道音视频同步播放处理方法,其特征在于:所述多通道音视频数据是多个音频通道或多个视频通道或多个音频通道和多个视频通道结合的任一种。
6.根据权利要求1所述的一种多通道音视频同步播放处理方法,其特征在于:所述步骤(4)中,当某个帧通道对应的时间戳内没有数据时,填充空帧,保证各个帧通道之间长度相等。
7.根据权利要求1所述的一种多通道音视频同步播放处理方法,其特征在于:所述步骤(4)中,所述所有帧通道中的当前帧均有数据时是指当前帧编号对应的位置有帧数据,其中的帧数据是指真实的音视频帧数据或者空帧。
8.根据权利要求1所述的一种多通道音视频同步播放处理方法,其特征在于:所述步骤(4)中对于空帧的播放处理是,重复播放离空帧最近的前一个非空帧数据,直到下一个非空帧数据。
9.根据权利要求1所述的一种多通道音视频同步播放处理方法,其特征在于:所述视频数据流缓存队列缓存的是解码前的视频帧数据,所述音频数据流缓存队列缓存的是解码后的音频数据流。
CN201410741040.1A 2014-12-08 2014-12-08 一种多通道音视频同步播放处理方法 Active CN104378675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410741040.1A CN104378675B (zh) 2014-12-08 2014-12-08 一种多通道音视频同步播放处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410741040.1A CN104378675B (zh) 2014-12-08 2014-12-08 一种多通道音视频同步播放处理方法

Publications (2)

Publication Number Publication Date
CN104378675A CN104378675A (zh) 2015-02-25
CN104378675B true CN104378675B (zh) 2019-07-30

Family

ID=52557278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410741040.1A Active CN104378675B (zh) 2014-12-08 2014-12-08 一种多通道音视频同步播放处理方法

Country Status (1)

Country Link
CN (1) CN104378675B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104993901B (zh) * 2015-07-09 2017-08-29 广东威创视讯科技股份有限公司 分布式系统数据同步方法及装置
CN105335471A (zh) * 2015-09-29 2016-02-17 芜湖市汽车产业技术研究院有限公司 车载多媒体设备、移动终端及车载多媒体播放方法
CN106612452B (zh) * 2015-10-22 2019-12-13 深圳市中兴微电子技术有限公司 机顶盒音视频同步的方法及装置
CN107205158A (zh) * 2016-03-18 2017-09-26 中国科学院宁波材料技术与工程研究所 一种基于时间戳的多路音视频流同步解码方法
CN106101797A (zh) * 2016-07-12 2016-11-09 青岛海信电器股份有限公司 一种屏幕录制方法及触摸电视
FR3055175B1 (fr) * 2016-08-19 2018-08-10 Tdf Synchronisation de flux dans un recepteur
CN108614829A (zh) * 2016-12-12 2018-10-02 中移(杭州)信息技术有限公司 一种播放方法及终端
CN107071559A (zh) * 2017-05-11 2017-08-18 大连动感智慧科技有限公司 基于关键帧同步的多视频对比系统
CN108933949B (zh) * 2017-05-27 2021-08-31 南宁富桂精密工业有限公司 多媒体控制方法、服务器和计算机存储介质
CN109525878B (zh) * 2017-09-19 2021-01-05 卡莱特(深圳)云科技有限公司 播放方法、播放装置、计算机设备和计算机可读存储介质
CN108769786B (zh) * 2018-05-25 2020-12-29 网宿科技股份有限公司 一种合成音视频数据流的方法和装置
CN109120974A (zh) * 2018-07-25 2019-01-01 深圳市异度信息产业有限公司 一种音视频同步播放的方法及装置
CN109547843B (zh) * 2019-02-01 2022-05-17 腾讯音乐娱乐科技(深圳)有限公司 对音视频进行处理的方法和装置
CN110719529B (zh) * 2019-10-24 2021-11-23 北京文渊佳科技有限公司 一种多路视频同步方法、装置、存储介质及终端
CN110933349B (zh) * 2019-11-19 2022-03-04 北京奇艺世纪科技有限公司 一种音频数据生成方法、装置、系统及控制器
CN111277896A (zh) * 2020-02-13 2020-06-12 上海高重信息科技有限公司 对网络视频流图像拼接的方法和装置
CN111757144B (zh) * 2020-04-13 2022-03-08 湖南化工职业技术学院(湖南工业高级技工学校) 一种网络计算机多媒体视频播放方法和系统
CN112218115B (zh) * 2020-09-25 2022-07-29 深圳市捷视飞通科技股份有限公司 流媒体音视频同步的控制方法、装置、计算机设备
CN112416278B (zh) * 2020-11-10 2021-12-03 北京五八信息技术有限公司 一种屏幕共享方法、装置、电子设备及存储介质
CN112770165B (zh) * 2020-12-28 2022-11-18 杭州电子科技大学 一种音视频流分布式同步方法
CN113329255A (zh) * 2021-06-02 2021-08-31 重庆锐明信息技术有限公司 一种基于浏览器的多通道视频同步播放方法、系统及介质
CN113873345B (zh) * 2021-09-27 2023-11-14 中国电子科技集团公司第二十八研究所 一种分布式的超高清视频同步处理方法
CN114143584B (zh) * 2021-09-29 2024-03-26 杭州当虹科技股份有限公司 在多终端之间实现同步播放的播出系统和方法
CN115866317B (zh) * 2022-11-29 2023-09-05 广州后为科技有限公司 一种适用于网络摄像机的音视频缓存方法和装置
CN115866309B (zh) * 2022-11-29 2023-09-22 广州后为科技有限公司 一种支持多路视频同步的音视频缓存方法和装置
CN117714022A (zh) * 2024-02-05 2024-03-15 苏州联讯仪器股份有限公司 一种多通道比特偏移计算方法、装置、设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8272008B2 (en) * 2007-02-28 2012-09-18 At&T Intellectual Property I, L.P. Methods, systems, and products for retrieving audio signals
US8693553B2 (en) * 2007-12-28 2014-04-08 Nokia Corporation Methods, apparatuses, and computer program products for adaptive synchronized decoding of digital video
CN102752669B (zh) * 2011-04-19 2015-09-16 中国电信股份有限公司 多通道实时流媒体文件的传送处理方法与系统、接收装置
CN102611741B (zh) * 2012-02-17 2015-03-18 浙江大学 从autosar系统配置模型中提取通信矩阵的方法

Also Published As

Publication number Publication date
CN104378675A (zh) 2015-02-25

Similar Documents

Publication Publication Date Title
CN104378675B (zh) 一种多通道音视频同步播放处理方法
CN102821308B (zh) 一种多场景流媒体课件录制与直播方法
CN104410807B (zh) 一种多路视频同步回放方法及装置
US8665370B2 (en) Method for synchronized playback of wireless audio and video and playback system using the same
CN106686438B (zh) 一种跨设备的音频图像同步播放的方法、装置及系统
KR100916505B1 (ko) 정상 재생 타임을 이용한 스케일러블 비디오 코딩 정보와어드밴스드 오디오 코딩 정보의 동기화 지원 방법 및 장치
CN201781583U (zh) 多路服务器录像回放同步控制系统
CN106792073A (zh) 跨设备的音视频数据同步播放的方法、播放设备及系统
CN108141455A (zh) 用于媒体数据的流式发射的期限信令
CN110581973B (zh) 数据回放方法、装置、终端设备及存储介质
CN102065231B (zh) 多路数据融合装置及其实现方法、多路音频数据处理系统
CN102640511A (zh) 视频信息再现方法和系统、以及视频信息内容
CN103546662A (zh) 一种网络监控系统中音视频同步方法
CN102932676A (zh) 基于音视频同步的自适应带宽传输和播放方法
CN103607664B (zh) 一种嵌入式多媒体播放系统的音视频同步方法
CN102623032B (zh) 一种实现硬盘录像机同步回放的方法
CN101202613B (zh) 一种用于时钟同步的终端
CN101951387A (zh) 流媒体传输方法及装置
CN103617658A (zh) 机载多路音视频同步记录仪及记录方法
CN108717458A (zh) 一种用于监控行业的历史视频文件格式存储方法及系统
CN100473163C (zh) 动静态混合画面的投影方法和投影系统
CN109819312A (zh) 基于动态缓冲区的播放器系统及其控制方法
CN108322811A (zh) 一种钢琴视频教学中的同步方法及系统
CN104333795A (zh) 一种不依赖时间戳的实时视频码流播放速度控制方法
CN114554250B (zh) 一种无人机或无人车的视频和位置同步方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant