CN108462896B - 直播数据流处理方法、装置及电子设备 - Google Patents

直播数据流处理方法、装置及电子设备 Download PDF

Info

Publication number
CN108462896B
CN108462896B CN201810247643.4A CN201810247643A CN108462896B CN 108462896 B CN108462896 B CN 108462896B CN 201810247643 A CN201810247643 A CN 201810247643A CN 108462896 B CN108462896 B CN 108462896B
Authority
CN
China
Prior art keywords
audio frame
time
played
difference
determining
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.)
Expired - Fee Related
Application number
CN201810247643.4A
Other languages
English (en)
Other versions
CN108462896A (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.)
Beijing Longzhixin Technology Co ltd
Original Assignee
Beijing Panda Mutual Entertainment 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 Beijing Panda Mutual Entertainment Technology Co Ltd filed Critical Beijing Panda Mutual Entertainment Technology Co Ltd
Priority to CN201810247643.4A priority Critical patent/CN108462896B/zh
Publication of CN108462896A publication Critical patent/CN108462896A/zh
Application granted granted Critical
Publication of CN108462896B publication Critical patent/CN108462896B/zh
Expired - Fee Related 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/439Processing of audio elementary streams
    • 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
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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/44Processing 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk

Landscapes

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

Abstract

本发明实施例提供一种直播数据流处理方法、装置及电子设备,该方法包括:根据在第一时间获取到的第一待播放音频帧的时间戳以及第一时间确定参考时间差。再根据第二时间获取到的第二待播放音频帧的时间戳以及第二时间确定实际时间差。若实际时间差与参考时间差之差大于预设阈值,则根据第二待播放音频帧的时间戳确定目标音频帧,再根据目标音频帧的时间戳确定目标视频帧,使观看客户端播放由此目标音频帧与目标视频帧组成的直播数据流。通过上述描述可知,本发明的方法实际为:当直播数据流存在延迟时,通过对直播数据流中音频帧和视频帧的丢弃来达到改善直播数据流延迟的效果,使观看用户看到实时的直播数据流,提高观看用户与主播互动的及时性。

Description

