CN112995720A - 一种音视频同步方法和装置 - Google Patents
一种音视频同步方法和装置 Download PDFInfo
- Publication number
- CN112995720A CN112995720A CN201911290319.1A CN201911290319A CN112995720A CN 112995720 A CN112995720 A CN 112995720A CN 201911290319 A CN201911290319 A CN 201911290319A CN 112995720 A CN112995720 A CN 112995720A
- Authority
- CN
- China
- Prior art keywords
- data frame
- video
- audio
- audio data
- received
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000003139 buffering effect Effects 0.000 claims description 8
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种音视频同步方法,包括:在进行实时视频业务时,服务器根据接收到的数据帧的类型,确定是否需要进行音视频同步处理;当需要进行音视频同步处理时,所述服务器采用预设的同步原则,对接收到的音频数据帧和视频数据帧进行同步处理,将同步处理后的视频数据帧以及对应的音频数据帧,保存至相应的文件中;其中,所述同步原则为当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧;当不需要进行音视频同步处理时,所述服务器将接收到的所有数据帧,直接保存至相应的文件中。应用本申请公开的技术方案,能够有效解决实时视频业务中的录像文件播放时音视频不同步的问题。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种音视频同步方法和装置。
背景技术
目前实时视频业务播放一般都会进行音视频同步,以保证观看者的业务感知。
发明人在实现本发明的过程中发现:现有的实时视频业务实现方案存在:服务器端生成的相应录像文件在播放时音视频不同步的问题。通过研究分析发现该问题的原因如下:
现有的实时视频业务实现方案中,录制文件时通常只在发送端使用音视频同步处理机制,当音视频数据传输到服务器端进行文件录制时,基本没有音视频同步保证机制。这样,现有的视频业务依赖于发送端的音频设备和视频设备的同步处理或者依赖于传输管道来保证音视频流的同步。
而在实时视频通话过程中,发送端音频和视频采用不同的设备进行录制,比如音频采用外置MIC,视频采用外置摄像头,两个不同的设备产生的数据流无法严格保证音视频数据同步。也就是说,发送端无法确保:发送音视频数据时音视频流的完全同步。并且,传输管道的复杂性也容易导致音频或视频数据包丢失。而在服务器端进行相应文件录制时(比如采用MP4方式),不管数据是否丢失,都会按序存储下来。这样,在音视频数据传输到服务器端时,如果服务器端在进行相应文件录制时不做音视频同步处理,就会由于中间发生音频或视频数据包丢失,而导致所录制的文件内容本身引入了音视频不同步的问题,从而导致相应文件播放时出现严重的音视频不同步问题,进而影响文件回放时的用户感知。
发明内容
有鉴于此,本发明的主要目的在于提供一种音视频同步方法和装置,能够有效解决实时视频业务中的录像文件播放时音视频不同步的问题。
为了达到上述目的,本发明提出的技术方案为:
一种音视频同步方法,包括:
在进行实时视频业务时,服务器根据接收到的数据帧的类型,确定是否需要进行音视频同步处理;
当需要进行音视频同步处理时,所述服务器采用预设的同步原则,对接收到的音频数据帧和视频数据帧进行同步处理,将同步处理后的视频数据帧以及对应的音频数据帧,保存至相应的文件中;其中,所述同步原则为当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧;
当不需要进行音视频同步处理时,所述服务器将接收到的所有数据帧,直接保存至相应的文件中。
较佳地,所述确定是否需要进行音视频同步处理包括:
在接收到所述实时视频业务的首个数据帧之后,当该首个数据帧的缓存时长未达到预设的最大缓存时长时,如果所述服务器接收到与所述首个数据帧不同类型的数据帧,则确定需要进行音视频同步处理;当该首个数据帧的缓存时长达到所述最大缓存时间时,如果所述服务器未曾接收到与该首个数据帧不同类型的数据帧,则确定不需要进行音视频同步处理。
较佳地,所述服务器采用预设的同步原则,对所接收到的音频数据帧和视频数据帧进行同步处理包括:
所述服务器按照网络时间协议NTP时间的升序,对已接收到的视频数据帧和音频数据帧分别进行排序,得到视频数据帧缓存队列和音频数据帧缓存队列;
当接收到新的数据帧时,按照数据帧的NTP时间和数据帧类型,将该新的数据帧,增加到相应类型的所述视频数据帧缓存队列或所述音频数据帧缓存队列中;
依次对于所述视频数据帧缓存队列中的每个视频数据帧Si,按照所述同步原则,利用当前所述音频数据帧缓存队列,为该视频数据帧Si确定对应的音频数据帧;其中,为该视频数据帧Si确定对应的音频数据帧包括:
x1、将所述音频数据帧缓存队列中未匹配到视频数据帧的首个音频数据帧作为当前的候选音频数据帧;
x2、如果当前的候选音频数据帧的NTP时间ta小于所述视频数据帧Si的NTP时间t0,则将所述候选音频数据帧从所述音频数据帧缓存队列中删除,返回步骤x1;
x3、如果所述ta等于所述t0,则将所述处于队首的音频数据帧确定为与所述视频数据帧Si对应的音频数据帧;
x4、如果所述ta大于所述t0,则在所述音频数据帧缓存队列中所述候选音频数据帧之前增加一个语音静默帧,作为与所述视频数据帧Si对应的音频数据帧。
较佳地,所述方法进一步包括:
所述服务器在接收到所述数据帧时,根据所述数据帧对应的发送报告,计算所述数据帧的NTP时间。
一种音视频同步装置,设置于服务器中,包括:处理器,所述处理器用于:
在进行实时视频业务时,根据接收到的数据帧的类型,确定是否需要进行音视频同步处理;
当需要进行音视频同步处理时,采用预设的同步原则,对接收到的音频数据帧和视频数据帧进行同步处理,将同步处理后的视频数据帧以及对应的音频数据帧,保存至相应的文件中;其中,所述同步原则为当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧;
当不需要进行音视频同步处理时,所述服务器将接收到的所有数据帧,直接保存至相应的文件中。
较佳地,所述处理器具体用于:确定是否需要进行音视频同步处理,包括:
在接收到所述实时视频业务的首个数据帧之后,当该首个数据帧的缓存时长未达到预设的最大缓存时长时,如果接收到与所述首个数据帧不同类型的数据帧,则确定需要进行音视频同步处理;当该首个数据帧的缓存时长达到所述最大缓存时间时,如果未曾接收到与该首个数据帧不同类型的数据帧,则确定不需要进行音视频同步处理。
较佳地,所述处理器具体用于:采用预设的同步原则,对所接收到的音频数据帧和视频数据帧进行同步处理,包括:
按照网络时间协议NTP时间的升序,对已接收到的视频数据帧和音频数据帧分别进行排序,得到视频数据帧缓存队列和音频数据帧缓存队列;
当接收到新的数据帧时,按照数据帧的NTP时间和数据帧类型,将该新的数据帧,增加到相应类型的所述视频数据帧缓存队列或所述音频数据帧缓存队列中;
依次对于所述视频数据帧缓存队列中的每个视频数据帧Si,按照所述同步原则,利用当前所述音频数据帧缓存队列,为该视频数据帧Si确定对应的音频数据帧;其中,为该视频数据帧Si确定对应的音频数据帧包括:
x1、将所述音频数据帧缓存队列中未匹配到视频数据帧的首个音频数据帧作为当前的候选音频数据帧;
x2、如果当前的候选音频数据帧的NTP时间ta小于所述视频数据帧Si的NTP时间t0,则将所述候选音频数据帧从所述音频数据帧缓存队列中删除,返回步骤x1;
x3、如果所述ta等于所述t0,则将所述处于队首的音频数据帧确定为与所述视频数据帧Si对应的音频数据帧;
x4、如果所述ta大于所述t0,则在所述音频数据帧缓存队列中所述候选音频数据帧之前增加一个语音静默帧,作为与所述视频数据帧Si对应的音频数据帧。
较佳地,所述处理器进一步用于:
在接收到所述数据帧时,根据所述数据帧对应的实时传输控制协议发送报告RTCPSR,计算所述数据帧的NTP时间。
本申请还公开了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如前所述的音视频同步方法的步骤。
本申请还公开了一种电子设备,包括如前所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。
由上述技术方案可见,本申请提出的音视频同步方法和装置,在进行实时视频业务时,服务器根据接收到的数据帧的类型,确定是否需要进行音视频同步处理;当需要进行音视频同步处理时,所述服务器采用预设的同步原则,对接收到的音频数据帧和视频数据帧进行同步处理,将同步处理后的视频数据帧以及对应的音频数据帧,保存至相应的文件中;其中,所述同步原则为当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧;当不需要进行音视频同步处理时,所述服务器将接收到的所有数据帧,直接保存至相应的文件中。如此,能够有效解决实时视频业务中的录像文件播放时音视频不同步的问题。
附图说明
图1为本发明实施例的方法流程示意图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。
图1为本发明实施例的流程示意图,如图1所示,该实施例实现的音视频同步方法,主要包括:
步骤101、在进行实时视频业务时,服务器根据接收到的数据帧的类型,确定是否需要进行音视频同步处理。
本步骤中,在进行实时视频业务的过程中,服务器接收到数据帧后不会直接将其保存至文件中,而是需要根据所接收的数据帧的类型,来判断是否需要进行音视频同步处理,以保障所录制的文件在播放时能够获得音视频同步的效果。
这里,在具体确定是否需要进行音视频同步处理时,将需要根据接收到的数据帧的类型数量,当仅接收到一种类型的数据帧,即仅接收到音频数据帧,或仅接收到视频数据帧时,说明此时的实时视频业务仅需要传输音频或仅需要传输视频,此时,不存在进行音视频同步的需求,因此,将确定当前不需要进行音视频同步处理。而当接收到两种类型的数据帧时,说明此时的实时视频业务即涉及音频数据的传输又涉及视频数据的传输,需要确保两种数据的同步,因此,将确定当前需要进行音视频同步处理。
较佳地,基于上述思想,可以采用下述方法确定是否需要进行音视频同步处理:
在接收到所述实时视频业务的首个数据帧之后,当该首个数据帧的缓存时长未达到预设的最大缓存时长时,如果所述服务器接收到与所述首个数据帧不同类型的数据帧,则确定需要进行音视频同步处理;当该首个数据帧的缓存时长达到所述最大缓存时间时,如果所述服务器未曾接收到与该首个数据帧不同类型的数据帧,则确定不需要进行音视频同步处理。
需要说明的是,本发明实施例中,当服务器接收到数据帧后,会和现有方案一样,需要缓存所接收的数据帧。和现有方案所不同的是:当接收到的首个数据帧的缓存时长没有达到预设的最大缓存时长时,如果接收到与该首个数据帧不同类型的数据帧,则说明当前进行的实时视频业务即存在音频的传输,还存在视频的传输,因此,此时需要触发对该实时视频业务的数据帧进行音视频同步处理。
所述最大缓存时长具体可由本领域技术人员根据实际需要进行设置合适取值,只要能够确保对是否需要进行音视频同步处理进行准确识别即可。
步骤102、当需要进行音视频同步处理时,所述服务器采用预设的同步原则,对接收到的音频数据帧和视频数据帧进行同步处理,将同步处理后的视频数据帧以及对应的音频数据帧,保存至相应的文件中,其中,所述同步原则为当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧。当不需要进行音视频同步处理时,所述服务器将接收到的所有数据帧,直接保存至相应的文件中。
步骤102中,当在步骤101中确定需要进行音视频同步处理时,将基于所述同步原则,即当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧,对接收到的音频数据帧和视频数据帧进行同步处理。上述同步原则的提出,是考虑到音频帧的丢失对用户的观看体验影响不大,而视频帧的丢失则可能会导致出现花屏,对用户的观看体验影响很大。采用上述同步原则,以视频帧为基准,可以确保接收到的视频帧都有对应的音频帧,从而可以有效保障相应文件播放时用户的观看效果。这样,在网络状况变差或终端侧利用不同设备采集音、视频数据时,如果服务器侧出现:接收到的音频数据帧和视频数据帧不同步,利用上述方法也可以避免该不同步被引入到相应的录像文件中,从而确保了相应录像文件的正常播放。
较佳地,本步骤中,所述服务器可以采用下述方法对所接收到的音频数据帧和视频数据帧进行同步处理:
所述服务器按照网络时间协议(NTP)时间的升序,对已接收到的视频数据帧和音频数据帧分别进行排序,得到视频数据帧缓存队列和音频数据帧缓存队列;
当接收到新的数据帧时,按照数据帧的NTP时间和数据帧类型,将该新的数据帧,增加到相应类型的所述视频数据帧缓存队列或所述音频数据帧缓存队列中;
依次对于所述视频数据帧缓存队列中的每个视频数据帧Si,按照所述同步原则,利用当前所述音频数据帧缓存队列,为该视频数据帧Si确定对应的音频数据帧;其中,为该视频数据帧Si确定对应的音频数据帧包括:
x1、将所述音频数据帧缓存队列中未匹配到视频数据帧的首个音频数据帧作为当前的候选音频数据帧;
x2、如果当前的候选音频数据帧的NTP时间ta小于所述视频数据帧Si的NTP时间t0,则将所述候选音频数据帧从所述音频数据帧缓存队列中删除,返回步骤x1;
x3、如果所述ta等于所述t0,则将所述处于队首的音频数据帧确定为与所述视频数据帧Si对应的音频数据帧;
x4、如果所述ta大于所述t0,则在所述音频数据帧缓存队列中所述候选音频数据帧之前增加一个语音静默帧,作为与所述视频数据帧Si对应的音频数据帧。
上述方法中,需要按照数据帧的NTP时间以及数据帧的类型,将接收的数据帧插入到相应类型的数据帧缓存队列中,以便以视频数据帧缓存队列为基准,利用音频数据帧缓存队列中的音频数据帧,为视频数据帧缓存队列中的每个视频数据帧确定相应的音频数据帧。
如果所述ta小于所述t0,说明与候选音频数据帧对应的视频数据帧丢失,此时,需要丢弃该候选音频数据帧,即:将所述候选音频数据帧从所述音频数据帧缓存队列中删除,以避免音频数据帧造成的音视频数据的不同步。
如果所述ta大于所述t0,说明与视频数据帧Si对应的音频数据帧丢失,此时,需要增加一个语音静默帧作为补偿,以确保画面的完整性。
本步骤中,当视频数据帧确定了相应的音频数据帧后,将会与对应的音频数据帧一起被保存至相应的录像文件中,这样,由于录像文件中的视频数据帧和音频数据帧在时间上是同步的,因此,即使服务器接收到的音视频数据不同步,仍然可以确保所录制的相应文件中的音视频数据同步,从而避免了文件播放时音视频失步问题的出现。
和现有协议一样,本发明实施例中,服务器在接收到所述数据帧时,会根据所述数据帧对应的发送报告,计算所述数据帧的NTP时间。
所述数据帧的NTP时间,即发送端发送该数据帧时的时间,具体计算方法同现有协议,具体如下:
服务器在收到音视频对应的实时传输控制协议发送报告(RTCP SR包)时,会分别计算对应音频包和视频包的NTP时间:
1、ntpTimeA为当前音频包对应的NTP时间,即发送端发送音频包时的时间,计算方式如下:
ntpTimeA=mNTPAnchorA+(rtpTimeA-mRTPAnchorA)/mTimeScaleA
2、ntpTimeV为当前视频包对应的NTP时间,即发送端发送视频包时的时间,计算方式如下:
ntpTimeV=mNTPAnchorV+(rtpTimeV-mRTPAnchorV)/mTimeScaleV
其中,
rtpTimeA为当前音频包携带的RTP时间戳
rtpTimeV为当前视频包携带的RTP时间戳
mRTPAnchorA为音频包对应参考的RTCP SR包里面携带的RTP时间戳;
mRTPAnchorV为视频包对应参考的RTCP SR包里面携带的RTP时间戳;
mTimeScaleA为一秒内的音频采样点数量,默认8000;
mTimeSacaleV为一秒内的视频采样点数量,默认90000;
mNTPAnchorA为音频包对应参考的RTCP SR包里面携带的NTP系统时间;
mNTPAnchorV为视频包对应参考的RTCP SR包里面携带的NTP系统时间。
一个数据帧的NTP时间由其对应的数据包的NTP时间决定。具体而言,一个音频数据帧由一个音频数据包携带,相应的,音频数据帧的NTP时间即为该音频数据包的NTP时间;一个视频数据帧可能由多个数据包携带,其中每个数据包携带的RTP时间戳相同,相应的,其中每个数据包对应的NTP时间也相同,因此,视频数据帧的NTP时间与其对应的任一音频数据包的NTP时间相同。
与上述方法实施例相对应,本申请还提供了一种音视频同步装置,设置于服务器中,包括:处理器,所述处理器用于:
在进行实时视频业务时,根据接收到的数据帧的类型,确定是否需要进行音视频同步处理;
当需要进行音视频同步处理时,采用预设的同步原则,对接收到的音频数据帧和视频数据帧进行同步处理,将同步处理后的视频数据帧以及对应的音频数据帧,保存至相应的文件中;其中,所述同步原则为当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧;
当不需要进行音视频同步处理时,所述服务器将接收到的所有数据帧,直接保存至相应的文件中。
较佳地,所述处理器具体用于:确定是否需要进行音视频同步处理,包括:
在接收到所述实时视频业务的首个数据帧之后,当该首个数据帧的缓存时长未达到预设的最大缓存时长时,如果接收到与所述首个数据帧不同类型的数据帧,则确定需要进行音视频同步处理;当该首个数据帧的缓存时长达到所述最大缓存时间时,如果未曾接收到与该首个数据帧不同类型的数据帧,则确定不需要进行音视频同步处理。
较佳地,所述处理器具体用于:采用预设的同步原则,对所接收到的音频数据帧和视频数据帧进行同步处理,包括:
按照网络时间协议NTP时间的升序,对已接收到的视频数据帧和音频数据帧分别进行排序,得到视频数据帧缓存队列和音频数据帧缓存队列;
当接收到新的数据帧时,按照数据帧的NTP时间和数据帧类型,将该新的数据帧,增加到相应类型的所述视频数据帧缓存队列或所述音频数据帧缓存队列中;
依次对于所述视频数据帧缓存队列中的每个视频数据帧Si,按照所述同步原则,利用当前所述音频数据帧缓存队列,为该视频数据帧Si确定对应的音频数据帧;其中,为该视频数据帧Si确定对应的音频数据帧包括:
x1、将所述音频数据帧缓存队列中未匹配到视频数据帧的首个音频数据帧作为当前的候选音频数据帧;
x2、如果当前的候选音频数据帧的NTP时间ta小于所述视频数据帧Si的NTP时间t0,则将所述候选音频数据帧从所述音频数据帧缓存队列中删除,返回步骤x1;
x3、如果所述ta等于所述t0,则将所述处于队首的音频数据帧确定为与所述视频数据帧Si对应的音频数据帧;
x4、如果所述ta大于所述t0,则在所述音频数据帧缓存队列中所述候选音频数据帧之前增加一个语音静默帧,作为与所述视频数据帧Si对应的音频数据帧。
较佳地,所述处理器进一步用于:
在接收到所述数据帧时,根据所述数据帧对应的实时传输控制协议发送报告RTCPSR,计算所述数据帧的NTP时间。
此外,本申请还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如前所述的音视频同步方法的步骤。
此外,本申请还提供了一种电子设备,包括如上所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种音视频同步方法,其特征在于,包括:
在进行实时视频业务时,服务器根据接收到的数据帧的类型,确定是否需要进行音视频同步处理;
当需要进行音视频同步处理时,所述服务器采用预设的同步原则,对接收到的音频数据帧和视频数据帧进行同步处理,将同步处理后的视频数据帧以及对应的音频数据帧,保存至相应的文件中;其中,所述同步原则为当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧;
当不需要进行音视频同步处理时,所述服务器将接收到的所有数据帧,直接保存至相应的文件中。
2.如权利要求1所述的方法,其特征在于:所述确定是否需要进行音视频同步处理包括:
在接收到所述实时视频业务的首个数据帧之后,当该首个数据帧的缓存时长未达到预设的最大缓存时长时,如果所述服务器接收到与所述首个数据帧不同类型的数据帧,则确定需要进行音视频同步处理;当该首个数据帧的缓存时长达到所述最大缓存时间时,如果所述服务器未曾接收到与该首个数据帧不同类型的数据帧,则确定不需要进行音视频同步处理。
3.如权利要求1所述的方法,其特征在于:所述服务器采用预设的同步原则,对所接收到的音频数据帧和视频数据帧进行同步处理包括:
所述服务器按照网络时间协议NTP时间的升序,对已接收到的视频数据帧和音频数据帧分别进行排序,得到视频数据帧缓存队列和音频数据帧缓存队列;
当接收到新的数据帧时,按照数据帧的NTP时间和数据帧类型,将该新的数据帧,增加到相应类型的所述视频数据帧缓存队列或所述音频数据帧缓存队列中;
依次对于所述视频数据帧缓存队列中的每个视频数据帧Si,按照所述同步原则,利用当前所述音频数据帧缓存队列,为该视频数据帧Si确定对应的音频数据帧;其中,为该视频数据帧Si确定对应的音频数据帧包括:
x1、将所述音频数据帧缓存队列中未匹配到视频数据帧的首个音频数据帧作为当前的候选音频数据帧;
x2、如果当前的候选音频数据帧的NTP时间ta小于所述视频数据帧Si的NTP时间t0,则将所述候选音频数据帧从所述音频数据帧缓存队列中删除,返回步骤x1;
x3、如果所述ta等于所述t0,则将所述处于队首的音频数据帧确定为与所述视频数据帧Si对应的音频数据帧;
x4、如果所述ta大于所述t0,则在所述音频数据帧缓存队列中所述候选音频数据帧之前增加一个语音静默帧,作为与所述视频数据帧Si对应的音频数据帧。
4.如权利要求1所述的方法,其特征在于:所述方法进一步包括:
所述服务器在接收到所述数据帧时,根据所述数据帧对应的发送报告,计算所述数据帧的NTP时间。
5.一种音视频同步装置,其特征在于,设置于服务器中,包括:处理器,所述处理器用于:
在进行实时视频业务时,根据接收到的数据帧的类型,确定是否需要进行音视频同步处理;
当需要进行音视频同步处理时,采用预设的同步原则,对接收到的音频数据帧和视频数据帧进行同步处理,将同步处理后的视频数据帧以及对应的音频数据帧,保存至相应的文件中;其中,所述同步原则为当音频数据帧丢失时,相应地补偿语音静默帧,当视频数据帧丢失时,丢弃相应的音频数据帧;
当不需要进行音视频同步处理时,所述服务器将接收到的所有数据帧,直接保存至相应的文件中。
6.如权利要求5所述的装置,其特征在于,所述处理器具体用于:确定是否需要进行音视频同步处理,包括:
在接收到所述实时视频业务的首个数据帧之后,当该首个数据帧的缓存时长未达到预设的最大缓存时长时,如果接收到与所述首个数据帧不同类型的数据帧,则确定需要进行音视频同步处理;当该首个数据帧的缓存时长达到所述最大缓存时间时,如果未曾接收到与该首个数据帧不同类型的数据帧,则确定不需要进行音视频同步处理。
7.如权利要求5所述的装置,其特征在于,所述处理器具体用于:采用预设的同步原则,对所接收到的音频数据帧和视频数据帧进行同步处理,包括:
按照网络时间协议NTP时间的升序,对已接收到的视频数据帧和音频数据帧分别进行排序,得到视频数据帧缓存队列和音频数据帧缓存队列;
当接收到新的数据帧时,按照数据帧的NTP时间和数据帧类型,将该新的数据帧,增加到相应类型的所述视频数据帧缓存队列或所述音频数据帧缓存队列中;
依次对于所述视频数据帧缓存队列中的每个视频数据帧Si,按照所述同步原则,利用当前所述音频数据帧缓存队列,为该视频数据帧Si确定对应的音频数据帧;其中,为该视频数据帧Si确定对应的音频数据帧包括:
x1、将所述音频数据帧缓存队列中未匹配到视频数据帧的首个音频数据帧作为当前的候选音频数据帧;
x2、如果当前的候选音频数据帧的NTP时间ta小于所述视频数据帧Si的NTP时间t0,则将所述候选音频数据帧从所述音频数据帧缓存队列中删除,返回步骤x1;
x3、如果所述ta等于所述t0,则将所述处于队首的音频数据帧确定为与所述视频数据帧Si对应的音频数据帧;
x4、如果所述ta大于所述t0,则在所述音频数据帧缓存队列中所述候选音频数据帧之前增加一个语音静默帧,作为与所述视频数据帧Si对应的音频数据帧。
8.如权利要求5所述的装置,其特征在于,所述处理器进一步用于:
在接收到所述数据帧时,根据所述数据帧对应的实时传输控制协议发送报告RTCP SR,计算所述数据帧的NTP时间。
9.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至4中任一项所述的音视频同步方法的步骤。
10.一种电子设备,其特征在于,包括如权利要求9所述的非易失性计算机可读存储介质、以及可访问所述非易失性计算机可读存储介质的所述处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911290319.1A CN112995720B (zh) | 2019-12-16 | 2019-12-16 | 一种音视频同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911290319.1A CN112995720B (zh) | 2019-12-16 | 2019-12-16 | 一种音视频同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995720A true CN112995720A (zh) | 2021-06-18 |
CN112995720B CN112995720B (zh) | 2022-11-18 |
Family
ID=76342941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911290319.1A Active CN112995720B (zh) | 2019-12-16 | 2019-12-16 | 一种音视频同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995720B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507617A (zh) * | 2021-06-24 | 2021-10-15 | 广州易方信息科技股份有限公司 | 基于视频流的sei帧回放数据同步方法、系统、装置及介质 |
CN113507637A (zh) * | 2021-07-13 | 2021-10-15 | 北京字跳网络技术有限公司 | 媒体文件处理方法、装置、设备、可读存储介质及产品 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777265A (zh) * | 2005-08-19 | 2006-05-24 | 上海晨兴电子科技有限公司 | 影音同步录制及播放方法 |
CN101996662A (zh) * | 2010-10-22 | 2011-03-30 | 深圳市万兴软件有限公司 | 视频文件的连接输出方法和装置 |
CN102215429A (zh) * | 2010-04-01 | 2011-10-12 | 安凯(广州)微电子技术有限公司 | 一种用于移动电视的录制方法 |
US20130007201A1 (en) * | 2011-06-29 | 2013-01-03 | Gracenote, Inc. | Interactive streaming content apparatus, systems and methods |
CN104978966A (zh) * | 2014-04-04 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 音频流中的丢帧补偿实现方法和装置 |
CN105280205A (zh) * | 2014-05-30 | 2016-01-27 | 深圳锐取信息技术股份有限公司 | 非线性编辑软件音视频同步处理方法及装置 |
EP3203701A1 (en) * | 2016-02-04 | 2017-08-09 | Unify Patente GmbH & Co. KG | Method of controlling a real-time conference session, a computer program product causing a computer to execute the method, and a communication system for controlling the real-time conference session |
CN107801080A (zh) * | 2017-11-10 | 2018-03-13 | 普联技术有限公司 | 一种音视频同步方法、装置及设备 |
CN108055566A (zh) * | 2017-12-26 | 2018-05-18 | 郑州云海信息技术有限公司 | 音视频同步的方法、装置、设备及计算机可读存储介质 |
CN108769770A (zh) * | 2018-06-21 | 2018-11-06 | 广州酷狗计算机科技有限公司 | 调整音频单元的方法和装置 |
CN110062277A (zh) * | 2019-03-13 | 2019-07-26 | 北京河马能量体育科技有限公司 | 一种音视频自动同步方法及同步系统 |
-
2019
- 2019-12-16 CN CN201911290319.1A patent/CN112995720B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777265A (zh) * | 2005-08-19 | 2006-05-24 | 上海晨兴电子科技有限公司 | 影音同步录制及播放方法 |
CN102215429A (zh) * | 2010-04-01 | 2011-10-12 | 安凯(广州)微电子技术有限公司 | 一种用于移动电视的录制方法 |
CN101996662A (zh) * | 2010-10-22 | 2011-03-30 | 深圳市万兴软件有限公司 | 视频文件的连接输出方法和装置 |
US20130007201A1 (en) * | 2011-06-29 | 2013-01-03 | Gracenote, Inc. | Interactive streaming content apparatus, systems and methods |
CN104978966A (zh) * | 2014-04-04 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 音频流中的丢帧补偿实现方法和装置 |
CN105280205A (zh) * | 2014-05-30 | 2016-01-27 | 深圳锐取信息技术股份有限公司 | 非线性编辑软件音视频同步处理方法及装置 |
EP3203701A1 (en) * | 2016-02-04 | 2017-08-09 | Unify Patente GmbH & Co. KG | Method of controlling a real-time conference session, a computer program product causing a computer to execute the method, and a communication system for controlling the real-time conference session |
CN107801080A (zh) * | 2017-11-10 | 2018-03-13 | 普联技术有限公司 | 一种音视频同步方法、装置及设备 |
CN108055566A (zh) * | 2017-12-26 | 2018-05-18 | 郑州云海信息技术有限公司 | 音视频同步的方法、装置、设备及计算机可读存储介质 |
CN108769770A (zh) * | 2018-06-21 | 2018-11-06 | 广州酷狗计算机科技有限公司 | 调整音频单元的方法和装置 |
CN110062277A (zh) * | 2019-03-13 | 2019-07-26 | 北京河马能量体育科技有限公司 | 一种音视频自动同步方法及同步系统 |
Non-Patent Citations (1)
Title |
---|
尤家斌: "浅析Dante技术要点及其应用", 《演艺科技》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507617A (zh) * | 2021-06-24 | 2021-10-15 | 广州易方信息科技股份有限公司 | 基于视频流的sei帧回放数据同步方法、系统、装置及介质 |
CN113507637A (zh) * | 2021-07-13 | 2021-10-15 | 北京字跳网络技术有限公司 | 媒体文件处理方法、装置、设备、可读存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112995720B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200127577A1 (en) | Controlling a jitter buffer | |
WO2017161998A1 (zh) | 视频处理方法和装置、计算机存储介质 | |
EP3179732A1 (en) | Synchronizing playback of segmented video content across multiple video playback devices | |
US9237108B2 (en) | Jitter buffer emulation for RTP streams in passive network monitoring systems | |
CN106686438B (zh) | 一种跨设备的音频图像同步播放的方法、装置及系统 | |
US9565482B1 (en) | Adaptive profile switching system and method for media streaming over IP networks | |
CN113286184B (zh) | 一种在不同设备上分别播放音频与视频的唇音同步方法 | |
US20140104493A1 (en) | Proactive video frame dropping for hardware and network variance | |
CN113992967B (zh) | 一种投屏数据传输方法、装置、电子设备及存储介质 | |
CN106488265A (zh) | 一种发送媒体流的方法和装置 | |
JP4782973B2 (ja) | オーディオおよびビデオ信号の同期化 | |
US20130091528A1 (en) | Video reproduction system, receive terminal, home gateway device, and quality control system | |
CN109644162B (zh) | 媒体缓冲 | |
US20110010625A1 (en) | Method for Manually Optimizing Jitter, Delay and Synch Levels in Audio-Video Transmission | |
CN112995720B (zh) | 一种音视频同步方法和装置 | |
CN110381350B (zh) | 基于webrtc的多路录像回放同步系统及其处理方法 | |
EP2654309A1 (en) | Method and device for evaluating video quality | |
US20240121455A1 (en) | Method, apparatus, electronic device and storage medium for video bitrate switching | |
KR20120011969A (ko) | Rtsp 세션에 기초해 스트리밍 데이터를 송수신하는 방법 및 장치 | |
US9912617B2 (en) | Method and apparatus for voice communication based on voice activity detection | |
CN110225385A (zh) | 一种音视频同步调整方法和装置 | |
JP2005322995A (ja) | リアルタイム映像転送におけるバッファ制御方法、送信端末、受信端末、映像配信システム、およびプログラム | |
EP2405649B1 (en) | Method and terminal for synchronously recording sounds and images of opposite ends based on circuit domain video telephone | |
JP2015012557A (ja) | 映像音声処理装置、映像音声処理システム、映像音声同期方法、プログラム | |
JP6711120B2 (ja) | 映像再生装置、映像再生方法および映像再生プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |