CN113225598A - 移动端音视频同步的方法、装置、设备及存储介质 - Google Patents

移动端音视频同步的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113225598A
CN113225598A CN202110495487.5A CN202110495487A CN113225598A CN 113225598 A CN113225598 A CN 113225598A CN 202110495487 A CN202110495487 A CN 202110495487A CN 113225598 A CN113225598 A CN 113225598A
Authority
CN
China
Prior art keywords
audio
video
data
synchronization
mobile terminal
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
Application number
CN202110495487.5A
Other languages
English (en)
Other versions
CN113225598B (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.)
Shanghai Yitan Network Technology Co ltd
Original Assignee
Shanghai Yitan Network Technology 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 Shanghai Yitan Network Technology Co ltd filed Critical Shanghai Yitan Network Technology Co ltd
Priority to CN202110495487.5A priority Critical patent/CN113225598B/zh
Publication of CN113225598A publication Critical patent/CN113225598A/zh
Application granted granted Critical
Publication of CN113225598B publication Critical patent/CN113225598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种移动端音视频同步的方法、装置、设备及存储介质,针对现有的移动端(Android/IOS)的原生播放器或开源播放器对高码率高分辨率、网络抖动等直播场景的音视频同步,以及低延迟需求达不到令人满意的效果的问题,通过HTTP/RTMP协议接收包含音频和视频数据的网络包;分离网络包中的音频数据与视频数据,并分别进行缓存解析;当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;最后播放经时间同步后的音频数据和视频数据。降低网络延迟,避免出现高码率高分辨率的直播场景下的音视频不同步以及网络情况不佳时的延迟较高这类非常影响用户体验的问题。

Description