直播数据流处理方法、装置及电子设备
技术领域
本发明涉及视频直播技术领域,尤其涉及一种直播数据流处理方法、装置及电子设备。
背景技术
近年来,人们通过通信设备可以获得越来越多样化的娱乐方式,如微博、手机游戏、网络视频直播等,其中网络视频直播由于其直观、内容丰富、受众可划分等特点,发展地尤为迅速。
现有技术中,主播客户端会先将直播数据流发送至内容分发网络(ContentDelivery Network,简称CDN)节点,观看客户端再通过CDN节点拉取直播数据流也即是实现了观看直播。但是,由于观看客户端与CDN节点之间的网络环境往往不稳定,网络的不稳定会使观看用户看到存在延迟的直播数据流,从而最终导致观看用户不能与主播进行及时互动,降低用户的使用体验。
发明内容
有鉴于此,本发明实施例提供一种直播数据流处理方法、装置及电子设备,用以改善直播数据流的延迟问题。
本发明实施例提供一种直播数据流处理方法,包括:
根据第一时间获取到的第一待播放音频帧的时间戳以及所述第一时间确定参考时间差;
根据第二时间获取到的第二待播放音频帧的时间戳以及所述第二时间确定实际时间差,其中,所述第一时间早于所述第二时间且二者间隔预设时间间隔;
若所述实际时间差与所述参考时间差之差大于预设阈值,则根据所述第二待播放音频帧的时间戳确定目标音频帧;
根据所述目标音频帧的时间戳确定目标视频帧,以使观看客户端播放由所述目标音频帧以及所述目标视频帧组成的直播数据流。
可选地,所述若所述实际时间差与所述参考时间差之差大于预设阈值,则根据所述第二待播放音频帧的时间戳确定目标音频帧,包括:
判断存储有待播放音频帧的音频缓存队列中是否存在待播放音频帧;
若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中存在待播放音频帧,则执行所述根据所述第二待播放音频帧的时间戳确定目标音频帧的步骤;
若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中不存在待播放音频帧,则确定所述第二待播放音频帧为所述目标音频帧。
可选地,所述若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中存在待播放音频帧,则执行所述根据所述第二待播放音频帧的时间戳确定目标音频帧的步骤,包括:
从所述音频缓存队列中筛选出时间戳大于所述第二待播放音频帧的时间戳的音频帧;
根据所述实际时间差与所述参考时间差之差大于预设阈值的程度高低,结合所述第二待播放音频帧的时间戳,在筛选出的音频帧中确定具有相应时间戳的音频帧为所述目标音频帧,其中,所述目标音频帧的时间戳和所述第二待播放音频帧的时间戳之差与所述程度高低存在对应关系。
可选地,所述根据所述目标音频帧的时间戳确定目标视频帧,包括:
从存储有待播放视频帧的视频缓存队列中筛选时间戳大于或等于所述目标音频帧的时间戳的视频帧;
确定筛选出的视频帧中具有最小时间戳的视频帧为所述目标视频帧。
可选地,所述根据第一时间获取到的第一待播放音频帧的时间戳以及所述第一时间确定参考时间差,包括:
对所述获取到的第一待播放音频帧的时间戳进行单位转换;
根据单位转换后的时间戳与所述第一时间确定所述参考时间差;
所述根据第二时间获取到的第二待播放音频帧的时间戳以及所述第二时间确定实际时间差,包括:
对所述获取到的第二待播放音频帧的时间戳进行单位转换;
根据单位转换后的时间戳与所述第二时间确定所述实际时间差。
本发明实施例提供一种直播数据流处理装置,包括:
时间差确定模块,用于根据第一时间获取到的第一待播放音频帧的时间戳以及所述第一时间确定参考时间差;以及,
根据第二时间获取到的第二待播放音频帧的时间戳以及所述第二时间确定实际时间差,其中,所述第一时间早于所述第二时间且二者间隔预设时间间隔;
音频帧确定模块,用于若所述实际时间差与所述参考时间差之差大于预设阈值,则根据所述第二待播放音频帧的时间戳确定目标音频帧;
视频帧确定模块,用于根据所述目标音频帧的时间戳确定目标视频帧,以使观看客户端播放由所述目标音频帧以及所述目标视频帧组成的直播数据流。
可选地,所述音频帧确定模块包括:
判断单元,用于判断存储有待播放音频帧的音频缓存队列中是否存在待播放音频帧;
音频帧确定单元,用于若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中存在待播放音频帧,则执行所述根据所述第二待播放音频帧的时间戳确定目标音频帧的步骤;以及,
若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中不存在待播放音频帧,则确定所述第二待播放音频帧为所述目标音频帧。
可选地,所述音频帧确定单元具体用于:
从所述音频缓存队列中筛选出时间戳大于所述第二待播放音频帧的时间戳的音频帧;以及,
根据所述实际时间差与所述参考时间差之差大于预设阈值的程度高低,结合所述第二待播放音频帧的时间戳,在筛选出的音频帧中确定具有相应时间戳的音频帧为所述目标音频帧,其中,所述目标音频帧的时间戳和所述第二待播放音频帧的时间戳之差与所述程度高低存在对应关系。
可选地,所述时间差确定模块具体用于:
对所述获取到的第一待播放音频帧的时间戳进行单位转换,根据单位转换后的时间戳与所述第一时间确定所述参考时间差;以及,
对所述获取到的第二待播放音频帧的时间戳进行单位转换,根据单位转换后的时间戳与所述第二时间确定所述实际时间差。
本发明实施例提供一种电子设备,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以实现上述直播数据流处理方法中的任意一种方法。
本发明实施例提供的直播数据流处理方法、装置及电子设备,观看客户端在响应于用户触发的观看直播操作后,便会不断从CDN节点获取包含音频帧和视频帧的直播数据流。观看客户端根据在第一时间获取到的第一待播放音频帧的时间戳以及第一时间确定参考时间差,此参考时间差表示在观看客户端与CDN节点之间网络正常的情况下由于数据传输而产生的时间差,且第一时间通常是观看用户观看直播的起始时间。随着直播数据流的不断播放,出现直播数据流延迟的可能性也不断增加,因此,在间隔预设时间间隔后,观看客户端再根据第二时间获取到的第二待播放音频帧的时间戳以及第二时间确定实际时间差,此实际时间差中可以同时包含数据传输产生的时间差以及直播数据流延迟产生的时间差。当实际时间差与参考时间差之差大于预设阈值时,则表明直播数据流已经存在延迟,此时,观看客户端可以根据第二待播放音频帧的时间戳确定目标音频帧。继而,再根据目标音频帧的时间戳确定目标视频帧,最终,观看客户端会播放由目标音频帧与目标视频帧组成的直播数据流。上述直播数据流处理方法实际上为:当实际时间差与参考时间差之差大于预设阈值时也即是存在延迟时,观看客户端不会播放第二待播放音频帧以及与第二待播放音频帧对应的视频帧,而是跳过它们直接播放确定出的目标音频帧以及目标视频帧。通过对音频帧和视频帧的丢弃处理可以不断弥补并最终消除直播数据流出现的延迟。这样使得在观看客户端与CDN节点之间的网络不稳定时,观看用户也可以观看到不存在延迟的直播数据流,从而实现与主播的实时互动。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的直播数据流处理方法实施例一的流程图;
图2为本发明实施例提供的直播数据流处理方法实施例二的流程图;
图3为本发明实施例提供的直播数据流处理装置实施例一的结构示意图;
图4为本发明实施例提供的直播数据流处理装置实施例二的结构示意图;
图5为本发明实施例提供的电子设备实施例一的结构示意图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述待播放音频帧,但这些待播放音频帧不应限于这些术语。这些术语仅用来将待播放音频帧彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一待播放音频帧也可以被称为第二待播放音频帧,类似地,第二待播放音频帧也可以被称为第一待播放音频帧。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
观看用户使用观看客户端进入直播网站,观看用户可以通过观看客户端提供的操作界面中选择某一直播间进行观看。观看客户端在响应于观看用户触发的观看直播操作后,会持续从CDN节点获取包含音频帧和视频帧的直播数据流。
基于此,图1为本发明实施例提供的直播数据流处理方法实施例一的流程图,本实施例提供的该直播数据流处理方法的执行主体可以为安装于终端设备上的观看客户端,如图1所示,该方法包括如下步骤:
S101,根据第一时间获取到的第一待播放音频帧的时间戳以及第一时间确定参考时间差。
S102,根据第二时间获取到的第二待播放音频帧的时间戳以及第二时间确定实际时间差,其中,第一时间早于第二时间且二者间隔预设时间间隔。
观看客户端从CDN节点获取到的是同时包含有音频流和视频流的直播数据流,其中,音频流由若干音频帧组成,视频流由若干视频帧组成。此时,可选地,观看客户端可以通过调用相关函数的方式来将直播数据流分解成一路音频流和一路视频流。
然后,观看客户端先对音频流进行处理。具体地,观看客户端可以在第一时间获取到第一待播放音频帧以及此第一待播放音频帧的时间戳,其中,音频帧的时间戳可以是在主播客户端产生直播数据流时已经为音频帧添加上的,此时间戳用于表示此帧音频的播放时间。接着,观看客户端便可以根据第一待播放音频的时间戳与第一时间确定出参考时间差。此参考时间差表示将第一待播放音频帧从CDN节点传输至观看客户端的传输时间。在实际应用中,可选地,第一时间通常是观看用户观看直播的起始时间或者是距离起始时间较近的一个时间,例如距离起始时间1s的时间,通常情况下,观看客户端与CDN节点之间的网络通常是处于正常状态的。
在观看客户端确定参考时间差的同时,观看客户端还可以继续从CDN节点处获取包含音频流和视频流的直播数据流。在与第一时间间隔预设时间间隔后,与确定参考时间差相似地,观看客户端还会根据第二时间获取到的第二待播放音频帧的时间戳以及第二时间确定出实际时间差。实际应用中,可选地,预设时间间隔可以是3s。随着观看用户观看直播时间的增长,观看客户端与CDN节点之间存在网络波动的可能也随之增加。因此,观看客户端确定出的此实际时间差中不仅包含将第二待播放音频帧从CDN节点传输到观看客户端的传输时间还有可能包含由于网络不稳定而产生的延迟时间。
S103,若实际时间差与参考时间差之差大于预设阈值,则根据第二待播放音频帧的时间戳确定目标音频帧。
S104,根据目标音频帧的时间戳确定目标视频帧,以使观看客户端播放由目标音频帧以及目标视频帧组成的直播数据流。
观看客户端可以进一步地根据上述步骤确定出的参考时间差和实际时间差计算出二者的差值,此时会出现两种情况:
一种情况,实际时间差与参考时间差之差小于预设阈值,此时,表示当前直播数据流不存在延迟,观看用户可以通过观看客户端实时观看到主播客户端产生的直播数据流,观看客户端不需要对音频流以及视频流进行任何处理。
另一种情况,实际时间差与参考时间差之差大于预设阈值,此时,表示直播数据流存在延迟,此时,观看客户端需要对音频流以及视频流进行处理。一种可选地的方式,观看客户端会将本应即将播放的第二待播放音频帧丢弃,而将与第二待播放音频帧相邻的后一帧音频作为即将播放的目标音频帧,上述确定出目标音频帧的过程也即是完成了对音频流的处理。在观看客户端将当前正在播放的音频帧播放完毕后便会直接播放此目标音频帧。
在完成对音频流的处理后,观看客户端开始对视频流进行处理。具体地,观看客户端可以根据目标音频帧的时间戳确定应该与此目标音频帧同时播放的目标视频帧。一种可选地方式,观看客户端从获取到的各个待播放视频帧中筛选出时间戳大于或等于目标音频帧的时间戳的视频帧,并将筛选出的视频帧中具有最小时间戳的视频帧确定为目标视频帧。由于音频帧是经过丢弃处理的,而目标视频帧又是根据目标音频帧确定出来的,因此,视频帧也相当于是经过丢弃处理的。
最终,观看客户端播放在当前正在播放的音频帧和视频帧播放完毕后就会播放由目标音频帧以及目标视频帧组成的直播数据流。
本实施例中,观看客户端根据在第一时间获取到的第一待播放音频帧的时间戳以及第一时间确定参考时间差,此参考时间差表示在观看客户端与CDN节点之间网络正常的情况下由于数据传输而产生的时间差,且第一时间通常是观看用户观看直播的起始时间。随着直播数据流的不断播放,出现直播数据流延迟的可能性也不断增加,因此,在间隔预设时间间隔后,观看客户端再根据第二时间获取到的第二待播放音频帧的时间戳以及第二时间确定实际时间差,此实际时间差中可以同时包含数据传输产生的时间差以及直播数据流延迟产生的时间差。当实际时间差与参考时间差之差大于预设阈值时,则表明直播数据流已经存在延迟,此时,观看客户端可以根据第二待播放音频帧的时间戳确定目标音频帧。继而,再根据目标音频帧的时间戳确定目标视频帧,最终,观看客户端会播放由目标音频帧与目标视频帧组成的直播数据流。上述直播数据流处理方法实际上为:当实际时间差与参考时间差之差大于预设阈值时也即是存在延迟时,观看客户端不会播放第二待播放音频帧以及与第二待播放音频帧对应的视频帧,而是跳过它们直接播放确定出的目标音频帧以及目标视频帧。通过对音频帧和视频帧的丢弃处理可以不断弥补并最终消除直播数据流出现的延迟。这样使得在观看客户端与CDN节点之间的网络不稳定时,观看用户也可以观看到不存在延迟的直播数据流,从而实现与主播的实时互动。
观看客户端获取到的音频帧的时间戳、第一时间以及第二时间都是用于表示时间的数据,并且它们可以采用相同单位或者不同单位的数值来表示。当音频帧的时间戳、第一时间以及第二时间是具有相同单位的数据时,观看客户端可以采用上述实施例一中描述的方式直接确定出参考时间差和实际时间差。但在实际应用中,观看客户端获取到的时间戳、第一时间以及第二时间往往是具有不同单位的数据。
针对此种情况,图2为本发明实施例提供的直播数据流处理方法实施例二的流程图,如图2所示,该方法包括如下步骤:
S201,对获取到的第一待播放音频帧的时间戳进行单位转换。
S202,根据单位转换后的时间戳与第一时间确定参考时间差。
S203,对获取到的第二待播放音频帧的时间戳进行单位转换。
S204,根据单位转换后的时间戳与第二时间确定实际时间差。
当音频帧的时间戳、第一时间和第二时间三个时间参数的单位不同时,直接做差得到的参考时间差和实际时间差是没有意义的。因此,在获取到第一待播放音频帧的时间戳后,会对此第一待播放音频帧的时间戳进行单位转换,将其转换成与第一时间具有相同单位的数据,再根据单位转换后的时间戳与第一时间做差从而得到参考时间差。
与上述描述类似地,观看客户端在获取到第二待播放音频帧的时间戳后,也会对此时间戳进行单位转换,再利用格式单位后的时间戳与第二时间做差,从而得到实际时间差。
在此需要说明的是,单位转换后的时间戳仅是用于计算参考时间差和实际时间差的,而后续对音频流和视频流的处理过程中使用的时间戳还是未经过单位转换的时间戳。
S205,若实际时间差与参考时间差之差大于预设阈值,则根据第二待播放音频帧的时间戳确定目标音频帧。
观看客户端从CDN节点获取到的待播放音频帧和待播放视频帧后,可选地,可以分别将其缓存于音频缓存队列和视频缓存队列中。若根据前述步骤确定出的参考时间差和实际时间差二者之间的差值大于预设阈值,则表明当前直播数据流是存在延迟的。此时,观看客户端会先判断存储有待播放音频帧的音频缓存队列中是否存在待播放音频帧,并根据判断的结果对音频流进行相应处理。
一种情况,若实际时间差与参考时间差之差大于预设阈值且音频缓存队列中存在待播放音频帧,则观看客户端可以根据第二待播放音频帧的时间戳确定目标音频帧。在当前正在播放的直播数据流播放完毕后,观看客户端则会跳过本应播放的第二待播放音频帧,而是直接播放确定出的目标音频帧。
对于观看客户端确定目标音频帧的方式:
一种可选地方式,观看客户端可以采用实施例一中涉及的方式确定目标音频帧,具体描述可以参见前述实施例一中的相关描述,在此不再赘述。
另一种可选地方式,观看客户端还可以采用以下方式确定目标音频帧:
第一,从音频缓存队列中筛选出时间戳大于第二待播放音频帧的时间戳的音频帧。
第二,根据实际时间差与参考时间差之差大于预设阈值的程度高低,结合第二待播放音频帧的时间戳,在筛选出的音频帧中确定具有相应时间戳的音频帧为目标音频帧,其中,目标音频帧的时间戳和第二待播放音频帧的时间戳之差与程度高低存在对应关系。
具体来说,观看客户端先根据第二待播放音频帧的时间戳从音频缓存队列中进行筛选,以筛选出一定数目的音频帧,筛选出的音频帧的时间戳大于第二待播放音频帧的时间戳。其中,在观看客户端不对音频流进行处理的情况下,此筛选出的音频帧应该是在第二待播放音频帧之后播放的。
为了下述描述简洁,可以将实际时间差与参考时间差之差称为第一差值,将第一差值和预设阈值之间的差值称为第二差值。进一步地,观看客户端可以分别计算出第一差值和第二差值,其中,第二差值的大小用以表示第一差值大于预设阈值的程度高低,第二差值越大则表示程度越高,也即是延迟越严重。此时,观看客户端可以目标音频帧的时间戳和第二待播放音频帧的时间戳之差与程度高低之间的预设关系确定出目标音频帧。
预设对应关系比如可以为:第一级别---30,第二级别---60,第三级别---90,其中,第一级别为最低级别,第三级别为最高级别。基于此预设对应关系,下面以具体例子说明如何确定目标音频帧:
当程度为第一级别时,观看客户端可以从筛选出的音频帧中将时间戳与待播放第二音频帧时间戳之差为30的音频帧作为目标音频帧。在实际应用中,可选地,两帧相邻音频的时间戳的差值可以为30。在第一等级时,观看客户端相当于将与第二待播放音频帧相邻的后一帧音频作为目标音频帧。
当程度为第三级别时,观看客户端可以从筛选出的音频帧中将时间戳与待播放第二音频帧时间戳之差为90的音频帧作为目标音频帧。承接上段举例,在第三等级时,观看客户端相当于将第二待播放音频帧之后的第三帧音频作为目标音频帧。
另一种情况,若实际时间差与参考时间差之差大于预设阈值且音频缓存队列中不存在待播放音频帧,则确定第二待播放音频帧为目标音频帧。
此时,由于音频缓存队列中没有待播放音频帧,观看客户端获取到的第二待播放音频帧是仅有的可以播放的音频。若观看客户端不播放此第二待播放音频帧,则不存在其他可播放的音频帧,这时就会对用户的正常观看造成影响。因此,在这种情况下,观看客户端会直接将此第二待播放音频帧作为目标音频帧,观看客户端会在当前正在播放的音频帧播放完毕后播放此目标音频帧。
S206,根据目标音频帧的时间戳确定目标视频帧,以使观看客户端播放由目标音频帧以及目标视频帧组成的直播数据流。
在观看客户端确定出目标音频帧后,观看客户端会进一步对视频流进行处理也即是确定出目标视频帧。可选地,观看客户端可以采用以下方式确定目标视频帧:
观看客户端首先在存储有待播放视频帧的视频缓存队列中进行筛选,从而筛选出时间戳大于或等于目标音频帧的时间戳的视频帧。然后,再从筛选出的视频帧中将具有最小时间戳的视频帧确定为目标视频帧。
最后,观看客户端已经同时确定出目标音频帧和目标视频帧,在当前正在播放的直播数据流播放完毕之后,观看客户端便会播放由目标音频帧和目标视频帧组成的直播数据流。
本实施例中,观看客户端在获取到第一待播放音频帧、第二待播放音频帧的时间戳后会对其进行单位转换,使观看客户端可以准确确定出参考时间差与实际时间差,从而可以进一步改善直播数据流的延迟。另外,观看客户端还会根据直播数据流延迟的严重程度选择丢弃不同数目的音频帧以及视频帧,使观看客户端对直播数据流的处理更加精细、更加有针对性。同时,通过对音频帧和视频帧的丢弃处理可以不断弥补并最终消除直播数据流出现的延迟。这样使得在观看客户端与CDN节点之间的网络不稳定时,观看用户也可以观看到不存在延迟的直播数据流,从而实现与主播的实时互动。另外,由于上述直播数据流处理过程中丢弃的音频帧和视频帧的数目是较小的,因此,即使对其进行丢弃用户也不会察觉到直播内容的丢失,这样也即是实现了在保证用户观看效果的同时改善直播数据流延迟的效果。
图3为本发明实施例提供的直播数据流处理装置实施例一的结构示意图,如图3所示,该直播数据流处理装置包括:时间差确定模块11、音频帧确定模块12和视频帧确定模块13。
时间差确定模块11,用于根据第一时间获取到的第一待播放音频帧的时间戳以及第一时间确定参考时间差,以及根据第二时间获取到的第二待播放音频帧的时间戳以及第二时间确定实际时间差,其中,第一时间早于第二时间且二者间隔预设时间间隔。
音频帧确定模块12,用于若实际时间差与参考时间差之差大于预设阈值,则根据第二待播放音频帧的时间戳确定目标音频帧。
视频帧确定模块13,用于根据目标音频帧的时间戳确定目标视频帧,以使观看客户端播放由目标音频帧以及目标视频帧组成的直播数据流。
图3所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图4为本发明实施例提供的直播数据流处理装置实施例二的结构示意图,如图3所示,在图3所示实施例基础上,该直播数据流处理装置中的时间差确定模块11具体用于:
对获取到的第一待播放音频帧的时间戳进行单位转换,根据单位转换后的时间戳与第一时间确定参考时间差;以及,
对获取到的第二待播放音频帧的时间戳进行单位转换,根据单位转换后的时间戳与第二时间确定实际时间差。
可选地,该直播数据流处理装置中的音频帧确定模块12包括:判断单元121和音频帧确定单元122。
判断单元121,用于判断存储有待播放音频帧的音频缓存队列中是否存在待播放音频帧。
音频帧确定单元122,用于若实际时间差与参考时间差之差大于预设阈值且音频缓存队列中存在待播放音频帧,则执行根据第二待播放音频帧的时间戳确定目标音频帧的步骤,以及,若实际时间差与参考时间差之差大于预设阈值且音频缓存队列中不存在待播放音频帧,则确定第二待播放音频帧为目标音频帧。
可选地,该直播数据流处理装置中的音频帧确定单元122具体用于:
从音频缓存队列中筛选出时间戳大于第二待播放音频帧的时间戳的音频帧;以及,根据实际时间差与参考时间差之差大于预设阈值的程度高低,结合第二待播放音频帧的时间戳,在筛选出的音频帧中确定具有相应时间戳的音频帧为目标音频帧,其中,目标音频帧的时间戳和第二待播放音频帧的时间戳之差与程度高低存在对应关系。
可选地,该直播数据流处理装置中的视频帧确定模块13包括:筛选单元131和视频帧确定单元132。
筛选单元131,用于从存储有待播放视频帧的视频缓存队列中筛选时间戳大于或等于目标音频帧的时间戳的视频帧。
视频帧确定单元132,用于确定筛选出的视频帧中具有最小时间戳的视频帧为目标视频帧。
图4所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
以上描述了直播数据流处理装置的内部功能和结构,在一个可能的设计中,直播数据流处理装置的结构可实现为一电子设备,例如智能手机、平板电脑等终端设备。图5为本发明实施例提供的电子设备实施例一的结构示意图,如图5所示,该电子设备包括:存储器21,以及与存储器连接的处理器22,存储器21用于存储移动终端执行上述任一实施例中提供的直播数据流处理方法的程序,处理器22被配置为用于执行存储器21中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器22执行时能够实现如下步骤:
根据第一时间获取到的第一待播放音频帧的时间戳以及第一时间确定参考时间差;
根据第二时间获取到的第二待播放音频帧的时间戳以及第二时间确定实际时间差,其中,第一时间早于第二时间且二者间隔预设时间间隔;
若实际时间差与参考时间差之差大于预设阈值,则根据第二待播放音频帧的时间戳确定目标音频帧;
根据目标音频帧的时间戳确定目标视频帧,以使观看客户端播放由目标音频帧以及目标视频帧组成的直播数据流。
可选地,处理器22还用于执行前述各方法步骤中的全部或部分步骤。
其中,电子设备的结构中还可以包括通信接口23,用于电子设备与其他设备或通信网络通信。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种直播数据流处理方法,其特征在于,包括:
根据第一时间获取到的第一待播放音频帧的时间戳以及所述第一时间确定参考时间差;
根据第二时间获取到的第二待播放音频帧的时间戳以及所述第二时间确定实际时间差,其中,所述第一时间早于所述第二时间且二者间隔预设时间间隔;
若所述实际时间差与所述参考时间差之差大于预设阈值,则根据所述第二待播放音频帧的时间戳确定目标音频帧;
根据所述目标音频帧的时间戳确定目标视频帧,以使观看客户端播放由所述目标音频帧以及所述目标视频帧组成的直播数据流;
其中,所述若所述实际时间差与所述参考时间差之差大于预设阈值,则根据所述第二待播放音频帧的时间戳确定目标音频帧,包括:
判断存储有待播放音频帧的音频缓存队列中是否存在待播放音频帧;
若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中存在待播放音频帧,则执行所述根据所述第二待播放音频帧的时间戳确定目标音频帧的步骤;
若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中不存在待播放音频帧,则确定所述第二待播放音频帧为所述目标音频帧。
2.根据权利要求1所述的方法,其特征在于,所述若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中存在待播放音频帧,则执行所述根据所述第二待播放音频帧的时间戳确定目标音频帧的步骤,包括:
从所述音频缓存队列中筛选出时间戳大于所述第二待播放音频帧的时间戳的音频帧;
根据所述实际时间差与所述参考时间差之差大于预设阈值的程度高低,结合所述第二待播放音频帧的时间戳,在筛选出的音频帧中确定具有相应时间戳的音频帧为所述目标音频帧,其中,所述目标音频帧的时间戳和所述第二待播放音频帧的时间戳之差与所述程度高低存在对应关系。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标音频帧的时间戳确定目标视频帧,包括:
从存储有待播放视频帧的视频缓存队列中筛选时间戳大于或等于所述目标音频帧的时间戳的视频帧;
确定筛选出的视频帧中具有最小时间戳的视频帧为所述目标视频帧。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据第一时间获取到的第一待播放音频帧的时间戳以及所述第一时间确定参考时间差,包括:
对所述获取到的第一待播放音频帧的时间戳进行单位转换;
根据单位转换后的时间戳与所述第一时间确定所述参考时间差;
所述根据第二时间获取到的第二待播放音频帧的时间戳以及所述第二时间确定实际时间差,包括:
对所述获取到的第二待播放音频帧的时间戳进行单位转换;
根据单位转换后的时间戳与所述第二时间确定所述实际时间差。
5.一种直播数据流处理装置,其特征在于,包括:
时间差确定模块,用于根据第一时间获取到的第一待播放音频帧的时间戳以及所述第一时间确定参考时间差;以及,
根据第二时间获取到的第二待播放音频帧的时间戳以及所述第二时间确定实际时间差,其中,所述第一时间早于所述第二时间且二者间隔预设时间间隔;
音频帧确定模块,用于若所述实际时间差与所述参考时间差之差大于预设阈值,则根据所述第二待播放音频帧的时间戳确定目标音频帧;
视频帧确定模块,用于根据所述目标音频帧的时间戳确定目标视频帧,以使观看客户端播放由所述目标音频帧以及所述目标视频帧组成的直播数据流;
其中,所述音频帧确定模块包括:
判断单元,用于判断存储有待播放音频帧的音频缓存队列中是否存在待播放音频帧;
音频帧确定单元,用于若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中存在待播放音频帧,则执行所述根据所述第二待播放音频帧的时间戳确定目标音频帧的步骤;以及,
若所述实际时间差与所述参考时间差之差大于预设阈值且所述音频缓存队列中不存在待播放音频帧,则确定所述第二待播放音频帧为所述目标音频帧。
6.根据权利要求5所述的装置,其特征在于,所述音频帧确定单元具体用于:
从所述音频缓存队列中筛选出时间戳大于所述第二待播放音频帧的时间戳的音频帧;以及,
根据所述实际时间差与所述参考时间差之差大于预设阈值的程度高低,结合所述第二待播放音频帧的时间戳,在筛选出的音频帧中确定具有相应时间戳的音频帧为所述目标音频帧,其中,所述目标音频帧的时间戳和所述第二待播放音频帧的时间戳之差与所述程度高低存在对应关系。
7.根据权利要求5至6中任一项所述的装置,其特征在于,所述时间差确定模块具体用于:
对所述获取到的第一待播放音频帧的时间戳进行单位转换,根据单位转换后的时间戳与所述第一时间确定所述参考时间差;以及,
对所述获取到的第二待播放音频帧的时间戳进行单位转换,根据单位转换后的时间戳与所述第二时间确定所述实际时间差。
8.一种电子设备,其特征在于,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以实现权利要求1至4中任一项所述的方法。
CN201810247643.4A 2018-03-23 2018-03-23 直播数据流处理方法、装置及电子设备 Expired - Fee Related CN108462896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810247643.4A CN108462896B (zh) 2018-03-23 2018-03-23 直播数据流处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810247643.4A CN108462896B (zh) 2018-03-23 2018-03-23 直播数据流处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN108462896A CN108462896A (zh) 2018-08-28
CN108462896B true CN108462896B (zh) 2020-10-02

