CN107438192A - 音视频播放同步的方法及相关***和多媒体播放终端 - Google Patents
音视频播放同步的方法及相关***和多媒体播放终端 Download PDFInfo
- Publication number
- CN107438192A CN107438192A CN201710616497.3A CN201710616497A CN107438192A CN 107438192 A CN107438192 A CN 107438192A CN 201710616497 A CN201710616497 A CN 201710616497A CN 107438192 A CN107438192 A CN 107438192A
- Authority
- CN
- China
- Prior art keywords
- video
- audio
- frame data
- frame
- data
- 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.)
- Pending
Links
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000003139 buffering effect Effects 0.000 claims abstract description 40
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 206010044565 Tremor Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/439—Processing of audio elementary streams
- H04N21/4392—Processing of audio elementary streams involving audio buffer management
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种音视频播放同步的方法及相关***及多媒体播放终端。所述方法包括:分别对接收的音频帧和视频帧进行解码,将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;从第一循环缓冲区中定时读取音频帧数据并播放;当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;若同步,读取所述视频帧数据并播放。本发明有效地解决了音视频播放的不同步的问题。
Description
技术领域
本发明涉及多媒体技术领域,特别涉及一种音视频播放同步的方法及相关***及多媒体播放终端。
背景技术
音视频媒体间同步是多媒体***服务质量(Quality of Service,QoS)研究中的一项重要内容。在网络上传输多媒体数据时,由于终端对数据的处理方式,以及网络中的延时、抖动,会引起音视频流的不同步。传统的音视频播放的解决方案往往存在实时性差,时间开销大,且无法动态地适应动态网络环境等缺陷,导致用户观看体验不好。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种音频视频播放同步的方法及装置。
第一方面,本发明实施例提供一种音视频播放同步的方法,包括:
分别对接收的音频帧和视频帧进行解码,将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
从第一循环缓冲区中定时读取音频帧数据并播放;
当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
若同步,读取所述视频帧数据并播放。
在一个实施例中,所述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
所述判断所述视频数据是否与当前正在播放的音频数据同步,包括:
判断所述视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;
当满足时,确定所述视频帧数据与当前正在播放的音视频数据同步;
上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
在一个实施例中,上述方法还包括:
当判断TVIDEO>TAUDIO+TMAX时,确定所述视频帧数据滞于所述音频帧数据,丢弃该视频帧数据;
当判断TVIDEO<TAUDIO-TMAX时,确定所述视频帧数据超前于所述音频帧数据,等待下次读取音频帧时进行播放。
在一个实施例中,在所述第一循环缓冲区定时读取音频帧数据之前,还包括:
判断所述第一循环缓冲区是否被充满;
如果已充满,则转向定时读取音频帧数据并播放的步骤。
在一个实施例中,所述第一循环缓冲区的空间大小满足:可存储的解码后音频帧数据的块数的门限值为N,所述N大于音频帧的最大抖动时间。
在一个实施例中,所述方法还包括:
对视频帧数据的丢失和延迟抖动进行统计;向发送端反馈QoS报告;所述QoS报告包含丢包率和延迟抖动,以便发送端根据所述报告调整视频的空域质量和/或时域质量。
第二方面,本发明实施例提供一种多媒体播放终端,包括:
解码模块,用于分别对接收的音频帧和视频帧进行解码;
缓存模块,用于将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
同步判读模块,用于当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
播放模块,用于从第一循环缓冲区中定时读取音频帧数据并播放;以及当所述同步模块判断所述视频帧数据与当前正在播放的音频帧数据同步时,读取所述视频帧数据并播放。
在一个实施例中,所述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
所述同步判断模块,具体用于判断所述视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;当满足时,确定所述视频帧数据与当前正在播放的音视频数据同步;上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
在一个实施例中,上述终端,还包括:视频帧丢弃模块;
所述同步判断模块,还用于当判断TVIDEO>TAUDIO+TMAX时,确定所述视频帧数据滞于所述音频帧数据;以及当判断TVIDEO<TAUDIO-TMAX时,确定所述视频帧数据超前于所述音频帧数据;
所述视频帧丢弃模块,用于当所述同步判断模块判断所述视频帧数据滞于所述音频帧数据时,丢弃该视频帧数据;
所述播放模块,还用于当所述同步判断模块判断所述视频帧数据超前于所述音频帧数据时,等待下次读取音频帧时进行播放。
第三方面,本发明实施例提供一种音视频播放同步的***,包括:多媒体发送端设备和如前述的至少一个多媒体播放终端;
所述多媒体发送端设备用于向所述至少一个多媒体播放终端发送音频帧和对应视频帧。
进一步地,所述多媒体播放终端,还用于对视频帧数据的丢失和延迟抖动进行统计;向所述音视频发送端设备反馈QoS报告;所述QoS报告包含丢包率和延迟抖动;
所述多媒体发送端设备,还用于根据所述报告调整后续发送的视频帧的空域质量和/或时域质量。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明提供的上述音视频播放同步的方法及相关***及多媒体播放终端,在音视频接收端,对音频和视频分别进行解码并保存于对应的循环缓冲区,保证音视频播放的连续性,然后以播放的音频流作为主流,将视频流与音频流进行同步处理,实现基于循环缓冲队列的音视频的同步播放,克服了由于终端或网络原因导致的音视频流的不同步。
进一步地,本发明中,基于音视频终端的反馈,在网络情况较差时,发送端设备还可以根据数据包丢失率和延迟抖动的情况,发送端实现对视频空域质量和/或时域质量的动态调整,实现动态网络环境自适应调整,进一步提升多媒体播放品质。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的音视频播放同步方法的流程图;
图2为本发明实施例提供的判断所述视频数据是否与当前正在播放的音频数据同步的流程图;
图3为本发明实施例提供的多媒体播放终端的结构框图;
图4为本发明实施例提供的音视频播放同步的***的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供的一种音视频播放同步的方法,参照图1所示,包括:
S11、分别对接收的音频帧和视频帧进行解码,将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
S12、从第一循环缓冲区中定时读取音频帧数据并播放;
S13、当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;若同步,执行下述S14;
S14、读取所述视频帧数据并播放。
本发明实施例提供的音视频播放同步的方法,在音视频接收端,对音频和视频分别进行解码并保存于对应的循环缓冲区,保证音视频播放的连续性,然后以播放的音频流作为主流,将视频流与音频流进行同步处理,实现基于循环缓冲队列的音视频的同步播放,克服了由于终端或网络原因导致的音视频流的不同步。
主流连续播放,从流的播放由主流的播放状态决定,从而实现同步,考虑到人对声音更为敏感,在本发明实施例中,将音频流作为主流,视频流作为从流。
上述接收端设备接收到音视频数据包后,对数据进行解码,然后同步处理,最后通过音视频播放模块播放音视频。
上述S11中,第一循环缓冲区的空间大小满足:可存储的解码后音频帧数据的块数的门限值为N,N大于音频帧的最大抖动时间。
每个音频帧和视频帧解码后都会生成对应的数据块,这些数据块存储于循环缓冲区中。
对于音视频发送端来说,可以通过后台服务器程序接收前端摄像头采集到的编码音视频数据,利用实时传输协议(RTP,Real-time Transport Protocol)/RTP控制协议(RTPControl Protocol,RTCP)等协议实现媒体流的传输和控制。本发明实施例并不限于上述各种媒体流的传输和控制方式。
在发送端的RTP/RTCP的媒体流的传输和控制下,会给发送的音频帧和视频帧分别打上时间戳。
这样,对接收端设备来说,其接收的音频帧具有时间戳TAUDIO和视频帧具有时间戳TVIDEO;
在上述步骤S12中,在定时读取音频帧播放时,需要记录当前播放的时间戳,以便后续与视频帧的时间戳进行比较。
进一步地,在上述步骤S13中,参照图2所示,判断所述视频数据是否与当前正在播放的音频数据同步,具体包括:
S21、判断视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;当满足时,执行S22;当判断出TVIDEO>TAUDIO+TMAX时,执行下述步骤S23;当判断TVIDEO<TAUDIO-TMAX时,执行下述步骤S24;
S22、确定视频帧数据与当前正在播放的音视频数据同步;
S23、确定所述视频帧数据滞于所述音频帧数据,丢弃该视频帧数据;
S24、确定所述视频帧数据超前于所述音频帧数据,等待下次读取音频帧时再进行播放(音频帧定时读取)。
上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
音视频不同步的最大容忍时间,可以根据用户经验预先设置,例如可以将TMAX设置为TMAX=120ms。
进一步地,在上述S12即第一循环缓冲区定时读取音频帧数据之前,本发明实施例还可以执行下述步骤:
判断第一循环缓冲区是否被充满;
如果已充满,则转向定时读取音频帧数据并播放的步骤。
换言之,只有当音频数据帧被解码并充满了第一循环缓冲区时,才启动定时读取音频帧数据的步骤。
上述实施例提供的音视频播放同步方法,在网络环境较差,出现音视频数据的失序、丢包等情况时,还可以采用下述反馈控制方法,例如采用音视频发送端接收报告监测QoS。
音视频接收端对视频帧数据的丢失和延迟抖动进行统计;向发送端反馈QoS报告;其中QoS报告包含丢包率和延迟抖动,以便发送端根据报告调整视频的空域质量和/或时域质量。
本发明实施例中,基于音视频终端的反馈,在网络情况较差时,发送端设备还可以根据数据包丢失率和延迟抖动的情况,发送端实现对视频空域质量和/或时域质量的动态调整,实现动态网络环境自适应调整。
例如采用RTCP的接收报告,音视频接收端将RR包发送给源端,该报告包含用来估算分组丢失和分组延迟抖动等必要信息。音视频发送端根据这些信息***体数据的发送量,及时有效地解决同步问题。
根据评估RR包的参数,得到长时指标丢包率和短时指标间隔抖动。当丢包率和抖动达到一定值时,音频方面,当网络丢包率和抖动达到某一区域时,选择不同的AMR-WB传输速率,来降低音频传输码率,提高传输效率和***容量,为视频传输减少了带宽负担。
视频方面,根据不同值调整视频数据的发送量,即在发送端对视频的空域(视频分辨率大小)和时域(视频帧率)性能进行平衡,选择丢帧;
具体分为下面几种情况:
1、当丢包率和抖动很高,即信道速率很低时,通过降低视频帧率,使每一帧能够具有较好的空域质量,使用户在较低的速率条件下,仍然可以得到较好的图像质量。
2、当丢包率和抖动保持在中等水平,即信道速率中速时,在保持一定的空域质量条件下,应优先考虑时域质量(适当提高视频帧率),以增强视频的连续性。
3、当丢包率和抖动回到较好的水平,即信道速率较高时,在空域质量达到一定程度后,继续提高空域质量,效率不会太高,反而是图像连续性的提高对视频质量的改善更明显,此时应持续提高视频帧率。
基于同一发明构思,本发明实施例还提供了一种多媒体播放终端及音视频播放同步的***,由于这些终端和***所解决问题的原理与前述音视频播放同步的方法相似,因此该终端和***的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例还提供了一种多媒体播放终端,参照图3所示,包括:
解码模块31,用于分别对接收的音频帧和视频帧进行解码;
缓存模块32,用于将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
同步判读模块33,用于当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
播放模块34,用于从第一循环缓冲区中定时读取音频帧数据并播放;以及当所述同步模块判断所述视频帧数据与当前正在播放的音频帧数据同步时,读取所述视频帧数据并播放。
进一步地,上述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
相应地,同步判断模块33,具体用于判断视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;当满足时,确定视频帧数据与当前正在播放的音视频数据同步;上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
进一步地,上述多媒体播放终端,参照图3所示,还可以包括:视频帧丢弃模块35;
相应地,上述同步判断模块33,还用于当判断TVIDEO>TAUDIO+TMAX时,确定视频帧数据滞于音频帧数据;以及当判断TVIDEO<TAUDIO-TMAX时,确定视频帧数据超前于音频帧数据;
相应地,视频帧丢弃模块35,用于当同步判断模块33判断视频帧数据滞于所述音频帧数据时,丢弃该视频帧数据;
相应地,播放模块34,还用于当同步判断模块33判断视频帧数据超前于音频帧数据时,等待下次读取音频帧时进行播放。
本发明实施例还提供了一种音视频播放同步的***,参照图4所示,包括:多媒体发送端设备41和至少一个本发明实施例提供的前述多媒体播放终端42;
多媒体发送端设备41用于向至少一个多媒体播放终端发送音频帧和对应视频帧。
进一步地,上述多媒体播放终端41,还用于对视频帧数据的丢失和延迟抖动进行统计;向所述音视频发送端设备反馈QoS报告;QoS报告包含丢包率和延迟抖动;
上述多媒体发送端设备41,还用于根据报告调整后续发送的视频帧的空域质量和/或时域质量。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种音视频播放同步的方法,其特征在于,包括:
分别对接收的音频帧和视频帧进行解码,将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
从第一循环缓冲区中定时读取音频帧数据并播放;
当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
若同步,读取所述视频帧数据并播放。
2.如权利要求1所述的方法,其特征在于,所述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
所述判断所述视频数据是否与当前正在播放的音频数据同步,包括:
判断所述视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;
当满足时,确定所述视频帧数据与当前正在播放的音视频数据同步;
上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当判断TVIDEO>TAUDIO+TMAX时,确定所述视频帧数据滞于所述音频帧数据,丢弃该视频帧数据;
当判断TVIDEO<TAUDIO-TMAX时,确定所述视频帧数据超前于所述音频帧数据,等待下次读取音频帧时进行播放。
4.如权利要求1-3任一项所述的方法,其特征在于,在所述第一循环缓冲区定时读取音频帧数据之前,还包括:
判断所述第一循环缓冲区是否被充满;
如果已充满,则转向定时读取音频帧数据并播放的步骤。
5.如权利要求1所述的方法,其特征在于,所述第一循环缓冲区的空间大小满足:可存储的解码后音频帧数据的块数的门限值为N,所述N大于音频帧的最大抖动时间。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
对视频帧数据的丢失和延迟抖动进行统计;向发送端反馈QoS报告;所述QoS报告包含丢包率和延迟抖动,以便发送端根据所述报告调整视频的空域质量和/或时域质量。
7.一种多媒体播放终端,其特征在于,包括:
解码模块,用于分别对接收的音频帧和视频帧进行解码;
缓存模块,用于将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
同步判读模块,用于当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
播放模块,用于从第一循环缓冲区中定时读取音频帧数据并播放;以及当所述同步模块判断所述视频帧数据与当前正在播放的音频帧数据同步时,读取所述视频帧数据并播放。
8.如权利要求3所述的终端,其特征在于,所述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
所述同步判断模块,具体用于判断所述视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;当满足时,确定所述视频帧数据与当前正在播放的音视频数据同步;上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
9.如权利要求8所述的终端,其特征在于,还包括:视频帧丢弃模块;
所述同步判断模块,还用于当判断TVIDEO>TAUDIO+TMAX时,确定所述视频帧数据滞于所述音频帧数据;以及当判断TVIDEO<TAUDIO-TMAX时,确定所述视频帧数据超前于所述音频帧数据;
所述视频帧丢弃模块,用于当所述同步判断模块判断所述视频帧数据滞于所述音频帧数据时,丢弃该视频帧数据;
所述播放模块,还用于当所述同步判断模块判断所述视频帧数据超前于所述音频帧数据时,等待下次读取音频帧时进行播放。
10.一种音视频播放同步的***,其特征在于,包括:多媒体发送端设备和如权利要求7-9任一项所述的至少一个多媒体播放终端;
所述多媒体发送端设备用于向所述至少一个多媒体播放终端发送音频帧和对应视频帧。
11.如权利要求10所述的***,其特征在于,所述多媒体播放终端,还用于对视频帧数据的丢失和延迟抖动进行统计;向所述音视频发送端设备反馈QoS报告;所述QoS报告包含丢包率和延迟抖动;
所述多媒体发送端设备,还用于根据所述报告调整后续发送的视频帧的空域质量和/或时域质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710616497.3A CN107438192A (zh) | 2017-07-26 | 2017-07-26 | 音视频播放同步的方法及相关***和多媒体播放终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710616497.3A CN107438192A (zh) | 2017-07-26 | 2017-07-26 | 音视频播放同步的方法及相关***和多媒体播放终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107438192A true CN107438192A (zh) | 2017-12-05 |
Family
ID=60461134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710616497.3A Pending CN107438192A (zh) | 2017-07-26 | 2017-07-26 | 音视频播放同步的方法及相关***和多媒体播放终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107438192A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055565A (zh) * | 2017-12-26 | 2018-05-18 | 合肥中科云巢科技有限公司 | 音视频的重定向方法及装置 |
CN110062277A (zh) * | 2019-03-13 | 2019-07-26 | 北京河马能量体育科技有限公司 | 一种音视频自动同步方法及同步*** |
CN110381351A (zh) * | 2019-07-09 | 2019-10-25 | 西安万像电子科技有限公司 | 数据处理方法及设备 |
CN110519627A (zh) * | 2018-05-21 | 2019-11-29 | 视联动力信息技术股份有限公司 | 一种音频数据的同步方法和装置 |
WO2020155956A1 (zh) * | 2019-01-30 | 2020-08-06 | 上海哔哩哔哩科技有限公司 | 首帧均衡限流方法、装置、计算机设备及可读存储介质 |
CN113115080A (zh) * | 2021-04-08 | 2021-07-13 | 刘文平 | 移动媒体间实时视频音频高精度同步平台 |
CN113596550A (zh) * | 2021-08-31 | 2021-11-02 | 安徽创变信息科技有限公司 | 一种音视频同步控制方法及装置 |
CN114245170A (zh) * | 2022-02-24 | 2022-03-25 | 国能信息技术有限公司 | 一种基于分流式传输的音视频单向传输调度方法及*** |
CN114339326A (zh) * | 2021-12-10 | 2022-04-12 | 北京拼响天空文化科技有限公司 | 基于视频播放的声画同步方法、装置和*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102017548A (zh) * | 2008-06-12 | 2011-04-13 | 松下电器产业株式会社 | 网络监视装置、总线***监视装置、方法、以及程序 |
CN103338386A (zh) * | 2013-07-10 | 2013-10-02 | 航天恒星科技有限公司 | 基于简化时间戳的音视频同步方法 |
CN103999357A (zh) * | 2011-10-24 | 2014-08-20 | 罗伯科技公司 | 显示数字信号的方法 |
CN105245976A (zh) * | 2015-09-30 | 2016-01-13 | 合一网络技术(北京)有限公司 | 音频和视频同步播放的方法及*** |
CN105791939A (zh) * | 2016-03-14 | 2016-07-20 | 北京捷思锐科技股份有限公司 | 音频与视频的同步方法及装置 |
-
2017
- 2017-07-26 CN CN201710616497.3A patent/CN107438192A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102017548A (zh) * | 2008-06-12 | 2011-04-13 | 松下电器产业株式会社 | 网络监视装置、总线***监视装置、方法、以及程序 |
CN103999357A (zh) * | 2011-10-24 | 2014-08-20 | 罗伯科技公司 | 显示数字信号的方法 |
CN103338386A (zh) * | 2013-07-10 | 2013-10-02 | 航天恒星科技有限公司 | 基于简化时间戳的音视频同步方法 |
CN105245976A (zh) * | 2015-09-30 | 2016-01-13 | 合一网络技术(北京)有限公司 | 音频和视频同步播放的方法及*** |
CN105791939A (zh) * | 2016-03-14 | 2016-07-20 | 北京捷思锐科技股份有限公司 | 音频与视频的同步方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055565A (zh) * | 2017-12-26 | 2018-05-18 | 合肥中科云巢科技有限公司 | 音视频的重定向方法及装置 |
CN110519627A (zh) * | 2018-05-21 | 2019-11-29 | 视联动力信息技术股份有限公司 | 一种音频数据的同步方法和装置 |
CN110519627B (zh) * | 2018-05-21 | 2021-05-14 | 视联动力信息技术股份有限公司 | 一种音频数据的同步方法和装置 |
US11463494B2 (en) | 2019-01-30 | 2022-10-04 | Shanghai Bilibili Technology Co., Ltd. | Balance of initial frame and limitation of traffic |
WO2020155956A1 (zh) * | 2019-01-30 | 2020-08-06 | 上海哔哩哔哩科技有限公司 | 首帧均衡限流方法、装置、计算机设备及可读存储介质 |
CN111510761A (zh) * | 2019-01-30 | 2020-08-07 | 上海哔哩哔哩科技有限公司 | 首帧均衡限流方法、装置、计算机设备及可读存储介质 |
CN111510761B (zh) * | 2019-01-30 | 2021-06-04 | 上海哔哩哔哩科技有限公司 | 首帧均衡限流方法、装置、计算机设备及可读存储介质 |
CN110062277A (zh) * | 2019-03-13 | 2019-07-26 | 北京河马能量体育科技有限公司 | 一种音视频自动同步方法及同步*** |
CN110381351A (zh) * | 2019-07-09 | 2019-10-25 | 西安万像电子科技有限公司 | 数据处理方法及设备 |
CN113115080A (zh) * | 2021-04-08 | 2021-07-13 | 刘文平 | 移动媒体间实时视频音频高精度同步平台 |
CN113596550A (zh) * | 2021-08-31 | 2021-11-02 | 安徽创变信息科技有限公司 | 一种音视频同步控制方法及装置 |
CN113596550B (zh) * | 2021-08-31 | 2024-05-24 | 小帧科技(深圳)有限公司 | 一种音视频同步控制方法及装置 |
CN114339326A (zh) * | 2021-12-10 | 2022-04-12 | 北京拼响天空文化科技有限公司 | 基于视频播放的声画同步方法、装置和*** |
CN114339326B (zh) * | 2021-12-10 | 2023-06-27 | 北京拼响天空文化科技有限公司 | 基于视频播放的声画同步方法、装置和*** |
CN114245170A (zh) * | 2022-02-24 | 2022-03-25 | 国能信息技术有限公司 | 一种基于分流式传输的音视频单向传输调度方法及*** |
CN114245170B (zh) * | 2022-02-24 | 2022-09-13 | 国能信息技术有限公司 | 一种基于分流式传输的音视频单向传输调度方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438192A (zh) | 音视频播放同步的方法及相关***和多媒体播放终端 | |
US9973345B2 (en) | Calculating and signaling segment availability times for segments of media data | |
US8412364B2 (en) | Method and device for sending and playing streaming data | |
KR102110627B1 (ko) | 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들 | |
US9843844B2 (en) | Network streaming of media data | |
CN103843301B (zh) | 经译码多媒体数据的网络串流期间的表示之间的切换 | |
CN106686438B (zh) | 一种跨设备的音频图像同步播放的方法、装置及*** | |
KR101727450B1 (ko) | 화상 전화에서의 지연 감소 | |
US20140108622A1 (en) | Streaming media transmission method, device, and system | |
CN104780422B (zh) | 流媒体播放方法及流媒体播放器 | |
CN101827271B (zh) | 音频视频同步方法、装置以及数据接收终端 | |
CN112771877A (zh) | 用于流式传输媒体数据的服务描述 | |
KR20100064532A (ko) | 무선 통신 네트워크에서 오디오 및 비디오 동기화 장치 및 방법 | |
WO2013097783A1 (zh) | 媒体传输质量的评估方法和装置 | |
CN109194974B (zh) | 用于网络视频直播的媒体低延迟通信方法与*** | |
CN108063953A (zh) | 视频转码网关、监控***以及视频转码网关的转码方法 | |
US20120233346A1 (en) | Method, apparatus and system for rapid acquisition of multicast realtime transport protcol sessions | |
CN101207822A (zh) | 流媒体终端的音频视频同步的方法 | |
KR20120011969A (ko) | Rtsp 세션에 기초해 스트리밍 데이터를 송수신하는 방법 및 장치 | |
WO2017084277A1 (zh) | 在线媒体服务的码流自适应方法及*** | |
CN115943631A (zh) | 流式传输包括具有切换集的可寻址资源索引轨道的媒体数据 | |
WO2016008131A1 (en) | Techniques for separately playing audio and video data in local networks | |
CN110225385B (zh) | 一种音视频同步调整方法和装置 | |
CN105472404A (zh) | 一种视频业务中的数据处理方法 | |
Viola et al. | QoE-based enhancements of Chunked CMAF over low latency video streams |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171205 |
|
RJ01 | Rejection of invention patent application after publication |