移动端音视频同步的方法、装置、设备及存储介质
技术领域
本发明属于视频处理的技术领域,尤其涉及一种移动端音视频同步的方法、装置、设备及存储介质。
背景技术
目前,移动端(Android/IOS)的原生播放器或开源播放器能满足大部分移动端的音视频播放场景。但对高码率高分辨率、网络抖动等直播场景的音视频同步,以及低延迟需求,包括不同网络环境、不同配置的机型设备的自适应支持情况,达不到令人满意的效果。
其中,音视频不同步的原因主要有:
1、音视频帧的解码、渲染时间,难以精准控制,造成每一帧数据存在有细微差距,长久累计,音视频不同步会越来越明显。
2、从网络获取的媒体流本身的音视频时间有差距。
经典的音视频同步是引入时间戳,首先选择参考时钟,其中参考时钟的选择方案有三种:音频同步到视频、音视频同步到外部时钟及视频同步到音频。方案一,音频会被频繁的调速,由于人耳对声音的变化很敏感,因此,不适用。方案二,在网络卡顿时需要做时间修正,做加减速时保持步调一致不容易处理。方案三,视频同步到音频比较自然,视频能够很方便做调速处理。
而对网络延迟的处理,对于播放端来说,从网络层接收数据到渲染层播放数据,是典型的生产者消费者模型。正常情况,生产速度和消费速度保持一致,但网络抖动引发的卡顿与音视频数据堆积会造成时延。堆积的数据需要快速消费掉,否则时延将会逐渐增大。通常采用以下方案处理网络延迟:
1:直接丢弃部分数据;2:短时的快速播放;3:长时的较快速播放。
发明内容
本发明的目的是提供一种移动端音视频同步的方法、装置、设备及存储介质,降低网络延迟,避免在高码率的直播场景下,移动端出现音视频不同步的现象。
为解决上述问题,本发明的技术方案为:
一种移动端音视频同步的方法,包括:
通过HTTP/RTMP协议接收包含音频和视频数据的网络包;
分离网络包中的音频数据与视频数据,并分别进行缓存解析;
当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;
播放经时间同步后的音频数据和视频数据。
根据本发明一实施例,所述分离网络包中的音频数据与视频数据,并分别进行缓存解析进一步包括:
通过解复用线程对网络包中的数据进行解复用处理,得到分离的音频流数据、视频流数据;
将解复用后分解出来的音频流数据和视频流数据存储到缓冲区中;分别保留音频FIFO数据链表和视频FIFO数据链表接收的第一个数据的PTS信息,作为时钟基数,并且分别将第一音频流数据帧和第一视频流数据帧标记时间截为0,后来的音频流数据帧和视频流数据帧根据数据的PTS分别依次标记时间戳。
根据本发明一实施例,所述当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费进一步包括:
当出现音视频数据堆积而造成时延时,对不同缓存区的音频数据设置不同的播放速度;
当出现音视频不同步时,以音频为基准,使视频帧的时间向音频帧的时间对齐;
在解码过程中,根据音频时间戳与视频时间戳的差值,进行丢帧处理。
根据本发明一实施例,所述对不同缓存区的音频数据设置不同的播放速度进一步包括:
以音频数据的存储时间为序,将缓存依次划分为多个分区,为多个分区的音频数据设置不同的播放速度。
根据本发明一实施例,所述多个分区为大小递增的缓存分区,所述不同的播放速度为按分区的大小进行速度递增的播放速度。
根据本发明一实施例,所述根据音频时间戳与视频时间戳的差值,进行丢帧处理进一步包括:
在音频数据与视频数据的解码过程中,计算音频时间戳与视频时间戳的差值,将所述差值与预设阈值进行比较,当所述差值超出预设阈值时,将丢弃当前视频帧的下一个GOP组。
一种移动端音视频同步的装置,包括:
数据接收模块,用于通过HTTP/RTMP协议接收包含音频和视频数据的网络包;
解复用缓存模块,用于分离网络包中的音频数据与视频数据,并分别进行缓存解析;
音视频同步模块,用于当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;
渲染模块,用于播放经时间同步后的音频数据和视频数据。
根据本发明一实施例,所述解复用缓存模块包括解复用线程、解封装线程,所述音视频同步模块包括音频解码线程、视频解码线程,所述渲染模块包括渲染线程;
所述解复用线程将对网络包中的数据进行解复用处理,得到分离的音频流数据AudioPacket、视频流数据VideoPacket;
所述解封装线程获取音频流数据AudioPacket、视频流数据VideoPacket,将音频流数据AudioPacket传输给所述音频解码线程进行解码,将视频流数据VideoPacket传输给所述视频解码线程进行解码及同步音频处理;
所述渲染线程接收并播放同步后的音频帧及视频帧。
一种移动端音视频同步的设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行计算机可读指令时,实现本发明一实施例中的移动端音视频同步的方法。
一种计算机可读介质,存储计算机程序,所述计算机程序被一个或多个处理器执行时,实现本发明一实施例中的移动端音视频同步的方法。
本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
本发明一实施例中的移动端音视频同步的方法,针对现有的移动端(Android/IOS)的原生播放器或开源播放器对高码率高分辨率、网络抖动等直播场景的音视频同步,以及低延迟需求达不到令人满意的效果的问题,通过HTTP/RTMP协议接收包含音频和视频数据的网络包;分离网络包中的音频数据与视频数据,并分别进行缓存解析;当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;播放经时间同步后的音频数据和视频数据。降低了网络延迟,避免出现高码率高分辨率的直播场景下的音视频不同步以及网络情况不佳时的延迟较高这类非常影响用户体验的问题。
附图说明
图1为本发明一实施例中的移动端音视频同步的方法流图;
图2为本发明一实施例中的视频丢帧示意图;
图3为本发明一实施例中的移动端音视频同步的装置框图;
图4为本发明一实施例中的移动端音视频同步的设备示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种移动端音视频同步的方法、装置、设备及存储介质作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
实施例一
本实施例针对现有的移动端(Android/IOS)的原生播放器或开源播放器对高码率高分辨率、网络抖动等直播场景的音视频同步,以及低延迟需求达不到令人满意的效果的问题,提供了一种移动端的音视频同步方法,降低网络延迟,避免在高码率高分辨率的直播场景下的音视频不同步以及网络情况不佳时的延迟较高这类非常影响用户体验的问题。
具体的,请参看图1,该移动端音视频同步的方法,包括以下步骤:
S1:通过HTTP/RTMP协议接收包含音频和视频数据的网络包;
S2:分离网络包中的音频数据与视频数据,并分别进行缓存解析;
S3:当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;
S4:播放经时间同步后的音频数据和视频数据。
在步骤S1中,通过HTTP/RTMP协议接收包含音频和视频数据的网络包。在Internet上,流(Streaming)的定义非常广泛,主要是指通过网络传输多媒体数据的技术总称。流媒体是相对于传统的下载-回放方式而言的,指的是一种从Internet上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输和实时播放。
通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。流式传输有:顺序流式传输(Progressive Streaming)和实时流式传输(RealtimeStreaming)两种方式。
其中,实时流式传输(Realtime Streaming)是实时传送,特别适合现场事件,实时流式传输必须匹配连接带宽,这意味着图像质量会因网络速度降低而变差,以减少对传输带宽的需求。“实时”的概念是指在一个应用中数据的交付必须与数据的产生保持精确的时间关系,这需要相应的协议支持,它包括的协议有:RTP、RTCP和RTSP。
顺序流式传输(Progressive Streaming)是顺序下载,顺序流式传输不像实时流式传输那样,可以在传输期间根据用户连接的速度进行调整。它包括的协议比较多,有:RTMP、HTTP、MMS和HLS。
本实施例通过HTTP/RTMP协议接收包含音频和视频数据的网络包,其中,RTMP协议(Real Time Messaging Protocol)是被Flash用于对象、视频、音频的传输。这个协议建立在TCP协议或者轮询HTTP协议之上;RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF格式的数据,也可以是FLV中的视/音频数据。一个单一的连接可以通过不同的通道传输多路网络流,这些通道中的包都是按照固定大小的包传输的。
在步骤S2中,分离网络包中的音频数据与视频数据,并分别进行缓存解析。其中,分离网络包中的音频数据与视频数据,并分别进行缓存解析进一步包括:
通过解复用线程对网络包中的数据进行解复用处理,得到分离的音频流数据、视频流数据;
将解复用后分解出来的音频流数据和视频流数据存储到缓冲区中;分别保留音频FIFO数据链表和视频FIFO数据链表接收的第一个数据的PTS信息,作为时钟基数,并且分别将第一音频流数据帧和第一视频流数据帧标记时间截为0,后来的音频流数据帧和视频流数据帧根据数据的PTS分别依次标记时间戳。
其中,将经解复用线程解复用后分解出来的音频流数据和视频流数据存储到缓冲区中,例如将该音频流数据和视频流数据分别存储到音频FIFO数据链表和视频FIFO数据链表中。
分别根据音频流数据和视频流数据的PTS(presentation time stamp,显示时间戳)标记音频流数据帧和视频流数据帧的时间戳。具体的,分别保留音频FIFO数据链表和视频FIFO数据链表接收的第一个数据的PTS信息,作为时钟基数,并且分别将第一音频流数据帧和第一视频流数据帧标记时间戳为0,后来的音频流数据帧和视频流数据帧根据数据的PTS分别依次标记时间戳。
在步骤S3中,当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费进一步包括:
当出现音视频数据堆积而造成时延时,对不同缓存区的音频数据设置不同的播放速度;
当出现音视频不同步时,以音频为基准,使视频帧的时间向音频帧的时间对齐;
在解码过程中,根据音频时间戳与视频时间戳的差值,进行丢帧处理。
对于播放端来说,从网络层接收数据到渲染层播放数据,是典型的生产者消费者模型。正常情况,生产速度和消费速度保持一致,但网络抖动引发的卡顿与音视频数据堆积会造成时延。堆积的数据需要快速消费掉,否则时延将会逐渐增大。通常采用以下方案处理网络延迟:1:直接丢弃部分数据;2:短时的快速播放;3:长时的较快速播放。
本实施例考虑到人耳对音频的敏感性和音频时钟为参考时钟的原因,采用对音频长时的较快速播放策略,加速消费音频。在加速消费音频的时候,对于不同大小的缓存区中的音频数据设定不同的加速速度。例如,将缓存依次划分为多个分区,为多个分区的音频数据设置不同的播放速度。这多个分区为大小递增的缓存分区,不同的播放速度为按分区的大小进行速度递增的播放速度。
具体的,将缓存范围分成有6个区间,其中,涉及到的5个边界值,分别为lowWaterMark、lowMiddleWaterMark、middleWaterMark、middleHighWaterMark、HighWaterMark。这5个边界值对应不支持硬解的低端机型和支持硬解的高端机型是不同的。对于不支持硬解的低端机型这5个值分别为200、1000、4000、10000、60000;对应支持硬解的高端机型这5个边界值分别为200、1000、3000、6000、10000,单位均为Ms。在这6个区间中,对于前三个区间,可不做加速处理,对于后三个区间,进行加倍处理,其倍速分别设定为1.1、1.2和1.3。这里的硬解是指IOS开放的硬解API(VideoToolBox)及Android开放的硬解API(MediaCodec)。以IOS举例,支持硬解的高端机型可通过VTDeCompressionSessionCreate创建解码对话,再通过VTDecompressionSessionDecodeframe解码一个视频帧,获得Frame。最后通过VTDecompressionSessionInvalidate释放解码会话。目前大多数手机支持硬解,对于高码率高分辨率直播场景采用硬解方案,提升解码速度,并降低CPU占用率,可提升音视频播放性能。
对音频做了倍速播放后,不可避免遇到音视频不同步问题,可通过以下方法解决:
当出现音视频不同步时,以音频为基准,使视频帧的时间向音频帧的时间对齐;在解码过程中,根据音频时间戳与视频时间戳的差值,进行丢帧处理。
具体的,首先对音频队列取数据,根据缓存区间的大小以及上述音频加速策略决定是加速播放,还是正常播放音频。这里主要的思路是将倍速加速度传递给播放控制器,播放控制器通过该加速度控制音频播放器按相应的加速度加速播放音频,并在最末端,将音频PTS同步给视频,同时会计算音频时间戳和视频时间戳的差异值,以此采取下一步策略。
本实施例预先设置一个经验阈值,经验阈值具体设定为500ms。在此经验阈值范围内,人无法分辨出音视频不同步的异常,无需做处理。在此阈值范围外,则需要对视频帧做丢帧处理,以此追上音频帧的消费。
关于丢帧策略,有两种选择。策略一为只丢弃时间戳差值超过经验阈值的当前帧。策略二为丢弃时间戳差值超过经验阈值的当前帧的下一个GOP组。两个策略的不同之处在于,由于视频帧的解码是编码的逆过程,视频帧的编码是采取帧间/帧内预测的方式编码,其中的帧间预测会将视频帧分为IBP三种类型的帧。如果采取策略一,丢弃了参考帧会造成部分时刻的画面缺少相关信息造成花屏现象;而策略二可避免出现花屏现象,但会造成卡顿现象。考虑到直播场景的体验问题,本实施例采用策略二。
请参看图2,当解封装某个Packet时,这时音频和视频的时间戳的差值超过了AudioVideoOutOfSyncThreshold(500ms)。这时是否丢帧的bool标记位设定为true,直到此Packet的下一个GOP全部丢弃,该是否丢帧的bool标记位才设为false。
在步骤S4中,播放经时间同步后的音频数据和视频数据。该步骤主要将步骤S3同步后的音频数据与视频数据进行渲染播放。一般的播放器均可实现该步骤的功能,在此不做过多介绍。
本实施例中的移动端音视频同步的方法,针对现有的移动端(Android/IOS)的原生播放器或开源播放器对高码率高分辨率、网络抖动等直播场景的音视频同步,以及低延迟需求达不到令人满意的效果的问题,通过HTTP/RTMP协议接收包含音频和视频数据的网络包;分离网络包中的音频数据与视频数据,并分别进行缓存解析;当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;最后播放经时间同步后的音频数据和视频数据。降低了网络延迟,避免出现高码率高分辨率的直播场景下的音视频不同步以及网络情况不佳时的延迟较高这类非常影响用户体验的问题。
实施例二
本实施例提供了一种移动端音视频同步的装置,请参看图3,该移动端音视频同步的装置包括:
数据接收模块(即图3中的网络接收),用于通过HTTP/RTMP协议接收包含音频和视频数据的网络包;
解复用缓存模块,用于分离网络包中的音频数据与视频数据,并分别进行缓存解析;该解复用缓存模块包括解复用单元、视频缓存单元及音频缓存单元,分别对应图3中的解复用、VideoBuffer及AudioBuffer。
音视频同步模块(即图3中的视频解码、PictureBuffer、同步控制、音频解码及SampleBuffer),用于当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;该音视频同步模块包括视频解码单元、图像缓存单元、音频解码单元、采样缓存单元及同步控制单元,分别对应图3中的视频解码、PictureBuffer、音频解码、SampleBuffer及同步控制。
渲染模块,用于播放经时间同步后的音频数据和视频数据。
其中,解复用缓存模块包括解复用线程、解封装线程,音视频同步模块包括音频解码线程、视频解码线程,渲染模块包括渲染线程。解复用线程将对网络包中的数据进行解复用处理,得到分离的音频流数据AudioPacket、视频流数据VideoPacket;解封装线程获取音频流数据AudioPacket、视频流数据VideoPacket,将音频流数据AudioPacket传输给音频解码线程进行解码,将视频流数据VideoPacket传输给视频解码线程,进行解码及同步音频处理;渲染线程接收并播放同步后的音频帧及视频帧。
本实施例采用多线程处理,上述模块间的处理流程都是独立线程完成的,其中涉及的每秒帧率由单一处理过程的最大耗时决定。即每秒帧率的计算公式为:全局帧数/全局时间,其中,全局时间=Max{渲染时间,解封装时间,音频解码时间,视频解码时间}。
上述数据接收模块、解复用缓存模块、音视频同步模块及渲染模块的功能及实现方法均如实施例一中所述,在此不再赘述。
实施例三
上述实施例二从模块化功能实体的角度对本发明移动端音视频同步的装置进行描述,下面从硬件处理的角度对本发明移动端音视频同步的设备进行详细描述。
请参看图4,该移动端音视频同步的设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对移动端音视频同步的设备500中的一系列指令操作。
进一步地,处理器510可以设置为与存储介质530通信,在移动端音视频同步的设备500上执行存储介质530中的一系列指令操作。
移动端音视频同步的设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Android、Ios等等。
本领域技术人员可以理解,图4示出的移动端音视频同步的设备结构并不构成对移动端音视频同步的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种手机系统可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该手机系统可读存储介质也可以为易失性计算机可读存储介质。该手机系统可读存储介质中存储有指令,当该指令在手机系统上运行时,使得手机系统执行实施例一中的移动端音视频同步的方法中的步骤。
实施例二中的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个手机设备可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件的形式体现出来,该移动端软件存储在一个存储介质中,包括若干指令用以使得一台移动设备(可以是Android手机,Ios手机,或者平板等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:数据卡、内存卡、只读存储器(Read-only memory,ROM)、随机存取存储器(Random access memory,RAM)等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置及设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。

Claims (10)

1.一种移动端音视频同步的方法,其特征在于,包括:
通过HTTP/RTMP协议接收包含音频和视频数据的网络包;
分离网络包中的音频数据与视频数据,并分别进行缓存解析;
当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;
播放经时间同步后的音频数据和视频数据。
2.如权利要求1所述的移动端音视频同步的方法,其特征在于,所述分离网络包中的音频数据与视频数据,并分别进行缓存解析进一步包括:
通过解复用线程对网络包中的数据进行解复用处理,得到分离的音频流数据、视频流数据;
将解复用后分解出来的音频流数据和视频流数据存储到缓冲区中;分别保留音频FIFO数据链表和视频FIFO数据链表接收的第一个数据的PTS信息,作为时钟基数,并且分别将第一音频流数据帧和第一视频流数据帧标记时间截为0,后来的音频流数据帧和视频流数据帧根据数据的PTS分别依次标记时间戳。
3.如权利要求1所述的移动端音视频同步的方法,其特征在于,所述当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费进一步包括:
当出现音视频数据堆积而造成时延时,对不同缓存区的音频数据设置不同的播放速度;
当出现音视频不同步时,以音频为基准,使视频帧的时间向音频帧的时间对齐;
在解码过程中,根据音频时间戳与视频时间戳的差值,进行丢帧处理。
4.如权利要求3所述的移动端音视频同步的方法,其特征在于,所述对不同缓存区的音频数据设置不同的播放速度进一步包括:
以音频数据的存储时间为序,将缓存依次划分为多个分区,为多个分区的音频数据设置不同的播放速度。
5.如权利要求4所述的移动端音视频同步的方法,其特征在于,所述多个分区为大小递增的缓存分区,所述不同的播放速度为按分区的大小进行速度递增的播放速度。
6.如权利要求3所述的移动端音视频同步的方法,其特征在于,所述根据音频时间戳与视频时间戳的差值,进行丢帧处理进一步包括:
在音频数据与视频数据的解码过程中,计算音频时间戳与视频时间戳的差值,将所述差值与预设阈值进行比较,当所述差值超出预设阈值时,将丢弃当前视频帧的下一个GOP组。
7.一种移动端音视频同步的装置,其特征在于,包括:
数据接收模块,用于通过HTTP/RTMP协议接收包含音频和视频数据的网络包;
解复用缓存模块,用于分离网络包中的音频数据与视频数据,并分别进行缓存解析;
音视频同步模块,用于当出现音视频数据堆积而造成时延时,以倍数播放音频的方式,同步音频数据和视频数据的生产和消费;
渲染模块,用于播放经时间同步后的音频数据和视频数据。
8.如权利要求7所述的移动端音视频同步的装置,其特征在于,所述解复用缓存模块包括解复用线程、解封装线程,所述音视频同步模块包括音频解码线程、视频解码线程,所述渲染模块包括渲染线程;
所述解复用线程将对网络包中的数据进行解复用处理,得到分离的音频流数据AudioPacket、视频流数据VideoPacket;
所述解封装线程获取音频流数据AudioPacket、视频流数据VideoPacket,将音频流数据AudioPacket传输给所述音频解码线程进行解码,将视频流数据VideoPacket传输给所述视频解码线程进行解码及同步音频处理;
所述渲染线程接收并播放同步后的音频帧及视频帧。
9.一种移动端音视频同步的设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行计算机可读指令时,实现如权利要求1至6中任意一项所述的移动端音视频同步的方法。
10.一种计算机可读介质,存储计算机程序,其特征在于,所述计算机程序被一个或多个处理器执行时,实现如权利要求1至6中任意一项所述的移动端音视频同步的方法。
CN202110495487.5A 2021-05-07 2021-05-07 移动端音视频同步的方法、装置、设备及存储介质 Active CN113225598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110495487.5A CN113225598B (zh) 2021-05-07 2021-05-07 移动端音视频同步的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110495487.5A CN113225598B (zh) 2021-05-07 2021-05-07 移动端音视频同步的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113225598A true CN113225598A (zh) 2021-08-06
CN113225598B CN113225598B (zh) 2023-01-20

Family

ID=77091462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110495487.5A Active CN113225598B (zh) 2021-05-07 2021-05-07 移动端音视频同步的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113225598B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024925A (zh) * 2021-11-02 2022-02-08 成都达拓智通科技有限公司 一种非连续性通话音频流传输队列控制方法
CN114286149A (zh) * 2021-12-31 2022-04-05 广东博华超高清创新中心有限公司 一种跨设备和系统的音视频同步渲染的方法及系统
CN114339302A (zh) * 2021-12-31 2022-04-12 咪咕文化科技有限公司 导播方法、装置、设备以及计算机存储介质
CN114630170A (zh) * 2022-03-24 2022-06-14 北京字节跳动网络技术有限公司 一种音视频同步方法、装置、电子设备及存储介质
CN114710687A (zh) * 2022-03-22 2022-07-05 阿里巴巴(中国)有限公司 音视频同步方法、装置、设备及存储介质
CN114827679A (zh) * 2022-04-19 2022-07-29 海信视像科技股份有限公司 显示设备和音画同步方法
CN114900507A (zh) * 2022-04-29 2022-08-12 阿里巴巴(中国)有限公司 Rtc音频数据的处理方法、装置、设备以及存储介质
CN114979771A (zh) * 2022-07-26 2022-08-30 北京智象信息技术有限公司 一种多媒体播放器视频预滚水位控制的方法、装置及介质
CN115243089A (zh) * 2022-07-30 2022-10-25 天翼云科技有限公司 一种音视频同步渲染方法及装置、电子设备

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6803964B1 (en) * 1997-03-21 2004-10-12 International Business Machines Corporation Method and apparatus for processing digital data
CN102665141A (zh) * 2012-05-16 2012-09-12 哈尔滨工业大学深圳研究生院 一种基于rtp封装的avs音视频预同步方法
CN103139636A (zh) * 2011-12-05 2013-06-05 优视科技有限公司 流媒体数据处理方法及装置、流媒体数据再现设备
CN104822008A (zh) * 2014-04-25 2015-08-05 腾讯科技(北京)有限公司 视频同步方法及装置
WO2016015670A1 (zh) * 2014-08-01 2016-02-04 广州金山网络科技有限公司 一种音频流解码方法及装置
CN108243350A (zh) * 2016-12-26 2018-07-03 深圳市中兴微电子技术有限公司 一种音视频同步处理的方法和装置
US10116989B1 (en) * 2016-09-12 2018-10-30 Twitch Interactive, Inc. Buffer reduction using frame dropping
CN110248256A (zh) * 2019-06-25 2019-09-17 腾讯科技(深圳)有限公司 数据的处理方法及装置、存储介质和电子装置
CN111294634A (zh) * 2020-02-27 2020-06-16 腾讯科技(深圳)有限公司 直播方法、装置、系统、设备及计算机可读存储介质
CN111372138A (zh) * 2018-12-26 2020-07-03 杭州登虹科技有限公司 一种播放器端的直播低延迟技术方案
CN111641858A (zh) * 2020-04-29 2020-09-08 上海推乐信息技术服务有限公司 一种音视频同步方法及系统
CN111918093A (zh) * 2020-08-13 2020-11-10 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6803964B1 (en) * 1997-03-21 2004-10-12 International Business Machines Corporation Method and apparatus for processing digital data
CN103139636A (zh) * 2011-12-05 2013-06-05 优视科技有限公司 流媒体数据处理方法及装置、流媒体数据再现设备
CN102665141A (zh) * 2012-05-16 2012-09-12 哈尔滨工业大学深圳研究生院 一种基于rtp封装的avs音视频预同步方法
CN104822008A (zh) * 2014-04-25 2015-08-05 腾讯科技(北京)有限公司 视频同步方法及装置
WO2016015670A1 (zh) * 2014-08-01 2016-02-04 广州金山网络科技有限公司 一种音频流解码方法及装置
US10116989B1 (en) * 2016-09-12 2018-10-30 Twitch Interactive, Inc. Buffer reduction using frame dropping
CN108243350A (zh) * 2016-12-26 2018-07-03 深圳市中兴微电子技术有限公司 一种音视频同步处理的方法和装置
CN111372138A (zh) * 2018-12-26 2020-07-03 杭州登虹科技有限公司 一种播放器端的直播低延迟技术方案
CN110248256A (zh) * 2019-06-25 2019-09-17 腾讯科技(深圳)有限公司 数据的处理方法及装置、存储介质和电子装置
WO2020259448A1 (zh) * 2019-06-25 2020-12-30 腾讯科技(深圳)有限公司 数据的处理方法及装置、计算机可读存储介质和电子装置
CN111294634A (zh) * 2020-02-27 2020-06-16 腾讯科技(深圳)有限公司 直播方法、装置、系统、设备及计算机可读存储介质
CN111641858A (zh) * 2020-04-29 2020-09-08 上海推乐信息技术服务有限公司 一种音视频同步方法及系统
CN111918093A (zh) * 2020-08-13 2020-11-10 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024925A (zh) * 2021-11-02 2022-02-08 成都达拓智通科技有限公司 一种非连续性通话音频流传输队列控制方法
CN114286149B (zh) * 2021-12-31 2023-07-07 广东博华超高清创新中心有限公司 一种跨设备和系统的音视频同步渲染的方法及系统
CN114286149A (zh) * 2021-12-31 2022-04-05 广东博华超高清创新中心有限公司 一种跨设备和系统的音视频同步渲染的方法及系统
CN114339302A (zh) * 2021-12-31 2022-04-12 咪咕文化科技有限公司 导播方法、装置、设备以及计算机存储介质
CN114339302B (zh) * 2021-12-31 2024-05-07 咪咕文化科技有限公司 导播方法、装置、设备以及计算机存储介质
CN114710687A (zh) * 2022-03-22 2022-07-05 阿里巴巴(中国)有限公司 音视频同步方法、装置、设备及存储介质
CN114710687B (zh) * 2022-03-22 2024-03-19 阿里巴巴(中国)有限公司 音视频同步方法、装置、设备及存储介质
CN114630170A (zh) * 2022-03-24 2022-06-14 北京字节跳动网络技术有限公司 一种音视频同步方法、装置、电子设备及存储介质
CN114630170B (zh) * 2022-03-24 2023-10-31 抖音视界有限公司 一种音视频同步方法、装置、电子设备及存储介质
CN114827679A (zh) * 2022-04-19 2022-07-29 海信视像科技股份有限公司 显示设备和音画同步方法
CN114900507A (zh) * 2022-04-29 2022-08-12 阿里巴巴(中国)有限公司 Rtc音频数据的处理方法、装置、设备以及存储介质
CN114979771A (zh) * 2022-07-26 2022-08-30 北京智象信息技术有限公司 一种多媒体播放器视频预滚水位控制的方法、装置及介质
CN115243089A (zh) * 2022-07-30 2022-10-25 天翼云科技有限公司 一种音视频同步渲染方法及装置、电子设备
CN115243089B (zh) * 2022-07-30 2024-01-02 天翼云科技有限公司 一种音视频同步渲染方法及装置、电子设备

Also Published As

Publication number Publication date
CN113225598B (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
CN113225598B (zh) 移动端音视频同步的方法、装置、设备及存储介质
CN109714634B (zh) 一种直播数据流的解码同步方法、装置及设备
WO2023024834A9 (zh) 一种游戏数据处理方法、装置及存储介质
US11758209B2 (en) Video distribution synchronization
CN110876080B (zh) 视频投屏方法、装置、计算机设备及存储介质
EP1699240B1 (en) Video data processing method and video data processing device
CN107566918B (zh) 一种视频分发场景下的低延时取流秒开方法
US20100183000A1 (en) Video delivering system, video delivering device, and synchronization correcting device
CN111343511B (zh) 一种通过组播实现的hls直播系统及方法
CN106470352B (zh) 直播频道播放方法、装置及系统
WO2017096935A1 (zh) 一种快速频道切换方法、服务器及iptv系统
US10887646B2 (en) Live streaming with multiple remote commentators
US8195829B2 (en) Streaming media player and method
CN101710997A (zh) 基于mpeg-2系统实现视、音频同步的方法及系统
US10264298B2 (en) Multiplexing apparatus, receiving apparatus, multiplexing method, and delay adjustment method
CN112770122B (zh) 一种在云导播台视频同步的方法及系统
CN112929713B (zh) 数据同步方法、装置、终端及存储介质
CN114245153B (zh) 切片方法、装置、设备及可读存储介质
CN113409801A (zh) 用于实时音频流播放的噪音处理方法、系统、介质和装置
CN111726669A (zh) 一种分布式解码设备及其音视频同步的方法
CN115474083B (zh) 一种多路音视频同步直播方法和系统
CN117255236A (zh) 用于数字可视化对讲的音视频同步方法
CN116684652A (zh) 音视频拉取方法、装置、存储介质及计算机设备

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