Family

ID=63237370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810247643.4A Expired - Fee Related CN108462896B (zh) 2018-03-23 2018-03-23 直播数据流处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108462896B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109089130B (zh) * 2018-09-18 2020-05-22 网宿科技股份有限公司 一种调整直播视频的时间戳的方法和装置
CN109714634B (zh) * 2018-12-29 2021-06-29 海信视像科技股份有限公司 一种直播数据流的解码同步方法、装置及设备
CN112671696B (zh) * 2019-10-16 2023-05-12 华为技术有限公司 报文传输方法、装置、计算机设备以及计算机存储介质
CN112584189A (zh) * 2020-12-08 2021-03-30 深圳创维新世界科技有限公司 直播数据处理方法、装置、系统与计算机可读存储介质
CN113873278B (zh) * 2021-09-26 2024-01-23 北京奇艺世纪科技有限公司 播放内容审核方法、装置及电子设备
CN114025233B (zh) * 2021-10-27 2023-07-14 网易(杭州)网络有限公司 数据处理方法及装置、电子设备、存储介质
CN115942021B (zh) * 2023-02-17 2023-06-27 央广新媒体文化传媒(北京)有限公司 音视频流同步播放方法、装置、电子设备及存储介质
CN116996649B (zh) * 2023-04-04 2024-04-30 深圳Tcl新技术有限公司 投屏方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010021867A (ja) * 2008-07-11 2010-01-28 Sony Ericsson Mobilecommunications Japan Inc ストリーミング再生装置、ストリーミング配信再生システム、ストリーミング再生方法及びストリーミング再生プログラム
CN102387401A (zh) * 2011-10-17 2012-03-21 上海聚力传媒技术有限公司 一种调整音视频信息的播放时间点的方法、装置及设备
CN106550248A (zh) * 2015-09-18 2017-03-29 中国移动通信集团公司 一种音视频同步的方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010021867A (ja) * 2008-07-11 2010-01-28 Sony Ericsson Mobilecommunications Japan Inc ストリーミング再生装置、ストリーミング配信再生システム、ストリーミング再生方法及びストリーミング再生プログラム
CN102387401A (zh) * 2011-10-17 2012-03-21 上海聚力传媒技术有限公司 一种调整音视频信息的播放时间点的方法、装置及设备
CN106550248A (zh) * 2015-09-18 2017-03-29 中国移动通信集团公司 一种音视频同步的方法和设备

