CN106658113A - 多媒体数据处理方法及装置 - Google Patents
多媒体数据处理方法及装置 Download PDFInfo
- Publication number
- CN106658113A CN106658113A CN201610875048.6A CN201610875048A CN106658113A CN 106658113 A CN106658113 A CN 106658113A CN 201610875048 A CN201610875048 A CN 201610875048A CN 106658113 A CN106658113 A CN 106658113A
- Authority
- CN
- China
- Prior art keywords
- data
- medium data
- multimedia
- caching
- medium
- 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
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/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4335—Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种多媒体数据处理方法及装置。该方法包括:通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;比对第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,第二多媒体数据为在第一多媒体数据之前采集并缓存的多媒体数据;在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据;将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在直播过程中的第二客户端播放当前缓存的多媒体数据,其中,第一账号与第二账号为关联账号。本发明解决了采用现有的多媒体处理方法所导致的播放延迟的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种多媒体数据处理方法及装置。
背景技术
随着科技的发展,越来越多的人们习惯于使用移动设备观看网络直播节目,并在观看过程中与网络直播节目中的主播之间进行互动。
然而,由于网络存在不稳定性,网络直播节目所在设备往往会缓存很多待播放的多媒体数据,而无法及时发送给观众进行播放。这样在网络恢复正常后,将缓存的多媒体数据依次发送给观众时,将使得观众所在设备在播放上述多媒体数据时,存在较长时间的播放延迟。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种多媒体数据处理方法及装置,以至少解决采用现有的多媒体处理方法所导致的播放延迟的技术问题。
根据本发明实施例的一个方面,提供了一种多媒体数据处理方法,包括:通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;比对上述第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,上述第二多媒体数据为在上述第一多媒体数据之前采集并缓存的多媒体数据;在上述比对的结果指示删除上述缓存的多媒体数据中的目标多媒体数据的情况下,从上述缓存的多媒体数据中删除上述目标多媒体数据,得到当前缓存的多媒体数据;将上述当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在上述直播过程中的上述第二客户端播放上述当前缓存的多媒体数据,其中,上述第一账号与上述第二账号为关联账号。
根据本发明实施例的另一方面,还提供了一种多媒体数据处理装置,包括:获取单元,用于通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;比对单元,用于比对上述第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,上述第二多媒体数据为在上述第一多媒体数据之前采集并缓存的多媒体数据;删除单元,用于在上述比对的结果指示删除上述缓存的多媒体数据中的目标多媒体数据的情况下,从上述缓存的多媒体数据中删除上述目标多媒体数据,得到当前缓存的多媒体数据;发送单元,用于将上述当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在上述直播过程中的上述第二客户端播放上述当前缓存的多媒体数据,其中,上述第一账号与上述第二账号为关联账号。
在本发明实施例中,在直播过程中使用第一账号登录的第一客户端获取采集的第一多媒体数据,并比对该第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,从而实现在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除上述目标多媒体数据,得到当前缓存的多媒体数据,以将该当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,也就是说,通过淘汰删除缓存时间较长的多媒体数据,以克服在网络状态不稳定的情况下,由于第一客户端缓存的多媒体数据堆积,导致第二客户端在直播过程中出现较长的播放延迟的问题。从而达到减少直播过程中的播放延迟的目的,以保证直播过程中数据交互的实时性,进而达到改善直播互动的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的多媒体数据处理方法的应用环境示意图;
图2是根据本发明实施例的一种可选的多媒体数据处理方法的流程图;
图3是根据本发明实施例的一种可选的多媒体数据处理方法的示意图;
图4是根据本发明实施例的一种可选的多媒体数据处理方法中缓存的结构示意图;
图5是根据本发明实施例的一种可选的多媒体数据处理装置的示意图;
图6是根据本发明实施例的另一种可选的多媒体数据处理方法的示意图;
图7是根据本发明实施例的又一种可选的多媒体数据处理方法的示意图;以及
图8是根据本发明实施例的一种可选的多媒体数据处理设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在本发明实施例中,提供了一种上述多媒体数据处理方法的实施例。作为一种可选的实施方式,该多媒体数据处理方法可以但不限于应用于如图1所示的应用环境中,终端102上运行有使用第一账号登录的第一客户端,终端106上运行有使用第二账号登录的第二客户端,其中,第一客户端通过网络104将实现与第二客户端之间的直播过程,上述第一账号与第二账号为关联账号,第二账号可以包括一个或至少两个账号。具体来说,终端102通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据,并比对上述第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,该第二多媒体数据为在第一多媒体数据之前采集并缓存的多媒体数据;在比对的结果指示删除上述缓存的多媒体数据中的目标多媒体数据的情况下,终端102将从缓存的多媒体数据中删除上述目标多媒体数据,得到当前缓存的多媒体数据;然后将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在直播过程中的终端106上的第二客户端播放接收到的终端102当前缓存的多媒体数据。
在本实施例中,上述多媒体数据处理方法可以但不限于由用于直播的终端执行,即,可以由终端比对当前获取的第一多媒体数据与在此之前采集的第二多媒体数据,也可以由服务器执行,由服务器比对当前获取的第一客户端采集的第一多媒体数据与在此之前采集的第二多媒体数据。以实现根据比对的结果确定是否删除缓存的多媒体数据中的目标多媒体数据,在比对的结果指示删除目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,以得到当前缓存的多媒体数据,从而实现将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端。通过上述多媒体数据处理方式,将缓存中存储时间较长的多媒体数据淘汰删除,以避免由于长时间缓存导致直播过程中出现的播放延迟问题,从而实现在网络环境不稳定的情况下,也可以保证直播过程中数据交互的实时性,进而达到改善直播互动的效果。
可选地,在本实施例中,上述终端可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑、台式PC机、数字电视及其他用于采集和播放多媒体数据的硬件设备。上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。上述只是一种示例,本实施例对此不做任何限定。
根据本发明实施例,提供了一种多媒体数据处理方法,如图2所示,该方法包括:
S202,通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;
S204,比对第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,第二多媒体数据为在第一多媒体数据之前采集并缓存的多媒体数据;
S206,在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据;
S208,将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在直播过程中的第二客户端播放当前缓存的多媒体数据,其中,第一账号与第二账号为关联账号。
可选地,在本实施例中,上述多媒体数据处理方法可以但不限于应用于终端直播应用中,第一客户端可以但不限于为安装在终端中的独立的直播应用,也可以为嵌入网页的直播应用,本实施例中对此不做任何限定。直播应用中用于采集多媒体数据的第一客户端所使用的第一账号与用于播放采集到的多媒体数据的第二客户端所使用的第二账号为关联账号,如第二账号为关注第一账号的粉丝账号或好友账号。例如,如图3所示,第一客户端使用第一账号ID-1登录,并开始进行直播,当前观看第一客户端采集的多媒体数据的第二账号的数量达到N。上述仅是一种示例,本实施例中对此不做任何限定。
需要说明的是,在直播过程中使用第一账号登录的第一客户端获取采集的第一多媒体数据,并比对该第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,从而实现在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除上述目标多媒体数据,得到当前缓存的多媒体数据,以将该当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,也就是说,通过淘汰删除缓存时间较长的多媒体数据,以克服在网络状态不稳定的情况下,由于第一客户端缓存的多媒体数据堆积,导致第二客户端在直播过程中出现较长的播放延迟的问题。从而达到减少直播过程中的播放延迟的目的,以保证直播过程中数据交互的实时性,进而达到改善直播互动的效果。
可选地,在本实施例中,上述缓存的多媒体数据中包括:数据头、多个数据标签,其中,每一个数据标签中包括:时间戳、数据帧内容。例如,缓存的多媒体数据可以用chunk数据块为单位表示,其中,每个chunk中包括chunk数据头和多个flv结构的标签tag构成,每个tag标签中可以包括但不限于:时间戳、数据帧内容。需要说明的是,标签tag中还可以包括标签类型、数据大小等内容,本实施例中对此不做任何限定。上述数据帧内容可以但不限于为直播过程中采集的音频或视频经编码后得到的多媒体数据帧。
例如,如图4所示,上述缓存中可以包括但不限于多个chunk数据块,如chunk1-chunkn,以chunk2为例说明chunk结构,以chunk2中Tag1为例说明tag结构,以Tag1中的Video data为例说明Video data结构。
可选地,在本实施例中,在缓存多媒体数据的过程中,当获取到采集的数据帧为多媒体关键帧(如I帧)时,则创建新的chunk数据块,以保证多媒体关键帧被存储到一个chunk数据块的第一个tag上,以便于后续识别所要删除的目标多媒体数据。
可选地,在本实施例中,在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据包括:在比对的结果指示从缓存的多媒体数据中删除位于相邻两个多媒体关键帧之间的目标多媒体数据时,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据。
需要说明的是,在本实施例中,多媒体关键帧将直接决定播放画面的清晰度,为了避免由于误删多媒体关键帧导致的花屏现象,本实施例中以媒体关键帧为参考,将位于相邻两个多媒体关键帧之间的多媒体数据作为目标多媒体数据。
可选地,在本实施例中,位于相邻两个多媒体关键帧之间的目标多媒体数据可以但不限于仍以chunk数据块为单位,其中,目标多媒体数据中包括第一个多媒体关键帧所在的chunk数据块中的多媒体数据。
例如,以图4所示缓存为例,假设chunk1与chunk3中分别包括一个多媒体关键帧(如I帧),则位于上述两个相邻多媒体关键帧之间的数据将划为一组数据帧(Group ofPicture,GOP),即,以chunk数据块为单位的chunk1与chunk2中的数据将作为被删除的目标多媒体数据。例如,目标多媒体数据可以为chunk1与chunk2中的全部多媒体数据,结合图4所示,将把chunk1结构与chunk2结构的全部多媒体数据划为一组数据GOP,作为目标多媒体数据删除。或者,又例如,将把chunk1与chunk2中tag标签中的video data结构中的数据划为一组数据GOP,作为目标多媒体数据删除。上述仅是一种示例,本实施例中对此不做任何限定。
此外,需要说明的是,上述比对过程可以但不限于重复执行,也就是说,目标多媒体数据可以但不限于包括一个GOP。在删除后的反馈中表示仍需删除目标多媒体数据,则重复执行上述比对过程,再次获取GOP作为目标多媒体数据删除。这里仅是一种示例,如果缓存堆积多媒体数据较多时,也可以设置在多媒体数据中包括多个GOP,本实施例中对此不做任何限制。
可选地,在本实施例中,上述相邻两个多媒体关键帧可以但不限于为缓存的多媒体数据中缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧。
可选地,在本实施例中,在将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端之前,还包括:根据当前缓存的多媒体数据判断是否调整第一客户端的发送码率。
需要说明的是,由于当前缓存的多媒体数据发生变化,第一客户端在向第二客户端发送直播过程中的多媒体数据时,将对应调整码率。
作为一种可选的实施方式,根据当前缓存的多媒体数据判断是否调整第一客户端的发送码率包括:在当前缓存的多媒体数据中不包括目标多媒体数据时,调整降低发送码率,其中,降低后的发送码率根据删除的目标多媒体数据的数量确定。也就是说,在已删除目标多媒体数据的情况下,为了保证直播画面的连续和实时性,在本实施例中将对应调整降低发送码率。例如,调整策略可以如表1所示:
表1
当前码率 | 删除的GOP个数 | 调整策略 |
目标码率L | 大于等于1 | 目标码率L*0.9 |
目标码率L*0.9 | 大于等于2 | 目标码率L*0.7 |
目标码率L*0.7 | 大于等于3 | 目标码率L*0.5 |
目标码率L*0.5 | 大于等于20 | 纯音频直播 |
也就是说,假设目标码率为目标码率L,则在反馈中指示当前缓存的多媒体数据中仅删除了一个GOP,则调整目标降低为目标码率L*0.9,从而实现动态适应网络变化,以保证第二客户端在直播过程中播放的清晰度和实时性。
通过本申请的实施例,在直播过程中使用第一账号登录的第一客户端获取采集的第一多媒体数据,并比对该第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,从而实现在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除上述目标多媒体数据,得到当前缓存的多媒体数据,以将该当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,也就是说,通过淘汰删除缓存时间较长的多媒体数据,以克服在网络状态不稳定的情况下,由于第一客户端缓存的多媒体数据堆积,导致第二客户端在直播过程中出现较长的播放延迟的问题。从而达到减少直播过程中的播放延迟的目的,以保证直播过程中数据交互的实时性,进而达到改善直播互动的效果。
作为一种可选的方案,在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据包括:
S1,在比对的结果指示从缓存的多媒体数据中删除位于相邻两个多媒体关键帧之间的目标多媒体数据时,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据。
可选地,在本实施例中,S1,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据包括:
S12,从缓存的多媒体数据中获取缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧;
S14,从缓存的多媒体数据中删除第一多媒体关键帧和第二多媒体关键帧之间的多媒体数据,得到当前缓存的多媒体数据,其中,目标多媒体数据为第一多媒体关键帧和第二多媒体关键帧之间的多媒体数据。
可选地,在本实施例中,从缓存的多媒体数据中删除目标多媒体数据包括以下至少之一(仍以chunk数据块为单位):
1)删除chunk中tag标签的数据帧内容,如video data;
2)删除chunk中的全部多媒体数据。
具体结合图4所示示例进行说明,遍历缓存的多媒体数据中的chunk数据块中的标签tag,获取缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧。假设第一多媒体关键帧和第二多媒体关键帧分别位于chunk1和chunk3中的第一个tag标签。则在本实施例中,可以将chunk1与chunk3之间的chunk1和chunk2中的全部多媒体数据划为一组数据GOP,作为目标多媒体数据删除,删除后得到当前缓存的多媒体数据。
通过本申请提供的实施例,通过将多媒体关键帧之间的多媒体数据作为目标多媒体数据删除,不仅可以达到淘汰减少缓存的数据量,进而实现减少播放延迟的效果,而且还可以避免误删多媒体关键帧,以克服删除数据所导致的花屏马赛克现象。
作为一种可选的方案,比对第一多媒体数据与缓存的多媒体数据中的第二多媒体数据包括:
S1,判断第一多媒体数据中携带的第一时间戳,及第二多媒体数据中携带的第二时间戳之间的时间差值是否大于预定阈值;
S2,在时间差值大于预定阈值时,生成比对的结果,其中,比对的结果用于指示删除缓存的多媒体数据中的目标多媒体数据。
可选地,在本实施例中,上述预定阈值可以但不限于根据不同的场景设置为不同的取值,本实施例中对此不做任何限定。
可选地,在本实施例中,上述第二多媒体数据可以但不限于为在第一多媒体数据之前采集并缓存的存储时间最早的多媒体数据。也就是说,通过判断当前获取的第一多媒体数据的第一时间戳和缓存的存储时间最早的第二多媒体数据的第二时间戳之间的时间差值是否大于预定阈值,以确定是否需要删除目标多媒体数据。
具体结合以下示例进行说明,假设当前获取的第一多媒体数据为chunk-A,上述预定阈值为3秒,结合图4所示,缓存的多媒体数据包括:chunk1-chunkn。其中,存储时间最早的第二多媒体数据为chunk1。判断chunk-A携带的第一时间戳T1与chunk1携带的第二时间戳T2之间的时间差值是否大于3秒,若小于等于3秒,则直接把当前获取的第一多媒体数据chunk-A加入到缓存中;若大于3秒,则可以遍历chunk1中的tag标签,获取相邻两个多媒体关键帧之间的一组数据GOP作为目标多媒体数据。
通过本申请提供的实施例,通过比对判断第一多媒体数据中携带的第一时间戳,及第二多媒体数据中携带的第二时间戳之间的时间差值是否大于预定阈值,从而确定是否需要删除目标多媒体数据,而无需对全部数据进行遍历比对,以达到提高数据处理的效率的效果。
作为一种可选的方案,通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据包括:
S1,依次对获取到的当前数据标签中的数据帧内容执行以下操作:
S12,判断当前数据标签中的数据帧内容中是否包括多媒体关键帧;
S14,在判断出不包括多媒体关键帧帧时,则将当前数据标签中的数据帧内容封装到当前的第一多媒体数据中;
S16,在判断出包括多媒体关键帧时,则将当前数据标签中的数据帧内容封装到下一个第一多媒体数据中,其中,下一个第一多媒体数据位于当前的第一多媒体数据之后。
具体结合以下示例进行说明,结合图4所示进行说明,假设第一多媒体数据为以chunk数据块为单位,在获取到当前数据标签后,判断该当前数据标签中的数据帧内容中是否包括多媒体关键帧,如I帧,若判断出不包括上述多媒体关键帧,则直接将当前数据标签中的数据帧内容封装到当前的第一多媒体数据(如当前chunk)中;若判断出包括上述多媒体关键帧,则将当前数据标签中的数据帧内容封装到下一个第一多媒体数据(如下一个chunk)中,从而保证每个chunk的第一个tag标签中包括一个多媒体关键帧,以便于在利用chunk比对是否需要删除目标多媒体数据时,可以以多媒体关键帧为参考,避免数据误删导致花屏马赛克等现象。
通过本申请提供的实施例,通过根据多媒体关键帧来获取多媒体数据,从而保证缓存的多媒体数据中第一个tag标签中均包括多媒体关键帧,以便于在识别出多媒体关键帧后,对目标多媒体数据执行删除操作,从而达到提高多媒体数据处理的准确性和效率。
作为一种可选的方案,在将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端之前,还包括:
S1,根据当前缓存的多媒体数据判断是否调整第一客户端的发送码率。
可选地,在本实施例中,根据当前缓存的多媒体数据判断是否调整第一客户端的发送码率包括:在当前缓存的多媒体数据中不包括目标多媒体数据时,调整降低发送码率,其中,降低后的发送码率根据删除的目标多媒体数据的数量确定。
具体结合表1所示示例进行说明,为了使直播过程实现动态适应网络变化,在减少播放延迟的同时不会出现花屏马赛克等现象,本示例中,还可以对第一客户端中的编码器进行对应的码率调整。其中,删除的目标多媒体数据(即GOP)数量不同,可以将编码器的码率做对应调整,例如,假设目标码率为目标码率L*0.9,在反馈中指示当前缓存的多媒体数据中删除了2个GOP,则调整目标降低为目标码率L*0.7,从而实现动态适应网络变化,以保证第二客户端在直播过程中播放的清晰度和实时性。
通过本申请提供的实施例,在当前缓存中的多媒体数据发生变化后,通过动态调整码率,以达到动态适应网络变化,从而实现保证直播互动效果的目的。
作为一种可选的方案,在调整降低发送码率之后,还包括:
S1,判断预定时间段内当前缓存的多媒体数据是否达到恢复条件,其中,恢复条件包括以下至少之一:当前缓存的多媒体数据中存储时间最早的第三多媒体数据和存储时间最晚的第四多媒体数据之间的时间差值是否小于第一阈值,当前缓存的多媒体数据中存储的多媒体数据的数量是否小于第二阈值;
S2,在达到恢复条件时,恢复发送码率,其中,恢复后的发送码率根据目标码率确定。
需要说明的是,在本实施例中,不仅可以调低码率,在检测到网络状态变好的情况下,还可以恢复码率。其中恢复条件可以包括但不限于以下之一:1)预定时间段内存储时间最早及存储时间最晚的多媒体数据之间的时间差值小于第一阈值;2)预定时间段内存储的多媒体数据的数量小于第二阈值。也就是说,在网络状态变好时,缓存的多媒体数据数量也将相应变少,或存储时间最早及存储时间最晚的多媒体数据之间的时间差值也将相应变短,因而,根据上述内容可以确定是否恢复码率。
具体结合以下示例进行说明,如表2所示:
表2
例如,假设目标码率为目标码率L*0.9,在反馈中指示当前缓存的多媒体数据已达到恢复条件,则调整目标降低为目标码率L,从而实现动态适应网络变化,以保证第二客户端在直播过程中播放的清晰度和实时性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述多媒体数据处理方法的多媒体数据处理装置,如图5所示,该装置包括:
1)获取单元502,用于通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;
2)比对单元504,用于比对第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,第二多媒体数据为在第一多媒体数据之前采集并缓存的多媒体数据;
3)删除单元506,用于在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据;
4)发送单元508,用于将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在直播过程中的第二客户端播放当前缓存的多媒体数据,其中,第一账号与第二账号为关联账号。
可选地,在本实施例中,上述多媒体数据处理方法可以但不限于应用于终端直播应用中,第一客户端可以但不限于为安装在终端中的独立的直播应用,也可以为嵌入网页的直播应用,本实施例中对此不做任何限定。直播应用中用于采集多媒体数据的第一客户端所使用的第一账号与用于播放采集到的多媒体数据的第二客户端所使用的第二账号为关联账号,如第二账号为关注第一账号的粉丝账号或好友账号。例如,如图3所示,第一客户端使用第一账号ID-1登录,并开始进行直播,当前观看第一客户端采集的多媒体数据的第二账号的数量达到N。上述仅是一种示例,本实施例中对此不做任何限定。
需要说明的是,在直播过程中使用第一账号登录的第一客户端获取采集的第一多媒体数据,并比对该第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,从而实现在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除上述目标多媒体数据,得到当前缓存的多媒体数据,以将该当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,也就是说,通过淘汰删除缓存时间较长的多媒体数据,以克服在网络状态不稳定的情况下,由于第一客户端缓存的多媒体数据堆积,导致第二客户端在直播过程中出现较长的播放延迟的问题。从而达到减少直播过程中的播放延迟的目的,以保证直播过程中数据交互的实时性,进而达到改善直播互动的效果。
可选地,在本实施例中,上述缓存的多媒体数据中包括:数据头、多个数据标签,其中,每一个数据标签中包括:时间戳、数据帧内容。例如,缓存的多媒体数据可以用chunk数据块为单位表示,其中,每个chunk中包括chunk数据头和多个flv结构的标签tag构成,每个tag标签中可以包括但不限于:时间戳、数据帧内容。需要说明的是,标签tag中还可以包括标签类型、数据大小等内容,本实施例中对此不做任何限定。上述数据帧内容可以但不限于为直播过程中采集的音频或视频经编码后得到的多媒体数据帧。
例如,如图4所示,上述缓存中可以包括但不限于多个chunk数据块,如chunk1-chunkn,以chunk2为例说明chunk结构,以chunk2中Tag1为例说明tag结构,以Tag1中的Video data为例说明Video data结构。
可选地,在本实施例中,在缓存多媒体数据的过程中,当获取到采集的数据帧为多媒体关键帧(如I帧)时,则创建新的chunk数据块,以保证多媒体关键帧被存储到一个chunk数据块的第一个tag上,以便于后续识别所要删除的目标多媒体数据。
可选地,在本实施例中,在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据包括:在比对的结果指示从缓存的多媒体数据中删除位于相邻两个多媒体关键帧之间的目标多媒体数据时,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据。
需要说明的是,在本实施例中,多媒体关键帧将直接决定播放画面的清晰度,为了避免由于误删多媒体关键帧导致的花屏现象,本实施例中以媒体关键帧为参考,将位于相邻两个多媒体关键帧之间的多媒体数据作为目标多媒体数据。
可选地,在本实施例中,位于相邻两个多媒体关键帧之间的目标多媒体数据可以但不限于仍以chunk数据块为单位,其中,目标多媒体数据中包括第一个多媒体关键帧所在的chunk数据块中的多媒体数据。
例如,以图4所示缓存为例,假设chunk1与chunk3中分别包括一个多媒体关键帧(如I帧),则位于上述两个相邻多媒体关键帧之间的数据将划为一组数据帧(Group ofPicture,GOP),即,以chunk数据块为单位的chunk1与chunk2中的数据将作为被删除的目标多媒体数据。例如,目标多媒体数据可以为chunk1与chunk2中的全部多媒体数据,结合图4所示,将把chunk1结构与chunk2结构的全部多媒体数据划为一组数据GOP,作为目标多媒体数据删除。或者,又例如,将把chunk1与chunk2中tag标签中的video data结构中的数据划为一组数据GOP,作为目标多媒体数据删除。上述仅是一种示例,本实施例中对此不做任何限定。
此外,需要说明的是,上述比对过程可以但不限于重复执行,也就是说,目标多媒体数据可以但不限于包括一个GOP。在删除后的反馈中表示仍需删除目标多媒体数据,则重复执行上述比对过程,再次获取GOP作为目标多媒体数据删除。这里仅是一种示例,如果缓存堆积多媒体数据较多时,也可以设置在多媒体数据中包括多个GOP,本实施例中对此不做任何限制。
可选地,在本实施例中,上述相邻两个多媒体关键帧可以但不限于为缓存的多媒体数据中缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧。
可选地,在本实施例中,在将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端之前,还包括:根据当前缓存的多媒体数据判断是否调整第一客户端的发送码率。
需要说明的是,由于当前缓存的多媒体数据发生变化,第一客户端在向第二客户端发送直播过程中的多媒体数据时,将对应调整码率。
作为一种可选的实施方式,根据当前缓存的多媒体数据判断是否调整第一客户端的发送码率包括:在当前缓存的多媒体数据中不包括目标多媒体数据时,调整降低发送码率,其中,降低后的发送码率根据删除的目标多媒体数据的数量确定。也就是说,在已删除目标多媒体数据的情况下,为了保证直播画面的连续和实时性,在本实施例中将对应调整降低发送码率。例如,调整策略可以如表3所示:
表3
当前码率 | 删除的GOP个数 | 调整策略 |
目标码率L | 大于等于1 | 目标码率L*0.9 |
目标码率L*0.9 | 大于等于2 | 目标码率L*0.7 |
目标码率L*0.7 | 大于等于3 | 目标码率L*0.5 |
目标码率L*0.5 | 大于等于20 | 纯音频直播 |
也就是说,假设目标码率为目标码率L,则在反馈中指示当前缓存的多媒体数据中仅删除了一个GOP,则调整目标降低为目标码率L*0.9,从而实现动态适应网络变化,以保证第二客户端在直播过程中播放的清晰度和实时性。
通过本申请的实施例,在直播过程中使用第一账号登录的第一客户端获取采集的第一多媒体数据,并比对该第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,从而实现在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除上述目标多媒体数据,得到当前缓存的多媒体数据,以将该当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,也就是说,通过淘汰删除缓存时间较长的多媒体数据,以克服在网络状态不稳定的情况下,由于第一客户端缓存的多媒体数据堆积,导致第二客户端在直播过程中出现较长的播放延迟的问题。从而达到减少直播过程中的播放延迟的目的,以保证直播过程中数据交互的实时性,进而达到改善直播互动的效果。
作为一种可选的方案,删除单元包括:
1)删除模块,用于在比对的结果指示从缓存的多媒体数据中删除位于相邻两个多媒体关键帧之间的目标多媒体数据时,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据。
可选地,在本实施例中,删除模块包括:
(1)获取子模块,用于从缓存的多媒体数据中获取缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧;
(2)删除子模块,用于从缓存的多媒体数据中删除第一多媒体关键帧和第二多媒体关键帧之间的多媒体数据,得到当前缓存的多媒体数据,其中,目标多媒体数据为第一多媒体关键帧和第二多媒体关键帧之间的多媒体数据。
可选地,在本实施例中,从缓存的多媒体数据中删除目标多媒体数据包括以下至少之一(仍以chunk数据块为单位):
1)删除chunk中tag标签的数据帧内容,如video data;
2)删除chunk中的全部多媒体数据。
具体结合图4所示示例进行说明,遍历缓存的多媒体数据中的chunk数据块中的标签tag,获取缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧。假设第一多媒体关键帧和第二多媒体关键帧分别位于chunk1和chunk3中的第一个tag标签。则在本实施例中,可以将chunk1与chunk3之间的chunk1和chunk2中的全部多媒体数据划为一组数据GOP,作为目标多媒体数据删除,删除后得到当前缓存的多媒体数据。
通过本申请提供的实施例,通过将多媒体关键帧之间的多媒体数据作为目标多媒体数据删除,不仅可以达到淘汰减少缓存的数据量,进而实现减少播放延迟的效果,而且还可以避免误删多媒体关键帧,以克服删除数据所导致的花屏马赛克现象。
作为一种可选的方案,比对单元504包括:
1)第一判断模块,用于判断第一多媒体数据中携带的第一时间戳,及第二多媒体数据中携带的第二时间戳之间的时间差值是否大于预定阈值;
2)生成模块,用于在时间差值大于预定阈值时,生成比对的结果,其中,比对的结果用于指示删除缓存的多媒体数据中的目标多媒体数据。
可选地,在本实施例中,上述预定阈值可以但不限于根据不同的场景设置为不同的取值,本实施例中对此不做任何限定。
可选地,在本实施例中,上述第二多媒体数据可以但不限于为在第一多媒体数据之前采集并缓存的存储时间最早的多媒体数据。也就是说,通过判断当前获取的第一多媒体数据的第一时间戳和缓存的存储时间最早的第二多媒体数据的第二时间戳之间的时间差值是否大于预定阈值,以确定是否需要删除目标多媒体数据。
具体结合以下示例进行说明,假设当前获取的第一多媒体数据为chunk-A,上述预定阈值为3秒,结合图4所示,缓存的多媒体数据包括:chunk1-chunkn。其中,存储时间最早的第二多媒体数据为chunk1。判断chunk-A携带的第一时间戳T1与chunk1携带的第二时间戳T2之间的时间差值是否大于3秒,若小于等于3秒,则直接把当前获取的第一多媒体数据chunk-A加入到缓存中;若大于3秒,则可以遍历chunk1中的tag标签,获取相邻两个多媒体关键帧之间的一组数据GOP作为目标多媒体数据。
通过本申请提供的实施例,通过比对判断第一多媒体数据中携带的第一时间戳,及第二多媒体数据中携带的第二时间戳之间的时间差值是否大于预定阈值,从而确定是否需要删除目标多媒体数据,而无需对全部数据进行遍历比对,以达到提高数据处理的效率的效果。
作为一种可选的方案,获取单元502包括:
1)处理模块,用于依次对获取到的当前数据标签中的数据帧内容执行以下操作:判断当前数据标签中的数据帧内容中是否包括多媒体关键帧;在判断出不包括多媒体关键帧帧时,则将当前数据标签中的数据帧内容封装到当前的第一多媒体数据中;在判断出包括多媒体关键帧时,则将当前数据标签中的数据帧内容封装到下一个第一多媒体数据中,其中,下一个第一多媒体数据位于当前的第一多媒体数据之后。
具体结合以下示例进行说明,结合图4所示进行说明,假设第一多媒体数据为以chunk数据块为单位,在获取到当前数据标签后,判断该当前数据标签中的数据帧内容中是否包括多媒体关键帧,如I帧,若判断出不包括上述多媒体关键帧,则直接将当前数据标签中的数据帧内容封装到当前的第一多媒体数据(如当前chunk)中;若判断出包括上述多媒体关键帧,则将当前数据标签中的数据帧内容封装到下一个第一多媒体数据(如下一个chunk)中,从而保证每个chunk的第一个tag标签中包括一个多媒体关键帧,以便于在利用chunk比对是否需要删除目标多媒体数据时,可以以多媒体关键帧为参考,避免数据误删导致花屏马赛克等现象。
通过本申请提供的实施例,通过根据多媒体关键帧来获取多媒体数据,从而保证缓存的多媒体数据中第一个tag标签中均包括多媒体关键帧,以便于在识别出多媒体关键帧后,对目标多媒体数据执行删除操作,从而达到提高多媒体数据处理的准确性和效率。
作为一种可选的方案,还包括:
1)判断单元,用于在将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端之前,根据当前缓存的多媒体数据判断是否调整第一客户端的发送码率。
可选地,在本实施例中,判断单元包括:
(1)调整模块,用于在当前缓存的多媒体数据中不包括目标多媒体数据时,调整降低发送码率,其中,降低后的发送码率根据删除的目标多媒体数据的数量确定。
具体结合表3所示示例进行说明,为了使直播过程实现动态适应网络变化,在减少播放延迟的同时不会出现花屏马赛克等现象,本示例中,还可以对第一客户端中的编码器进行对应的码率调整。其中,删除的目标多媒体数据(即GOP)数量不同,可以将编码器的码率做对应调整,例如,假设目标码率为目标码率L*0.9,在反馈中指示当前缓存的多媒体数据中删除了2个GOP,则调整目标降低为目标码率L*0.7,从而实现动态适应网络变化,以保证第二客户端在直播过程中播放的清晰度和实时性。
通过本申请提供的实施例,在当前缓存中的多媒体数据发生变化后,通过动态调整码率,以达到动态适应网络变化,从而实现保证直播互动效果的目的。
作为一种可选的方案,还包括:
1)第二判断模块,用于在调整降低发送码率之后,判断预定时间段内当前缓存的多媒体数据是否达到恢复条件,其中,恢复条件包括以下至少之一:当前缓存的多媒体数据中存储时间最早的第三多媒体数据和存储时间最晚的第四多媒体数据之间的时间差值是否小于第一阈值,当前缓存的多媒体数据中存储的多媒体数据的数量是否小于第二阈值;
2)恢复模块,用于在达到恢复条件时,恢复发送码率,其中,恢复后的发送码率根据目标码率确定。
需要说明的是,在本实施例中,不仅可以调低码率,在检测到网络状态变好的情况下,还可以恢复码率。其中恢复条件可以包括但不限于以下之一:1)预定时间段内存储时间最早及存储时间最晚的多媒体数据之间的时间差值小于第一阈值;2)预定时间段内存储的多媒体数据的数量小于第二阈值。也就是说,在网络状态变好时,缓存的多媒体数据数量也将相应变少,或存储时间最早及存储时间最晚的多媒体数据之间的时间差值也将相应变短,因而,根据上述内容可以确定是否恢复码率。
具体结合以下示例进行说明,如表4所示:
表4
例如,假设目标码率为目标码率L*0.9,在反馈中指示当前缓存的多媒体数据已达到恢复条件,则调整目标降低为目标码率L,从而实现动态适应网络变化,以保证第二客户端在直播过程中播放的清晰度和实时性。
实施例3
本发明实施例的应用环境可以但不限于参照实施例1中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述多媒体数据处理方法的一种可选的具体应用示例。
作为一种可选的实施例,上述多媒体数据处理方法可以但不限于应用于直播应用中。具体结合图6-7所示进行说明:
如图6所示,在直播过程中,第一客户端同时进行视频采集和音频采集,分别对其进行预处理和编码,并经flv封装得到多媒体数据,发往缓存,进一步执行本实施例中提供的多媒体数据处理方法。
其中,需要说明的是,在获取上述多媒体数据的过程中,编码后得到的是tag标签形式的数据,分别判断每个tag标签中的数据帧内容中是否包括多媒体关键帧,若当前的tag标签中的数据帧内容中包括多媒体关键帧,则创建一个新的chunk数据块,将当前的tag标签中的数据存储在新的chunk数据块中;若当前的tag标签中的数据帧内容中不包括多媒体关键帧,则将当前的tag标签中的数据存储在当前的chunk数据块中。
进一步,如图7所示步骤S702-S714,获取当前chunk数据块作为第一多媒体数据,获取当前chunk第一个tag标签中携带的时间戳T1,判断与缓存中第一个chunk中第一tag标签中携带的时间戳T2的时间差值是否大于预定阈值3秒,若小于等于3秒,则直接将当前chunk加入缓存;若大于3秒,则遍历缓存中chunk队列,获取相邻的第一多媒体关键帧和第二多媒体关键帧,二者之间的多媒体数据划为一组数据GOP,作为目标多媒体数据删除,并将当前chunk加入缓存。
实施例4
根据本发明实施例,还提供了一种用于实施上述多媒体数据处理方法的多媒体数据处理设备,如图8所示,该设备包括:
1)通讯接口802,设置为通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;
2)处理器804,与通讯接口802连接,设置为比对第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,第二多媒体数据为在第一多媒体数据之前采集并缓存的多媒体数据;还设置为在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据;
上述通讯接口还设置为将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在直播过程中的第二客户端播放当前缓存的多媒体数据,其中,第一账号与第二账号为关联账号;
3)存储器806,与通讯接口802及处理器804连接,设置为存储第一多媒体数据、第二多媒体数据及当前缓存的多媒体数据。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;
S2,比对第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,第二多媒体数据为在第一多媒体数据之前采集并缓存的多媒体数据;
S3,在比对的结果指示删除缓存的多媒体数据中的目标多媒体数据的情况下,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据;
S4,将当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在直播过程中的第二客户端播放当前缓存的多媒体数据,其中,第一账号与第二账号为关联账号。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,在比对的结果指示从缓存的多媒体数据中删除位于相邻两个多媒体关键帧之间的目标多媒体数据时,从缓存的多媒体数据中删除目标多媒体数据,得到当前缓存的多媒体数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,从缓存的多媒体数据中获取缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧;
S2,从缓存的多媒体数据中删除第一多媒体关键帧和第二多媒体关键帧之间的多媒体数据,得到当前缓存的多媒体数据,其中,目标多媒体数据为第一多媒体关键帧和第二多媒体关键帧之间的多媒体数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (18)
1.一种多媒体数据处理方法,其特征在于,包括:
通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;
比对所述第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,所述第二多媒体数据为在所述第一多媒体数据之前采集并缓存的多媒体数据;
在所述比对的结果指示删除所述缓存的多媒体数据中的目标多媒体数据的情况下,从所述缓存的多媒体数据中删除所述目标多媒体数据,得到当前缓存的多媒体数据;
将所述当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在所述直播过程中的所述第二客户端播放所述当前缓存的多媒体数据,其中,所述第一账号与所述第二账号为关联账号。
2.根据权利要求1所述的方法,其特征在于,在所述比对的结果指示删除所述缓存的多媒体数据中的目标多媒体数据的情况下,从所述缓存的多媒体数据中删除所述目标多媒体数据,得到当前缓存的多媒体数据包括:
在所述比对的结果指示从所述缓存的多媒体数据中删除位于相邻两个多媒体关键帧之间的所述目标多媒体数据时,从所述缓存的多媒体数据中删除所述目标多媒体数据,得到所述当前缓存的多媒体数据。
3.根据权利要求2所述的方法,其特征在于,从所述缓存的多媒体数据中删除所述目标多媒体数据,得到所述当前缓存的多媒体数据包括:
从所述缓存的多媒体数据中获取缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧;
从所述缓存的多媒体数据中删除所述第一多媒体关键帧和所述第二多媒体关键帧之间的多媒体数据,得到所述当前缓存的多媒体数据,其中,所述目标多媒体数据为所述第一多媒体关键帧和所述第二多媒体关键帧之间的多媒体数据。
4.根据权利要求1所述的方法,其特征在于,所述比对所述第一多媒体数据与缓存的多媒体数据中的第二多媒体数据包括:
判断所述第一多媒体数据中携带的第一时间戳,及所述第二多媒体数据中携带的第二时间戳之间的时间差值是否大于预定阈值;
在所述时间差值大于所述预定阈值时,生成所述比对的结果,其中,所述比对的结果用于指示删除所述缓存的多媒体数据中的所述目标多媒体数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述缓存的多媒体数据中包括:数据头、多个数据标签,其中,每一个所述数据标签中包括:时间戳、数据帧内容。
6.根据权利要求5所述的方法,其特征在于,所述通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据包括:
依次对获取到的当前数据标签中的所述数据帧内容执行以下操作:
判断所述当前数据标签中的所述数据帧内容中是否包括多媒体关键帧;
在判断出不包括所述多媒体关键帧帧时,则将所述当前数据标签中的所述数据帧内容封装到当前的所述第一多媒体数据中;
在判断出包括所述多媒体关键帧时,则将所述当前数据标签中的所述数据帧内容封装到下一个所述第一多媒体数据中,其中,下一个所述第一多媒体数据位于当前的所述第一多媒体数据之后。
7.根据权利要求1所述的方法,其特征在于,在将所述当前缓存的多媒体数据发送给使用第二账号登录的第二客户端之前,还包括:
根据所述当前缓存的多媒体数据判断是否调整所述第一客户端的发送码率。
8.根据权利要求7所述的方法,其特征在于,所述根据所述当前缓存的多媒体数据判断是否调整所述第一客户端的发送码率包括:
在所述当前缓存的多媒体数据中不包括所述目标多媒体数据时,调整降低所述发送码率,其中,降低后的所述发送码率根据删除的所述目标多媒体数据的数量确定。
9.根据权利要求8所述的方法,其特征在于,在所述调整降低所述发送码率之后,还包括:
判断预定时间段内所述当前缓存的多媒体数据是否达到恢复条件,其中,所述恢复条件包括以下至少之一:所述当前缓存的多媒体数据中存储时间最早的第三多媒体数据和存储时间最晚的第四多媒体数据之间的时间差值是否小于第一阈值,所述当前缓存的多媒体数据中存储的多媒体数据的数量是否小于第二阈值;
在达到所述恢复条件时,恢复所述发送码率,其中,恢复后的所述发送码率根据目标码率确定。
10.一种多媒体数据处理装置,其特征在于,包括:
获取单元,用于通过使用第一账号登录的第一客户端获取在直播过程中采集的第一多媒体数据;
比对单元,用于比对所述第一多媒体数据与缓存的多媒体数据中的第二多媒体数据,其中,所述第二多媒体数据为在所述第一多媒体数据之前采集并缓存的多媒体数据;
删除单元,用于在所述比对的结果指示删除所述缓存的多媒体数据中的目标多媒体数据的情况下,从所述缓存的多媒体数据中删除所述目标多媒体数据,得到当前缓存的多媒体数据;
发送单元,用于将所述当前缓存的多媒体数据发送给使用第二账号登录的第二客户端,以使在所述直播过程中的所述第二客户端播放所述当前缓存的多媒体数据,其中,所述第一账号与所述第二账号为关联账号。
11.根据权利要求10所述的装置,其特征在于,所述删除单元包括:
删除模块,用于在所述比对的结果指示从所述缓存的多媒体数据中删除位于相邻两个多媒体关键帧之间的所述目标多媒体数据时,从所述缓存的多媒体数据中删除所述目标多媒体数据,得到所述当前缓存的多媒体数据。
12.根据权利要求11所述的装置,其特征在于,所述删除模块包括:
获取子模块,用于从所述缓存的多媒体数据中获取缓存时间最早且相邻的第一多媒体关键帧和第二多媒体关键帧;
删除子模块,用于从所述缓存的多媒体数据中删除所述第一多媒体关键帧和所述第二多媒体关键帧之间的多媒体数据,得到所述当前缓存的多媒体数据,其中,所述目标多媒体数据为所述第一多媒体关键帧和所述第二多媒体关键帧之间的多媒体数据。
13.根据权利要求10所述的装置,其特征在于,所述比对单元包括:
第一判断模块,用于判断所述第一多媒体数据中携带的第一时间戳,及所述第二多媒体数据中携带的第二时间戳之间的时间差值是否大于预定阈值;
生成模块,用于在所述时间差值大于所述预定阈值时,生成所述比对的结果,其中,所述比对的结果用于指示删除所述缓存的多媒体数据中的所述目标多媒体数据。
14.根据权利要求10-13中任一项所述的装置,其特征在于,所述缓存的多媒体数据中包括:数据头、多个数据标签,其中,每一个所述数据标签中包括:时间戳、数据帧内容。
15.根据权利要求14所述的装置,其特征在于,所述获取单元包括:
处理模块,用于依次对获取到的当前数据标签中的所述数据帧内容执行以下操作:判断所述当前数据标签中的所述数据帧内容中是否包括多媒体关键帧;在判断出不包括所述多媒体关键帧帧时,则将所述当前数据标签中的所述数据帧内容封装到当前的所述第一多媒体数据中;在判断出包括所述多媒体关键帧时,则将所述当前数据标签中的所述数据帧内容封装到下一个所述第一多媒体数据中,其中,下一个所述第一多媒体数据位于当前的所述第一多媒体数据之后。
16.根据权利要求10所述的装置,其特征在于,还包括:
判断单元,用于在将所述当前缓存的多媒体数据发送给使用第二账号登录的第二客户端之前,根据所述当前缓存的多媒体数据判断是否调整所述第一客户端的发送码率。
17.根据权利要求16所述的装置,其特征在于,所述判断单元包括:
调整模块,用于在所述当前缓存的多媒体数据中不包括所述目标多媒体数据时,调整降低所述发送码率,其中,降低后的所述发送码率根据删除的所述目标多媒体数据的数量确定。
18.根据权利要求17所述的装置,其特征在于,还包括:
第二判断模块,用于在所述调整降低所述发送码率之后,判断预定时间段内所述当前缓存的多媒体数据是否达到恢复条件,其中,所述恢复条件包括以下至少之一:所述当前缓存的多媒体数据中存储时间最早的第三多媒体数据和存储时间最晚的第四多媒体数据之间的时间差值是否小于第一阈值,所述当前缓存的多媒体数据中存储的多媒体数据的数量是否小于第二阈值;
恢复模块,用于在达到所述恢复条件时,恢复所述发送码率,其中,恢复后的所述发送码率根据目标码率确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610875048.6A CN106658113B (zh) | 2016-09-30 | 2016-09-30 | 多媒体数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610875048.6A CN106658113B (zh) | 2016-09-30 | 2016-09-30 | 多媒体数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106658113A true CN106658113A (zh) | 2017-05-10 |
CN106658113B CN106658113B (zh) | 2019-09-13 |
Family
ID=58854382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610875048.6A Active CN106658113B (zh) | 2016-09-30 | 2016-09-30 | 多媒体数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106658113B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
CN109151494A (zh) * | 2017-06-19 | 2019-01-04 | 杭州萤石网络有限公司 | 多媒体数据传输方法、多媒体采集设备及服务器 |
CN109327662A (zh) * | 2017-07-31 | 2019-02-12 | 合网络技术(北京)有限公司 | 视频拼接方法及装置 |
CN110113621A (zh) * | 2018-02-01 | 2019-08-09 | 腾讯科技(深圳)有限公司 | 媒体信息的播放方法和装置、存储介质、电子装置 |
CN113038246A (zh) * | 2021-02-23 | 2021-06-25 | 北京金山云网络技术有限公司 | 多媒体帧的传输方法、装置和计算机可读存储介质 |
CN116055810A (zh) * | 2023-01-17 | 2023-05-02 | 阿里云计算有限公司 | 音视频播放方法、装置、系统、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001326581A (ja) * | 2000-05-18 | 2001-11-22 | Sharp Corp | デジタルデータ放送受信方法及び装置 |
CN101902524A (zh) * | 2010-07-13 | 2010-12-01 | 上海未来宽带技术及应用工程研究中心有限公司 | 能作为视频直播系统视频源的手机及音视频发送方法 |
CN103702136A (zh) * | 2013-12-23 | 2014-04-02 | 乐视致新电子科技(天津)有限公司 | 一种多媒体数据的存储方法及装置 |
CN105049906A (zh) * | 2015-08-07 | 2015-11-11 | 虎扑(上海)文化传播股份有限公司 | 一种数据处理方法及电子设备 |
CN105245945A (zh) * | 2014-07-07 | 2016-01-13 | 深圳市云帆世纪科技有限公司 | 网络多媒体数据的播放方法及播放系统 |
-
2016
- 2016-09-30 CN CN201610875048.6A patent/CN106658113B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001326581A (ja) * | 2000-05-18 | 2001-11-22 | Sharp Corp | デジタルデータ放送受信方法及び装置 |
CN101902524A (zh) * | 2010-07-13 | 2010-12-01 | 上海未来宽带技术及应用工程研究中心有限公司 | 能作为视频直播系统视频源的手机及音视频发送方法 |
CN103702136A (zh) * | 2013-12-23 | 2014-04-02 | 乐视致新电子科技(天津)有限公司 | 一种多媒体数据的存储方法及装置 |
CN105245945A (zh) * | 2014-07-07 | 2016-01-13 | 深圳市云帆世纪科技有限公司 | 网络多媒体数据的播放方法及播放系统 |
CN105049906A (zh) * | 2015-08-07 | 2015-11-11 | 虎扑(上海)文化传播股份有限公司 | 一种数据处理方法及电子设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151494A (zh) * | 2017-06-19 | 2019-01-04 | 杭州萤石网络有限公司 | 多媒体数据传输方法、多媒体采集设备及服务器 |
CN109151494B (zh) * | 2017-06-19 | 2021-07-09 | 杭州萤石网络有限公司 | 多媒体数据传输方法、多媒体采集设备及服务器 |
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
CN109327662A (zh) * | 2017-07-31 | 2019-02-12 | 合网络技术(北京)有限公司 | 视频拼接方法及装置 |
CN109327662B (zh) * | 2017-07-31 | 2021-02-05 | 阿里巴巴(中国)有限公司 | 视频拼接方法及装置 |
CN110113621A (zh) * | 2018-02-01 | 2019-08-09 | 腾讯科技(深圳)有限公司 | 媒体信息的播放方法和装置、存储介质、电子装置 |
CN113038246A (zh) * | 2021-02-23 | 2021-06-25 | 北京金山云网络技术有限公司 | 多媒体帧的传输方法、装置和计算机可读存储介质 |
CN116055810A (zh) * | 2023-01-17 | 2023-05-02 | 阿里云计算有限公司 | 音视频播放方法、装置、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106658113B (zh) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106658113A (zh) | 多媒体数据处理方法及装置 | |
CN102598688B (zh) | 流式传输经编码视频数据 | |
CN103650509B (zh) | 基于照相机和背景运动的参考帧缓冲区的自适应配置 | |
CN106169998B (zh) | 媒体文件的处理方法和装置 | |
CN101888544B (zh) | 一种低带宽的视频数据传输方法和硬盘录像机 | |
JP6514738B2 (ja) | コンテンツプロファイルを用いる高度化された遠隔トランスコーディングのためのシステム及び方法 | |
CN103747077B (zh) | 一种传输机制调整方法和服务端、客户端 | |
CN103595576B (zh) | 一种基于内容提供商标识的互联口icp流量统计系统及方法 | |
CN110447234A (zh) | 作为分隔符及可寻址资源标识符的区段类型 | |
CN109587573A (zh) | 生成设备和方法、显示设备和方法以及存储介质 | |
CN105163156B (zh) | 视频续播方法、播放设备及系统 | |
CN107147959A (zh) | 一种广播视频剪辑获取方法及系统 | |
CN107835424A (zh) | 一种基于数据感知的媒体同步传输播放方法 | |
CN102802088B (zh) | 一种基于实时传输协议的数据传输方法 | |
CN104837031B (zh) | 一种高速自适应提取视频关键帧的方法 | |
CN106658067B (zh) | 设置缓存的方法和装置 | |
CN104349184A (zh) | 多媒体流的识别方法及相应装置 | |
CN104168506A (zh) | 通过嗅探http数据包获取用户视频体验质量的方法 | |
CN103841461A (zh) | 信息处理方法、装置及电子设备 | |
CN107295364A (zh) | 用于弹幕视频的实时流传输控制方法、控制装置 | |
CN108769735A (zh) | 一种网络传输的数据压缩中优化Spice方法 | |
CN106792247A (zh) | 减少时延的直播流推送方法及装置、直播系统 | |
CN111726647B (zh) | 数据分流设备和数据处理系统 | |
CN101483542B (zh) | 一种对网络流媒体音视频的多维度的访问量统计方法 | |
CN108810468B (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 |