Also Published As

Publication number Publication date
CN108462896A (zh) 2018-08-28

Similar Documents

Publication Publication Date Title
CN108462896B (zh) 直播数据流处理方法、装置及电子设备
US20170302597A1 (en) Remote latency adjustment
CN110392306B (zh) 一种数据处理方法以及设备
CN108737884B (zh) 一种内容录制方法及其设备、存储介质、电子设备
US11694316B2 (en) Method and apparatus for determining experience quality of VR multimedia
EP2466911A1 (en) Method and device for fast pushing unicast stream in fast channel change
CN109040830B (zh) 直播播放卡顿的预测方法、切换方法及装置
US20190238607A1 (en) Failure detection manager
CN112511849A (zh) 一种游戏显示方法、装置、设备、系统及存储介质
CN114189700A (zh) 直播卡顿提示方法、装置、计算机设备和存储介质
US10681400B2 (en) Method and device for transmitting video
CN113490055A (zh) 数据处理方法和装置
CN109769125B (zh) 流媒体码率的动态调整方法、媒体服务器及转码服务器
CN107493478B (zh) 编码帧率设置方法及设备
CN107707938B (zh) 降低直播视频播放延迟的方法及装置
CN111479161A (zh) 一种直播的质量数据上报方法和装置
CN106254873B (zh) 一种视频编码方法及视频编码装置
CN112422370B (zh) 语音通话质量的确定方法和装置
CN110913235A (zh) 用于大规模直播的访问控制方法、装置和电子设备
CN115348409A (zh) 一种视频数据的处理方法、装置、终端设备和存储介质
CN111064698B (zh) 一种多媒体流数据的播放方法和装置
CN112235592B (zh) 直播方法、直播处理方法、装置、计算机设备
CN108156515B (zh) 视频播放方法、智能电视及计算机可读存储介质
CN116208788B (zh) 提供网络应用服务的方法及装置、服务器设备和存储介质
CN108111900B (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
TR01 Transfer of patent right

Effective date of registration: 20210311

Address after: 101300 309, 3rd floor, 60 Fuqian 1st Street, Tianzhu District, Shunyi District, Beijing

Patentee after: Beijing longzhixin Technology Co.,Ltd.

Address before: 100041 room 120, 4th floor, building 17, yard 30, Shixing street, Shijingshan District, Beijing

Patentee before: BEIJING PANDA MUTUAL ENTERTAINMENT TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201002

CF01 Termination of patent right due to non-payment of annual fee