CN113301397A - 基于cdn的音视频传输、播放与延时探测方法及设备 - Google Patents
基于cdn的音视频传输、播放与延时探测方法及设备 Download PDFInfo
- Publication number
- CN113301397A CN113301397A CN202110191754.XA CN202110191754A CN113301397A CN 113301397 A CN113301397 A CN 113301397A CN 202110191754 A CN202110191754 A CN 202110191754A CN 113301397 A CN113301397 A CN 113301397A
- Authority
- CN
- China
- Prior art keywords
- stream
- audio
- network node
- tracking
- video 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 104
- 238000001514 detection method Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 152
- 238000004590 computer program Methods 0.000 claims description 70
- 230000004044 response Effects 0.000 claims description 68
- 239000000523 sample Substances 0.000 claims description 57
- 230000003111 delayed effect Effects 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 15
- 239000012634 fragment Substances 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 10
- 230000006872 improvement Effects 0.000 claims description 8
- 238000013439 planning Methods 0.000 claims description 8
- 238000012384 transportation and delivery Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 26
- 230000002159 abnormal effect Effects 0.000 abstract description 24
- 230000008569 process Effects 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- 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/442—Monitoring 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
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8352—Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供一种基于CDN的音视频传输、播放与延时探测方法及设备。在本申请实施例中,针对各种采用推拉流方式的音视频应用场景,在推拉流过程中,首先从播放端的角度对音视频数据流进行区分标记,便于针对特定播放端查找音视频数据流在传输链路上产生的日志数据,这样可减少所需分析的日志数据,从而准确、快速地分析播放端出现异常问题的原因。进一步,从数据源端的角度对音视频数据流进行切分,针对切分出的各流片段进行区分标记,进一步可针对性地对追踪特定流片段产生的日志数据,这样可进一步减少分析所需的日志数据,可以更精准、快速地针对播放异常等问题进行分析,提高了解决问题的效率。
Description
技术领域
本申请涉及音视频处理技术领域,尤其涉及一种基于CDN的音视频传输、播放与延时探测方法及设备。
背景技术
随着实时通信(Real-time Communications,RTC)技术的发展,出现了很多支持低延时和在线互动的音视频应用,例如视频直播、视频点播、视频会议等。这些音视频应用通常采用推流协议,涉及推流端和播放端,推流端负责采集音视频数据,使用传输协议对音视频数据进行封装并将封装后的音视频数据传输到网络上,最后由播放端从网络上拉取音视频数据并在解封装后进行播放。
以视频直播应用为例,为了提高用户的观看体验,服务商将更多地依靠内容分发网络(Content Delivery Network,CDN)加快音视频内容的分发。直播端作为推流端,可将直播内容推送至就近的CDN节点上,播放端向就近的CDN节点发送播放请求,从CDN网络上拉取直播内容后进行播放。
在整个推拉流过程中,可能因为各种原因出现播放失败、播放异常或者播放延时等情况。为了便于快速、准确地解决问题,可以通过直播内容在传输链路上产生的日志数据追踪问题原因,但是现有直播内容产生的日志数据量较大,进行问题追踪比较耗时、效率较低。
发明内容
本申请的多个方面提供一种基于CDN的音视频传输、播放与延时探测方法及设备,用以更精准、快速地针对播放异常等问题进行分析,提高了解决问题的效率。
本申请实施例提供一种音视频传输方法,适用于网络节点,包括:接收播放端发送的播放请求,播放请求包括目标流标识,用于标识播放端请求播放的音视频数据流;生成可唯一标识播放端的第一追踪ID,并记录第一追踪ID与音视频数据流之间的对应关系;获取来自数据源端的音视频数据流,并将音视频数据流返回给播放端,以供播放端播放音视频数据流。
本申请实施例还提供一种基于CDN的直播流传输方法,适用于CDN节点,包括:接收播放端发送的播放请求,播放请求包括目标流标识,用于标识播放端请求播放的直播流;生成可唯一标识播放端的第一追踪ID,并记录第一追踪ID与直播流之间的对应关系;获取来自于直播端的直播流,并将直播流返回给播放端,以供播放端播放直播流。
本申请实施例还提供一种基于CDN的视频会议方法,适用于CDN节点,包括:接收会议终端发送的会议请求,会议请求包括会议标识,用于标识会议视频流;生成可唯一标识会议终端的第一追踪ID,并记录第一追踪ID与会议视频流之间的对应关系;获取来自其它会议终端的会议视频流,并将会议视频流返回给会议终端,以供会议终端播放会议视频流。
本申请实施例还提供一种音视频传输方法,适用于网络节点,包括:接收第一获取请求,第一获取请求是网络节点在目标路径上的上一跳网络节点发送的,第一获取请求包括用于第二追踪ID;记录第二追踪ID和音视频数据流之间的对应关系,第二追踪ID用于追踪目标路径上的节点的,目标路径是获取音视频数据流所需的路径;获取音视频数据流,并将音视频数据流返回给发送上一跳网络节点,以供上一跳网络节点将音视频数据流返回给请求音视频数据流的播放端。
本申请实施例还提供一种基于CDN的直播流传输方法,适用于CDN节点,包括:接收第一获取请求,第一获取请求是CDN节点在回源路径上的上一跳CDN节点发送的,第一获取请求包括用于第二追踪ID;记录第二追踪ID和直播流之间的对应关系,第二追踪ID用于追踪回源路径上的CDN节点的,回源路径是获取直播流所需的路径;获取来自直播端的直播流,并将直播流返回给发送上一跳CDN节点,以供上一跳CDN节点将直播流返回给请求直播流的播放端。
本申请实施例还提供一种基于CDN的视频会议方法,适用于CDN节点,包括:接收第一获取请求,第一获取请求是CDN节点在回源路径上的上一跳CDN节点发送的,第一获取请求包括用于第二追踪ID;记录第二追踪ID和会议视频流之间的对应关系,第二追踪ID用于追踪回源路径上的CDN节点的,回源路径是获取会议视频流所需的路径;获取来自其它会议终端的会议视频流,并将会议视频流返回给发送上一跳CDN节点,以供上一跳CDN节点将会议视频流返回给发起会议请求的会议终端。
本申请实施例还提供一种音视频传输方法,适用于网络节点,包括:接收数据源端发送的音视频数据流;根据切分策略,将音视频数据流切分为至少一个流片段;为至少一个流片段分别生成第三追踪ID,第三追踪ID可唯一标识其所对应的流片段;以及将至少一个流片段及其对应的第三追踪ID发送给请求音视频数据流的网络节点。
本申请实施例还提供一种音视频播放方法,包括:响应用户发起的音视频播放操作,向网络节点发送播放请求,播放请求包括目标流标识,用于标识用户请求播放的音视频数据流;接收网络节点返回的音视频数据流以及第一追踪ID,第一追踪ID是网络节点生成的,用于唯一标识播放端;播放音视频数据流,并记录第一追踪ID与音视频数据流之间的对应关系。
本申请实施例还提供一种基于CDN的直播播放方法,包括:响应用户发起的直播播放操作,向CDN节点发送播放请求,播放请求包括目标流标识,用于标识用户请求播放的直播流;接收CDN节点返回的直播流以及第一追踪ID,第一追踪ID是CDN节点生成的,用于唯一标识播放端;播放直播流,并记录第一追踪ID与直播流之间的对应关系。
本申请实施例还提供一种基于CDN的视频会议方法,包括:响应用户发起的参会操作,向CDN节点发送会议请求,会议请求包括会议标识,用于标识用户请求参加的视频会议;接收CDN节点返回的会议视频流以及第一追踪ID,第一追踪ID是CDN节点生成的,用于唯一标识发送会议请求的会议终端;播放会议视频流,并记录第一追踪ID与会议视频流之间的对应关系。
本申请实施例还提供一种网络延时探测方法,适用于网络节点,包括:接收播放端发送的播放请求,播放请求用于请求播放音视频数据流;向提供音视频数据流的下一跳网络节点发送延时探测请求,延时探测请求包括第一时间,第一时间是网络节点发送延时探测请求时的本地时间;接收下一跳网络节点返回的延时探测响应,延时探测响应包括第一时间;根据第二时间和第一时间,确定网络节点与下一跳网络节点之间的延时;第二时间是网络节点接收到延时探测响应时的本地时间。
本申请实施例还提供一种网络节点,包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:接收播放端发送的播放请求,播放请求包括目标流标识,用于标识播放端请求播放的音视频数据流;生成可唯一标识播放端的第一追踪ID,并记录第一追踪ID与音视频数据流之间的对应关系;获取来自数据源端的音视频数据流,并将音视频数据流返回给播放端,以供播放端播放音视频数据流。
本申请实施例还提供一种网络节点,包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:接收第一获取请求,第一获取请求是网络节点在目标路径上的上一跳网络节点发送的,第一获取请求包括第二追踪ID;记录第二追踪ID和音视频数据流之间的对应关系,第二追踪ID用于追踪目标路径上的节点的,目标路径是获取音视频数据流所需的路径;获取音视频数据流,并将音视频数据流返回给发送上一跳网络节点,以供上一跳网络节点将音视频数据流返回给请求音视频数据流的播放端。
本申请实施例还提供一种网络节点,包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:接收数据源端发送的音视频数据流;根据切分策略,将音视频数据流切分为至少一个流片段;为至少一个流片段分别生成第三追踪ID,第三追踪ID可唯一标识其所对应的流片段;以及将至少一个流片段及其对应的第三追踪ID发送给请求音视频数据流的网络节点。
本申请实施例还提供一种网络节点,包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:接收播放端发送的播放请求,播放请求用于请求播放音视频数据流;向提供音视频数据流的下一跳网络节点发送延时探测请求,延时探测请求包括第一时间,第一时间是网络节点发送延时探测请求时的本地时间;接收下一跳网络节点返回的延时探测响应,延时探测响应包括第一时间;根据第二时间和第一时间,确定网络节点与下一跳网络节点之间的延时;第二时间是网络节点接收到延时探测响应时的本地时间。
本申请实施例还提供一种播放终端,包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:响应用户发起的音视频播放操作,向网络节点发送播放请求,播放请求包括目标流标识,用于标识用户请求播放的音视频数据流;接收网络节点返回的音视频数据流以及第一追踪ID,第一追踪ID是网络节点生成的,用于唯一标识播放端;播放音视频数据流,并记录第一追踪ID与音视频数据流之间的对应关系。
本申请实施例还提供一种数据传输方法,适用于网络节点,包括:接收数据接收端发送的数据请求,所述数据请求包括数据标识,用于标识所述数据接收端请求的目标数据;生成可唯一标识所述数据接收端的第一追踪ID,并记录所述第一追踪ID与所述目标数据之间的对应关系;获取来自数据源端的所述目标数据,并将所述目标数据返回给所述数据接收端。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现本申请实施例提供的任一项方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使处理器能够实现本申请实施例提供的任一项方法中的步骤。
在本申请实施例中,针对各种采用推拉流方式的音视频应用场景,在推拉流过程中,首先从播放端的角度对音视频数据流进行区分标记,便于针对特定播放端查找音视频数据流在传输链路上产生的日志数据,这样可减少所需分析的日志数据,从而准确、快速地分析播放端出现异常问题的原因。进一步,从数据源端的角度对音视频数据流进行切分,针对切分出的各流片段进行区分标记,进一步可针对性地对追踪特定流片段产生的日志数据,这样可进一步减少分析所需的日志数据,可以更精准、快速地针对播放异常等问题进行分析,提高了解决问题的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请示例性实施例提供的一种音视频系统的结构示意图;
图1b为本申请示例性实施例提供的另一种音视频系统的结构示意图;
图1c为本申请示例性实施例提供的又一种音视频系统的结构示意图;
图2为本申请示例性实施例提供的一种基于CDN的直播系统的结构示意图;
图3为本申请示例性实施例提供的一种基于CDN的视频会议系统的结构示意图;
图4a为本申请示例性实施例提供的一种音视频传输方法的流程示意图;
图4b为本申请示例性实施例提供的一种基于CDN的直播流传输方法的流程示意图;
图4c为本申请示例性实施例提供的一种基于CDN的视频会议方法的流程示意图;
图5a为本申请示例性实施例提供的另一种音视频传输方法的流程示意图;
图5b为本申请示例性实施例提供的另一种基于CDN的直播流传输方法的流程示意图;
图5c为本申请示例性实施例提供的另一种基于CDN的视频会议方法的流程示意图;
图6为本申请示例性实施例提供的又一种音视频传输方法的流程示意图;
图7a为本申请示例性实施例提供的一种音视频播放方法的流程示意图;
图7b为本申请示例性实施例提供的一种基于CDN的直播播放方法的流程示意图;
图7c为本申请示例性实施例提供的一种基于CDN的视频会议方法的流程示意图;
图8本申请示例性实施例提供的一种网络延时探测方法的流程示意图;
图9a为本申请示例性实施例提供的一种网络节点的结构示意图;
图9b为本申请示例性实施例提供的一种播放终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有直播内容产生的日志数据量较大,进行问题追踪比较耗时、效率较低的问题,在本申请实施例中,针对各种采用推拉流方式的音视频应用场景,在推拉流过程中,首先从播放端的角度对音视频数据流进行区分标记,便于针对特定播放端查找音视频数据流在传输链路上产生的日志数据,这样可减少所需分析的日志数据,从而准确、快速地分析播放端出现异常问题的原因。进一步,从数据源端的角度对音视频数据流进行切分,针对切分出的各流片段进行区分标记,进一步可针对性地对追踪特定流片段产生的日志数据,这样可进一步减少分析所需的日志数据,可以更精准、快速地针对播放异常等问题进行分析,提高了解决问题的效率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1a为本申请示例性实施例提供的一种音视频系统的结构示意图,如图1a所示,该音视频系统100包括:播放端101和数据源端102以及介于播放端101和数据源端102之间的传输网络103,该传输网络103包括至少一个网络节点。如图1b中所示的网络节点L1、网络节点L2、网络节点L3和网络节点L4,网络节点L1连接播放端101,网络节点L4连接数据源端102;网络节点L2和网络节点L3位于网络节点L1和网络节点L4之间。其中,传输网络103中网络节点的个数可以是一个,也可以是多个,在图1b中以4个网络节点L1-L4为例进行图示,但并不限于此。
本实施例的音视频系统可应用于各种采用推拉流方式的音视频场景中,例如可以是音视频直播场景、视频会议场景、音视频点播场景等。在本实施例中,在本实施例中,数据源端102负责向传输网络103中提供音视频数据流,例如可以借助于音视频采集模块采集音视频数据,并采用流式传输协议对采集到的音视频数据进行编码等处理,得到音视频数据流,并将音视频数据流推送至传输网络103中。相应地,播放端101负责从传输网络103中拉取音视频数据流,一边拉流一边进行播放。从推拉流的角度来看,数据源端102也可以被称为推流端,播放端101也可以被称为拉流端。在本实施例中,并不对音视频数据流的内容进行限定,例如可以是直播场景下的远程教育类内容、购物类内容,也可以是视频会议内容或者在线游戏类内容等。另外,数据源端102所采用的流传输协议可以是实时流传输协议(Real Time Streaming Protocol,RTSP)、实时消息传输协议(Real Time MessagingProtocol,RTMP)、动态码率自适应协议(HTTP Live Streaming,HLS)等,对此不做限定。
在本实施例中,并不对播放端101在物理上的实现形态进行限定,例如,播放端101可以采用但不限于:手机、平板电脑,台式电脑、智能屏幕、互动电视等各种终端设备。同理,本实施例也不对数据源端102在物理上的实现形态进行限定,可以是任何能够提供音视频数据流的设备,例如,数据源端102可以采用但不限于:各种具有采集功能的智能手机、平板电脑,台式电脑、触控屏幕、DV、摄像机等各种终端设备,也可以是一些能够提供音视频数据流的中继设备、存储设备等。同样地,本实施例也不对传输网络103中的网络节点的实现形态进行限定,例如,网络节点可以是网络中的网关设备、交换机设备以及服务器等各种具有数据传输功能的网络设备。
在本实施例中,可以有多个数据源端102可以分别向传输网络103中推送音视频数据流,当然,同一数据源端102也可以在不同时间内向传输网络103中推送的不同音视频数据流。数据源端102向传输网络103推送音视频数据流具体是指将音视频数据流推送至传输网络103中与数据源端102通信连接的网络节点,如图1b中的网络节点L4。需要说明的是,传输网络103中与数据源端102通信连接的网络节点可以是一个或多个,优选距离上靠近数据源端102的网络节点,但并不限于此。其中,音视频数据流可根据播放端101的播放请求,在传输网络103中的网络节点之间进行传输,直至传输到播放端101为止。可选地,接收到音视频数据流的网络节点可以在本地缓存一份,当然也可以不做缓存,具体可视传输网络的传输机制而定。其中,为了区分不同的音视频数据流,每个音视频数据流都具有唯一的流标识,例如可以是音视频数据流的统一资源定位符(Uniform Resource Locator,URL),也可以是基于URL地址生成的流标识等,例如可以是超链接。对于播放端101来说,可通过流标识来指示希望播放的音视频数据流。
在本实施例中,播放端101可以响应于用户发起的音视频播放操作,向传输网络103中与其通信连接的网络节点(如图1b中的网络节点L1)发送播放请求,该播放请求包括目标流标识,该目标流标识用于标识播放端101请求播放的音视频数据流,可选地,目标流标识可以是音视频数据流对应的URL地址,其中,一个URL地址唯一对应一条音视频数据流;以网络节点L1为例,网络节点L1可以接收播放端101发送的播放请求,根据播放请求中的目标流标识,获取该目标流标识对应的音视频数据流,并将音视频数据流返回给播放端101,以供播放端101播放音视频数据流。具体的,如果网络节点L1本地已缓存目标流标识对应的音视频数据流,则可以直接将本地缓存的音视频数据流返回给播放端101;如果网络节点L1本地没有缓存目标流标识对应的音视频数据流,则可以从传输网络103中其它网络节点获取目标流标识对应的音视频数据流,并将所获取的音视频数据流返回给播放端101。
在整个推拉流过程中,也就是播放端101进行音视频播放过程中,可能因为各种原因出现播放端101播放失败、播放异常或者播放延时等情况。引起播放失败、异常或延时等问题的原因可能是因为播放端101自身,也可能是因为传输链路上的某个网络节点,为了便于快速、准确地解决问题,可以查询音视频数据流在传输链路上产生的日志数据来追踪问题原因。在本实施例中,考虑到在采用推拉流方式的音视频应用场景中,数据源端102和播放端101之间通常是一对多的关系,即同一数据源端102推送的音视频数据流可能被多个播放端102请求播放。例如,在音视频直播场景中,通常会有多个用户同时观看同一主播的直播内容,多个用户的终端均需拉取该直播内容并进行播放,在该场景中,直播端可实现为数据源端102,用户的终端可实现为播放端101。又例如,在视频会议中,可能同时有三个或三个以上的人员参与会议,一人发言时,其它与会人员均需拉取该发言人的音视频数据流进行播放,在该场景中,发言人一端可实现为数据源端102,其它与会人员一端可实现为播放端101。在这些场景中,音视频数据流就会产生众多日志数据,显然,在仅通过音视频数据流的流标识对日志数据进行区分的粒度基础上进行问题分析和定位,需要查询大量日志数据,比较耗时、效率较低。
鉴于上述问题,在本实施例中,从播放端101的角度对音视频数据流进行区分标记,让该标记与音视频数据流对应,并体现在音视频数据流的整个传输链路上,这样该标记会被记录到音视频数据流的日志数据,当然,日志数据中还可以记录相关的动作行为,这样通过该标记就可以将同一音视频数据流对应于不同播放端101的日志数据区分出来,进而针对特定播放端101可以使用与该播放端101对应的日志数据进行问题原因分析和定位,可减少分析所需的日志数据,有利于提高问题分析和定位的效率。
具体地,在网络节点L1接收到播放端101发送的播放请求之后,除了向播放端101提供音视频数据流之外,还可以针对该播放端101建立一追踪ID,该追踪ID可唯一指向发起该播放请求的播放端101,也就是说,对于不同播放端101其对应的追踪ID是不同的,如图1a所示,播放端A1对应的追踪ID为追踪ID B1;播放端A2对应的追踪ID为追踪ID B2;播放端A3对应的追踪ID为追踪ID B3。为了与后续其它追踪ID进行区分,将唯一指向播放端101的追踪ID记为第一追踪ID,对应同一音视频数据流的不同播放端101,所对应的第一追踪ID是不同的。第一追踪ID可以是播放端101的标识信息,例如,播放端101的IP地址、MAC地址或者播放端101的名称等;第一追踪ID也可以是网络节点L1为播放端101所生成的具有唯一性的字符串,该字符串可以由字母、数字或者符号等中的至少一种的组成,例如可以是“Bh11*”或者“h#m123”等。
网络节点L1为发送播放请求的播放端101建立第一追踪ID之后,可以记录第一追踪ID与播放请求中携带的目标流标识对应的音视频数据流之间的对应关系,具体可记录第一追踪ID与目标流标识(如URL)之间的对应关系,这样就可以利用第一追踪ID对针对不同播放端101对该音视频数据流的相关信息进行区分标记。例如,网络节点L1可以将第一追踪ID与音视频数据流的对应关系记录到该音视频数据流在网络节点L1上产生的日志数据中,这样,在播放端101出现播放异常问题时,可以基于该播放端101的第一追踪ID,在音视频数据流产生的海量日志数据中,获取与第一追踪ID对应的日志数据,从而基于与第一追踪ID对应的局部日志数据,准确地定位播放端出现的异常问题,从而快速地解决该播放异常问题。
在本实施例中,网络节点L1本地可能存在播放端101请求的音视频数据流,也可能不存在,这两种情况下音视频数据流从传输网络103中到达播放端101所经历的传输路径会有所不同。如果网络节点L1本地具有播放端101请求的音视频数据流,则可以直接将音视频数据流返回给播放端101,此时,音视频数据流到播放端101的传输路径仅经过了网络节点L1,则仅需网络节点L1在本地记录第一追踪ID与音视频数据流之间的对应关系即可。反之,如果网络节点L1本地不存在播放端101所请求的音视频数据流,则网络节点L1需要为播放端101规划获取该音视频数据流所需的目标路径,该目标路径是指从网络节点L1到与数据源端102连接的某个网络节点的一条路径;其中,与数据源端102连接的某个网络节点本地已经保存有数据源端102推送的音视频数据流,或者与数据源端102连接的某个网络节点可以根据上一节点的请求从数据源端102获取音视频数据流。如图1b所示,数据源端102将音视频数据流推送至网络节点L4,播放端101向网络节点L1发送播放请求,该播放请求用于请求数据源端102推送的音视频数据流,此时,网络节点L4本地存在播放端101请求的音视频数据流,但是,网络节点L1本地不存在播放端101请求的音视频数据流,在这种情况下,网络节点L1可以规划获取音视频数据的目标路径,例如,规划出的目标路径为:网络节点L1—>网络节点L2—>网络节点L3—>网络节点L4。需要说明的是,由于传输网络103可能包含多个网络节点,这些网络节点在传输音视频数据流时有可能会在本地缓存一份,因此在不同时间段传输网络中具有音视频数据流的网络节点的情况也会有所不同,故网络节点L1所规划出的目标路径并不限于网络节点L1—>网络节点L2—>网络节点L3—>网络节点L4这一条,无论目标路径是那条,其音视频数据流传输原理均相同,故本实施例以网络节点L1—>网络节点L2—>网络节点L3—>网络节点L4这条路径为例进行说明。
在为播放端101规划出目标路径之后,为了追踪音视频数据流从传输网络103到播放端101的传输过程,网络节点L1可以生成第二追踪ID,第二追踪ID用于从播放端的维度追踪音视频数据流在目标路径上的各节点,第二追踪ID对应于第一追踪ID,既能唯一指向一个播放端101,又能追踪音视频数据流从传输网络103到该播放端101所经过的各网络节点。鉴于此,在网络节点L1按照目标路径获取音视频数据流的过程中,目标路径上具有下一跳的各网络节点,需要将第二追踪ID提供给其下一跳网络节点,直至到达目标路径上最后可以提供音视频数据流的网络节点,如网络节点L4为止。这样,目标路径上的每个网络节点可以记录第二追踪ID与音视频数据流的对应关系,具体可以记录第二追踪ID与目标流标识(如URL)之间的对应关系,从而在播放端101出现播放异常问题时,可以基于第二追踪ID,实现针对特定播放端进行音视频数据流的传输链路的追踪,可以进一步减少分析音视频数据流所需的日志数据,更精准地定位播放异常问题,提高解决异常问题的效率。
具体地,网络节点L1在本地没有播放端101请求的音视频数据流的情况下,规划出获取音视频数据流的目标路径为网络节点L1—>网络节点L2—>网络节点L3—>网络节点L4。网络节点L1生成第二追踪ID,在本地记录第二追踪ID与音视频数据流之间的对应关系,具体可记录第二追踪ID与目标流标识(如URL)之间的对应关系。在本实施例中,并不对生成第二追踪ID的实施方式进行限定,例如,可以将第一追踪ID直接作为第二追踪ID;或者,可以在第一追踪ID上添加一些关键字信息,作为第二追踪ID。可选地,可以将关键字信息作为第一追踪ID的前缀或者后缀。其中,对不同播放端101来说,关键字信息可以相同,也可以不相同。例如,关键字信息可以由字母、数字或者符号等中的至少一种生成,也可以将目标路径上各网络节点的标识信息作为关键字信息。
接着,网络节点L1向其在目标路径上的下一跳网络节点,也即网络节点L2发送第一获取请求,该第一获取请求中包括第二追踪ID和目标流标识。网络节点L2接收网络节点L1发送的第一获取请求,从第一获取请求中解析出第二追踪ID和目标流标识,一方面记录第二追踪ID与音视频数据流之间的对应关系,具体可记录第二追踪ID与目标流标识(如URL)之间的对应关系。另一方面,网络节点L2可以判断本地是否存在目标流标识对应的音视频数据流,若网络节点L2本地存在该音视频数据流,则获取该音视频数据流,并将音视频数据流返回给网络节点L1,以供网络节点L1将该音视频数据流返回给播放端101;若网络节点L2本地不存在该音视频数据流,则网络节点L2可以向其在目标路径上的下一跳网络节点,也即网络节点L3发送第二获取请求,该第二获取请求中包括第二追踪ID和目标流标识,以向网络节点L3请求音视频数据流。
网络节点L3接收该第二获取请求,从第二获取请求中解析出第二追踪ID和目标流标识,一方面记录第二追踪ID与音视频数据流之间的对应关系,具体可记录第二追踪ID与目标流标识(如URL)之间的对应关系,另一方面判断本地是否存在该目标流标识对应的音视频数据流;若网络节点L3本地存在该音视频数据流,则网络节点L3可以获取该音视频数据流,并将该音视频数据流发送给网络节点L2,以供网络节点L2经网络节点L1将该音视频数据流返回给播放端101;若网络节点L3本地不存在该音视频数据流,则网络节点L3可以向其目标路径上的下一跳网络节点,也即网络节点L4发送第三获取请求,该第三获取请求中包括第二追踪ID和目标流标识,以向网络节点L4请求音视频数据流。
网络节点L4接收该第三获取请求,从第三获取请求中解析出第二追踪ID和目标流标识,一方面记录第二追踪ID与音视频数据流的对应关系,具体可记录第二追踪ID与目标流标识(如URL)之间的对应关系,另一方面判断网络节点L4的本地是否存在该音视频数据流,因为数据源端102将该音视频数据流推送至网络节点L4,故而网络节点L4上存在该音视频数据流,则网络节点L4可以将该音视频数据流,经网络节点L3、网络节点L2以及网络节点L1提供给播放端101。
在一可选实施例中,无论网络节点L1本地是否存在播放端101请求的音视频数据流,网络节点L1除了将音视频数据流返回给播放端101之外,还可以将播放端101对应的第一追踪ID返回给播放端101,以供播放端101记录第一追踪ID与音视频数据流之间的对应关系。进一步可选地,在网络节点L1通过上述目标路径获取音视频数据流的情况下,网络节点L1除了可以将音视频数据流以及第一追踪ID返回给播放端101之外,还可以将第二追踪ID返回给播放端101,以供播放端101记录第一追踪ID、第二追踪ID以及音视频数据流之间的对应关系,为后续基于追踪ID的问题分析提供数据基础。
由上述可知,无论是第一追踪ID还是第二追踪ID都与音视频数据流对应,且可体现在从提供音视频数据流的网络节点到播放端101的整个传输路径上,或者是第一追踪ID体现在网络节点L1到播放端101的整个传输路径上,或者是第二追踪ID可体现在音视频数据流从网络节点L4到播放端101的整个传输路径上,当然日志数据中也会记录相关的动作行为。那么,在播放过程中出现播放失败、异常或延时等问题时,只要提供一个指定的第一追踪ID或第二追踪ID,即可快速在日志数据中查找到与该ID对应的播放端相关的整个路径上的日志数据,这可准确锁定所需的局部日志数据,从中可以找到音视频数据流对应于该播放端在整个传输路径上的相关动作,为我们的进一步分析打下数据基础,也有利于提高日志分析效率,便于快速找到问题原因,进而便于快速解决问题。
在本申请实施例中,通过第一追踪ID,或者第一追踪ID和第二追踪ID,从播放端的维度对音视频数据流相关的信息(如在不同节点上的日志数据)进行了区分标记,除此之外,在本申请另外一些选实施例中,还可以通过第三追踪ID,从数据源端102的维度对音视频数据流中的不同流片段进行区分标记。第三追踪ID可唯一标识音视频数据流中的某个流片段,换句话说,对同一音视频数据流,不同流片段对应的第三追踪ID不同。具体地,数据源端102将音视频数据流推送至网络节点L4之后,网络节点L4可以接收数据源端102发送的音视频数据流,根据切分策略,将音视频数据流切分为至少一个流片段。其中,并不对切分策略进行限定。例如,切分策略可以是与音视频服务提供商的推流时间相关的策略,则可以根据音视频服务提供商的推流时间,将音视频数据流切分为至少一个流片段,不同流片段对应不同推流时间。例如,针对同一URL的音视频数据流,可以将音视频服务提供上在上午11点-11点半之间推送的音视频内容作为一个流片段,将在上午12点-下午1点半之间推送的音视频内容作为一个流片段,将晚上6点-10点之间推送的音视频内容作为一个流片段。又例如,切分策略可以是与音视频数据流的内容对象相关的策略,则可以根据音视频数据流中的内容对象,将音视频数据流切分为至少一个流片段,不同流片段对应不同内容对象。其中,根据音视频应用场景的不同,内容对象也有所不同,例如,在直播购物场景中,内容对象可以是商品,则可以根据直播商品的变化,将音视频数据流中直播同一商品的音视频内容切分为一个流片段;又例如,在影视剧场景中,内容对象可以是影视剧中的角色,则可以根据影视剧角色,将音视频数据流中出现指定影视剧角色的音视频内容切分为一个流片段。
在本实施例中,为了便于追踪音视频数据流中的流片段,网络节点L4可以以流片段为维度,为每个流片段分别生成第三追踪ID,第三追踪ID可唯一标识其对应的流片段,并且第三追踪ID可体现在流片段从数据源端102到播放端101的整个传输路径上,也就是说,在从数据源端102到播放端101的传输路径上,各网络节点需记录第三追踪ID与音视频数据流中相应流片段之间的对应关系。这样,利用第三追踪ID,可以获取音视频数据流中各流片段在整个生命周期内的日志数据,进一步结合第一追踪ID与第二追踪ID,可以进一步缩小播放端对应的日志数据,这样,可以大大减小分析所需的日志数据,可以更精准地定位异常问题,提高了解决问题的效率。
可选地,第三追踪ID可以基于数据源端102的标识信息生成,例如,第三追踪ID可以在数据源端102的标识信息上添加关键字信息,例如,在数据源端102的IP地址或者MAC地址上添加前缀或者后缀,其中关键字信息可以是由字母、数字或者符号等中的至少一种的组成,对不同流片段而言,该前缀或后缀信息不同;当然,第三追踪ID也可以是网络节点生成的字符串,该字符串可以由字母、数字或者符号等中的至少一种的组成,例如可以是“Cg99*”或者“456!@ML”等,对不同流片段而言,对应的字符串不相同。
下面以数据源端102将音视频数据流推送至网络节点L4,播放端101向网络节点L1发送播放请求为例,详细说明音视频数据流的传输过程。
如图1b所示,数据源端102在采集音视频数据并编码生成音视频数据流之后,将音视频数据流发送给与其通信连接的网络节点L4。网络节点L4利用切分策略对音视频数据流进行切分,得到至少一个流片段,为至少一个流片段分别生成第三追踪ID,并记录第三追踪ID与音视频数据流中对应流片段之间的对应关系;以及在接收到请求的情况下,可将至少一个流片段及其对应的第三追踪ID发送给发起请求的网络节点。进一步可选地,网络节点L4还可以将各流片段对应的第三追踪ID发送给数据源端102,以供数据源端102记录各流片段对应的第三追踪ID。具体地,第三追踪ID与流片段之间的对应关系具体为:记录音视频数据流对应的目标流标识(如URL)与各个第三追踪ID之间的对应关系。
在此期间,播放端101可以向网络节点L1发送播放请求,播放请求中包括音视频数据流对应的目标流标识。此时,网络节点L1本地没有该目标流标识对应的音视频数据流,则结合传输网络103的网络拓扑,规划出获取音视频数据流的目标路径,目标路径为网络节点L1—>网络节点L2—>网络节点L3—>网络节点L4。另一方面,网络节点L1为播放端101生成第一追踪ID,第一追踪ID可唯一标识一个请求该音视频数据流的播放端101;进一步,根据第一追踪ID生成第二追踪ID,第二追踪ID即可唯一标识播放端101,又可用于追踪目标路径上的各网络节点。之后,网络节点L1向其在目标路径上的下一跳网络节点L2发送第一获取请求,第一获取请求包括第二追踪ID和目标流标识。网络节点L2接收第一获取请求,一方面在本地记录第二追踪ID与目标流标识之间的对应关系,以及相关的动作行为;另一方面因为本地不存在该音视频数据流,故向其在目标路径上的下一跳网络节点L3发送第二获取请求,第二获取请求包括第二追踪ID和目标流标识。网络节点L3接收第二获取请求,一方面在本地记录第二追踪ID与目标流标识之间的对应关系,以及相关的动作行为;另一方面因为本地不存在该音视频数据流,故向其在目标路径上的下一跳网络节点L4发送第三获取请求,第三获取请求包括第二追踪ID和目标流标识。
网络节点L4接收第三获取请求,一方面在本地记录第二追踪ID与目标流标识之间的对应关系,以及相关的动作行为;另一方面,将音视频数据流的至少一个流片段及其对应的第三追踪ID提供给网络节点L3。网络节点L3接收网络节点L4返回的至少一个流片段及其对应的第三追踪ID,在本地记录第三追踪ID与音视频数据流中至少一个流片段之间的对应关系,并将至少一个流片段及其对应的第三追踪ID发送给网络节点L2。网络节点L2接收网络节点L3返回的至少一个流片段及其对应的第三追踪ID,在本地记录第三追踪ID与音视频数据流中至少一个流片段之间的对应关系,并将至少一个流片段及其对应的第三追踪ID发送给网络节点L1。网络节点L1接收网络节点L2返回的至少一个流片段及其对应的第三追踪ID,在本地记录第三追踪ID与音视频数据流中至少一个流片段之间的对应关系,并将至少一个流片段发送给播放端101。
进一步,网络节点L1还可以将第一追踪ID、第二追踪ID以及至少一个流片段对应的第三追踪ID发送给播放端101,以供播放端记录第一追踪ID、第二追踪ID以及至少一个流片段对应的第三追踪ID与目标流标识(如URL)之间的对应关系。在此说明,在经过上述传输过程之后,网络节点L1-L4以及播放端101上均记录有第二追踪ID以及第三追踪ID与目标流标识(如URL)之间的对应关系,具体可以记录在音视频数据流在各网络节点上的日志数据中,当然,该日志数据中还包括各网络节点接收到音视频数据流的时间、发送时间、以及对音视频数据流的其它一些处理动作等,从而为针对特定播放端、特定流片段获取日志数据提供了数据基础。
在本申请一些可选实施例中,如图1b所示,该系统还包括日志数据库104,用于存储各条音视频数据流对应的日志数据。具体地,各网络节点可以将音视频数据流在该网络节点上产生的日志数据输出至日志数据库104,音视频数据流在各网络节点上产生的日志数据包括:第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系,具体可以是第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流的流标识(如URL)之间的对应关系。除此之外,日志数据中还记录有音视频数据在各个网络节点上的传输延时、收发时间以及网络节点对该音视频数据流的各种动作行为等信息。
在本申请一些可选实施例中,如图1b所示,各网络节点还可以将一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系上报给服务端设备105,这样服务端设备105可根据该对应关系获取与音视频数据流对应的第一追踪ID、第二追踪ID以及第三追踪ID,并可根据其中至少一种追踪ID向日志数据库104发起针对特定播放端和/或特定流片段的日志查询请求,进而根据查询到的日志数据进行问题分析和定位。
在本申请另一些可选实施例中,如图1b所示,网络节点还可以将第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系输出给日志数据库的维护人员,具体是指将该对应关系输出至维护人员使用的终端设备,这样维护人员可根据该对应关系获取与音视频数据流对应的第一追踪ID、第二追踪ID以及第三追踪ID,并可根据其中至少一种追踪ID向日志数据库104发起针对特定播放端和/或特定流片段的日志查询请求,进而根据查询到的日志数据准确、快速地进行问题分析和定位,及时地解决音视频播放过程中出现的异常问题。
在此说明,在本申请实施例中,可以由音视频服务提供商向服务端设备105或维护人员反馈播放问题,进而触发服务端设备105或维护人员根据上述对应关系中的至少一种追踪ID向日志数据库104发起针对特定播放端和/或特定流片段的日志查询请求,进而根据查询到的日志数据准确、快速地进行问题分析和定位。除此之外,也可以有播放端101向服务端设备105进行播放问题的反馈。具体地,播放端101可以响应于用户触发的问题反馈操作,向服务端设备105发送问题反馈请求,该问题反馈请求中包括第一追踪ID、第二追踪ID以及第三追踪ID中的至少一种追踪ID。其中,可以在播放端101的播放界面上设置一问题反馈控件,一旦播放端101播放的音视频数据流出现播放异常,用户可以触发该问题反馈控件,播放端101响应于用户触发的问题反馈操作,例如,用户可以手动点击触发或者语音识别触发等,获取音视频数据流对应的第一追踪ID、第二追踪ID以及第三追踪ID中的至少一种追踪ID,将第一追踪ID、第二追踪ID以及第三追踪ID中的至少一种追踪ID携带在问题反馈请求,将该问题反馈请求发送至服务端设备105;服务端设备105可以接收该问题反馈请求,根据问题反馈请求中的第一追踪ID、第二追踪ID以及第三追踪ID中的至少一种追踪ID,获取日志数据库中第一追踪ID、第二追踪ID以及第三追踪ID中的至少一种追踪ID对应的音视频数据流的日志数据,对该日志数据进行分析,得到问题原因信息,并将该问题原因信息返回给播放端101;播放端101接收该问题原因信息,并提供给用户,例如,可以以文字的形式显示在播放界面上,或者以语音的形式播报该问题原因信息。
在本实施例中,可以从播放端,或者同时从播放端和数据源端的角度,对音视频数据流进行区分标记,首先从播放端的角度对音视频数据流进行区分标记,便于针对特定播放端查找音视频数据流在传输链路上产生的日志数据,这样可减少所需分析的日志数据,从而准确、快速地分析播放端出现异常问题的原因。进一步,从数据源端的角度对音视频数据流进行切分,针对切分出的各流片段进行区分标记,进一步可针对性地对追踪特定流片段产生的日志数据,这样可进一步减少分析所需的日志数据,可以更精准、快速地针对播放异常等问题进行分析,提高了解决问题的效率。
在本申请实施例中,除此可以从播放端和数据源端对音视频数据流进行区分标记之外,还可以在音视频数据流传输过程中探测音视频数据流在传输过程中的链路延时。在本申请实施例中,可以先探测音视频数据流在传输路径上相邻网络节点之间的延时,之后,对相邻网络节点之间的延时进行累加,最终得到整个传输路径上的延时,简称为链路延时。进一步,为了提高链路延时的准确率,在探测音视频数据流在相邻网络节点之间的延时时,基于同一网络节点的本地时间进行计算,这样可不依赖网络节点之间的时间同步,具有易于实施,且延时准确率较高的效果。
下面以图1b所示的系统架构为例,一种链路延时探测过程如图1c所示。网络节点L1在规划出获取音视频数据流的目标路径之后,可以向其目标路径上的下一跳网络节点,即网路节点L2发送第一延时探测请求,该第一延时探测请求包括第一时间,第一时间是网络节点L1发送第一延时探测请求时的本地时间;网络节点L2接收到该第一延时探测请求之后,及时向网络节点L1返回第一延时探测响应,第一延时探测响应中包括第一时间;网络节点L1接收第一延时探测响应,将接收到第一延时探测响应时的本地时间作为第二时间,根据第二时间和第一时间,确定网络节点L1与网络节点L2之间的延时,具体可以将第二时间与第一时间之间时间差的二分之一作为网络节点L1与网络节点L2之间的延时。
同理,网络节点L2可以向其在目标路径上的下一跳节点,即网络节点L3发送第二延时探测请求,第二延时探测请求包括第三时间,第三时间是网络节点L2发送第二延时探测请求时的本地时间;网络节点L3接收到第二延时探测请求之后,及时向网络节点L2返回第二延时探测响应,第二延时探测响应包括第三时间;网络节点L2接收第二延时探测响应,将接收到第二延时探测响应时的本地时间作为第四时间,根据第三时间和第四时间,确定网络节点L2与其下一跳网络节点L3之间的延时,具体可以将第四时间与第三时间之间时间差的二分之一作为网络节点L2与网络节点L3之间的延时。
基于上述相似方式,网络节点L3也可以探测到其与网络节点L4之间的延时;而网络节点L4也可以探测到期与数据源端102之间的延时。在图1c中,以实线表示探测相邻网络节点之间延时的过程。之后,可对网络节点L4到数据源端102之间的延时、网络节点L3到网络节点L4之间的延时、网络节点L2到网络节点L3之间的延时以及网络节点L1到网络节点L2之间的延时进行累加,得到音视频数据流在整个传输路径上的链路延时,该过程如图1c中虚线所示。
在本实施例中,网络节点探测与其在音视频数据流传输路径上的下一跳网络节点之间的延时时,利用的是该网络节点本地的时间差,不依赖下一跳网络节点的本地时间,不需要对相邻网络节点进行时间同步,不受时间同步精度的影响,可以精确地统计出相邻网络节点之间的延时,进而提高所探测到的整个链路延时的准确度。
在本实施例中,并不限定探测相邻网络节点之间延时的执行时机。例如,在网络节点L1经网络节点L2与网络节点L3,向网络节点L4请求音视频数据流的过程中,整个链路上的各网络节点可以通过向其下一跳网络节点发送延时探测请求的方式,探测其与下一跳网络节点之间的延时。例如,网络节点L1可以在接收到播放端101发送的播放请求之后,在播放请求的触发下向其下一跳网络节点L2发送第一延时探测请求,以探测其与网络节点L2之间的延时;对网络节点L2来说,可以在接收到第一延时探测请求之后,在第一延时探测请求的触发下,探测其与下一跳网络节点L3之间的延时,依次类推,直至网络节点L4探测到其与数据源端102之间的延时为止。需要说明的是,考虑到网络状态以及各网络节点的状态是动态变化的,在传输路径上网络节点的相互配合之下,可以多次探测链路延时,例如可以周期性地探测链路延时。
在本申请一可选实施例中,数据源端102将音视频数据流传输至网络节点L4上,可以认为网络节点L4到数据源端102的延时为0,则网络节点L1到数据源端102的延时,可认为是网络节点L1到网络节点L2、网络节点L2到网络节点L3以及网络节点L3到网络节点L4之间延时之和。鉴于此,在网络节点L1、网络节点L2、网络节点3分别探测到其到下一跳网络节点之间的延时之后,对获取音视频数据流从网络L1到数据源端102之间的链路延时进行详细说明。
网络节点L4作为目标路径上的最后一跳,在接收到网络节点L3发送的第三获取请求之后,一方面可以执行上文描述的相关操作向网络节点L3提供音视频数据流,关于音视频数据流在各网络节点之间的传输过程可参见前述实施例,在此重点关注链路延时的探测过程。另一方面,网络节点L4可确定其到数据源端102的延时为0,并将其到数据源端102的延时发送给网络节点L3。网络节点L3接收到网络节点L4到数据源端102的延时之后,根据网络节点L3到下一跳网络节点L4之间的延时和网络节点L4到数据源端102之间的延时,确定网络节点L3到数据源端102的延时,具体可以将网络节点L3到下一跳网络节点L4之间的延时与网络节点L4到数据源端102的延时之和,作为网络节点L3到数据源端102的延时,网络节点L3将其到数据源端102的延时发送给网络节点L2。网络节点L2接收网络节点L3到数据源端102的延时,根据网络节点L2到下一跳网络节点L3之间的延时和网络节点L3到数据源端102的延时,确定网络节点L2到数据源端102的延时,具体可以将网络节点L2到下一跳网络节点L3之间的延时与网络节点L3到数据源端102的延时之和,作为网络节点L2到数据源端102的延时,之后将其到数据源端102的延时发送给网络节点L1。网络节点L1接收网络节点L2到数据源端102的延时,根据网络节点L1到下一跳网络节点L2之间的延时和网络节点L2到数据源端102的延时,确定网络节点L1到数据源端102的延时,具体可以将网络节点L1到下一跳网络节点L2之间的延时与网络节点L2到数据源端102的延时之和,作为网络节点L1到数据源端102的延时,即音视频数据流在整个目标路径上的链路延时。
在本实施例中,并不限定网络节点L1获取音视频数据流在目标路径上的链路延时之后的操作。在一可选实施例中,网络节点L1获取该链路延时之后,可以输出音视频数据流的链路延时至播放端101,播放端101接收网络节点L1发送的音视频数据流的链路延时,并在播放界面上显示该链路延时。在另一可选实施例中,网络节点L1可以输出音视频数据流的链路延时至服务端设备105或音视频服务提供商,以供服务端设备105或音视频服务提供商,基于该链路延时对音视频数据流进行后续操作,例如,若链路延时过大,则追踪定位音视频数据流,改善链路延时过大的问题。在又一可选实施例中,网络节点L1根据链路延时,向音视频服务提供商推荐网络增值服务或网络改进建议,以供音视频服务提供商提升网络服务质量。其中,网络增值服务是指可以帮助音视频服务提供商改善网络服务质量的服务,例如可以是带宽购买服务或VIP服务,带宽购买服务或VIP服务可以为音视频服务提供商提供更高质量的网络服务,以保证网络传输质量,提高用户观看音视频的感受,为音视频服务提供商增加用户黏性。
需要说明的是,上述探测链路延时的方式,可应用于采用推拉流方式的音视频场景中,与音视频数据流的推拉流过程相结合,但并不限于此。上述探测链路延时的方式可适用于各种网络传输场景中。
另外,在上述系统实施例中,并未对传输网络的实现方式以及网络结构进行限定,例如可以是任何具有网络传输功能的网络结构。在一可选实施例中,考虑到音视频数据流的数据量较大,为了降低网络拥堵,提高播放端的响应时间,满足对播放延时的要求,传输网络103可以采用CDN网络,则上述网络节点L1-L4具体为CDN节点,可借助于CDN网络的优势,降低网络拥堵,也便于播放端就近获取音视频数据流,提高响应的及时性,降低播放延时,满足在线直播、视频会议以及一些短延时的RTC直播场景的要求。
上述音视频系统可以应用于直播场景、视频会议场景、短时延的RTC直播场景等等,下面以音视频系统应用在直播场景和视频会议场景为例进行详细说明。如图2和图3所示为直播系统和视频会议系统。
图2为本申请示例性实施例提供的一种基于CDN的直播系统的架构示意图。如图2所示,该系统包括播放端201、主播端202以及CDN网络203,CDN网络203包括至少一个CDN节点。
在本实施例中,CDN网络203是构建在现有网络基础之上的智能虚拟网络,其依靠部署在各地的边缘服务器(即CDN节点),可使用户就近获取所需内容,提高用户访问的响应速度。另外,在CDN网络203中,CDN节点多采用多级缓存结构,可以是二级或者三级等,在图2中以二级缓存结构为例进行图示,但并不限于此。在CDN节点采用二级缓存结构的情况下,第一级的CDN节点为边缘节点,第二级的CDN节点为中心节点,用户请求先到达边缘节点,若边缘节点未缓存用户所需内容,其会向其上级CDN节点,也即中心节点,请求相应内容直至源站(Origin Server),并返回给用户,提高用户访问成功率。图2中以CDN网络203中包括:CDN节点L1a、CDN节点L2a、CDN节点L1b以及CDN节点L2b为例进行图示,但并不限于此。其中,CDN节点L1a和CDN节点L1b表示第一级的CDN节点,CDN节点L2a和CDN节点L2b表示第二级的CDN节点。
在本实施例中,对于同一URL的直播流,一方面从播放端201的角度,为该URL下的直播流生成针对不同播放端201的追踪ID,记为url_traceid,可对应于上述实施例中的第一追踪ID;另一方面,从主播端202的角度,可能需要对该URL下的直播流进行切分,得到不同流片段,针对不同流片段生成不同追踪ID,记为stream_id。可对应于上述实施例中的第三追踪ID,这样减少分析所需的日志数据,可以更精准、快速地针对播放异常等问题进行分析,提高了解决问题的效率。下面对结合播放端201和主播端202的直播流传输过程进行详细说明。
主播端202将直播视频推送至CDN网络203,CDN网络203中CDN节点L1b接收该直播视频,根据推流时间,将直播流切分为至少一个流片段;为至少一个流片段分别生成第三追踪ID,第三追踪ID为stream_id。
用户想要观看主播端202推送的直播视频,可以通过播放端201发起观看,播放端201响应用户发起的直播播放操作,向CDN网络203发送播放请求,播放请求中包括:直播流的URL;CDN网络203中的CDN节点L1a接收该播放请求,生成针对该播放端201的第一追踪ID,即url_traceid,并记录url_traceid与直播流的URL的对应关系,CDN节点L1a判断出本地不存在该直播流,则CDN节点L1a规划出获取该直播流的回源路径,回源路径为CDN节点L1a—>CDN节点L2a—>CDN节点L2b—>CDN节点L1b。接着,CDN节点L1a根据url_traceid生成第二追踪ID,即relay_traceid,relay_traceid即可唯一标识播放端,又能用于追踪回源路径上各CDN节点,即回源路径上各CDN节点均需在直播流的日志数据中记录relay_traceid与直播流的URL的对应关系;CDN节点L1a向CDN节点L2a发送第一获取请求,第一获取请求中包括relay_traceid。CDN节点L2a接收第一获取请求,记录relay_traceid与直播流的URL的对应关系,并判断出本地不存在该直播流,CDN节点L2a向CDN节点L2b发送第二获取请求,第二获取请求中包括relay_traceid。CDN节点L2b接收该第二获取请求,记录relay_traceid与直播流的URL的对应关系,并判断出本地不存在该直播流,CDN节点L2b向CDN节点L1b发送第三获取请求,第三获取请求中包括relay_traceid;CDN节点L1b接收第三获取请求,记录relay_traceid与直播流的URL的对应关系,并判断出本地存在该直播流,将该直播流中的至少一个流片段及其对应的stream_id提供给CDN节点L2b。CDN节点L2b接收该至少一个流片段及其对应的stream_id,记录至少一个流片段与其对应的stream_id的对应关系,将至少一个流片段及其对应的stream_id发送给CDN节点L2a。CDN节点L2a接收该至少一个流片段及其对应的stream_id,记录至少一个流片段与其对应的stream_id的对应关系,将至少一个流片段及其对应的stream_id发送给CDN节点L1a。CDN节点L1a接收该至少一个流片段及其对应的stream_id,记录至少一个流片段与其对应的stream_id的对应关系,将至少一个流片段发送给播放端201。至此,在CDN节点L1a、L2a、L1b以及L2b上均记录有直播流的URL、stream_id以及relay_traceid之间的对应关系,即stream_id以及relay_traceid体现在对应特定播放端的直播流的整个传输路径中,便于根据这两个id进行直播流相关的追踪。
在本实施例中,CDN节点L1a将url_traceid、relay_traceid以及stream_id提供给播放端201,播放端201记录url_traceid与该直播流的对应关系、记录relay_traceid与该直播流的对应关系、记录stream_id与该直播流的对应关系。另外,各CDN节点可以将直播流在该CDN节点上产生的日志数据输出至日志数据库204,在各CDN节点上产生的日志数据包括:url_traceid、relay_traceid以及stream_id与直播流的URL的对应关系。除此之外,日志数据中还记录有直播流在各个CDN节点上的传输延时、收发时间以及CDN节点对该直播流的各种动作行为等信息。CDN节点L1a还可以将url_traceid、relay_traceid以及stream_id与直播流之间的对应关系输出给日志数据库的维护人员,以供维护人员在发现异常问题时,准确地对出现问题的直播流进行定位跟踪,及时地解决异常问题。
在本实施例中,利用stream_id,可以获取直播流流片段的整个生命周期中的所有日志信息,然后再结合url_traceid与relay_traceid,可以进一步缩小播放端对应的直播流的日志数据,这样,可以大大减小分析直播流所需的日志数据,可以更精准地定位异常问题,提高了解决问题的效率。
在本实施例中,CDN节点L1a在规划出获取直播流的回源路径之后,可以向CDN节点L2a发送第一延时探测请求,该第一延时探测请求包括第一时间T1,第一时间T1是CDN节点L1a发送第一延时探测请求时的本地时间;CDN节点L2a接收该第一延时探测请求,向CDN节点L1a返回第一延时探测响应,第一延时探测响应包括第一时间T1;CDN节点L1a接收第一延时探测响应,确定接收第一延时探测响应时的本地时间,记为第二时间T2,计算(T1+T2)/2得到CDN节点L1a与CDN节点L2a之间的延时T12。基于同样的方法,CDN节点L2a可以计算其与CDN节点L2b之间的延时T22,CDN节点L2b可以计算其与CDN节点L1b之间的延时T21。
在本实施例中,CDN节点统计与其传输路径上的下一跳CDN节点之间的延时时,统计的是CDN节点本地的时间差,对于链路延时的统计,不使用其他CDN节点的本地时间,不需要同步多个CDN节点之间的系统时间,所以可以精确地统计出两个CDN节点之间的链路时延,提高了统计链路延时的准确率。
在本实施例中,CDN节点L1a基于回源路径上CDN节点之间的时延,可以逐步确定CDN节点L1a到主播端202的延时,CDN节点L1a经CDN节点L2a、CDN节点L2b向CDN节点L1b发送直播流获取请求时,CDN节点L1b在返回直播流的同时,也可以将CDN节点L1b到直播端202的延时0,返回给CDN节点L2b;CDN节点L2b将CDN节点L1b到直播端202的延时0与CDN节点L2b到CDN节点L1b之间的延时T21相加,得到CDN节点L2b到直播端202的延时,即为T21,CDN节点L2b将CDN节点L2b到直播端202的延时T21发送给CDN节点L2a;CDN节点L2a接收该延时T21,将T21与CDN节点L2a到CDN节点L2b之间的延时T22相加,得到CDN节点L2a到直播端202的延时,即为T21+T22,CDN节点L2a将CDN节点L2a到直播端202的延时T21+T22发送给CDN节点L1a;CDN节点L1a接收T21+T22,将T21+T22与CDN节点L1a到CDN节点L2a之间的时延T12相加,得到回源路径的链路延时,为T21+T22+T12。
在本实施例中,CDN节点L1a获取到链路延时之后,将该链路延时播放端201,播放端201接收CDN节点L1a发送的直播流的链路延时,并在播放界面上显示链路延时。进一步,若链路延时大于设定的延时阈值,则显示与直播流中即将播放的直播内容相关的过渡性内容,以等待即将播放的直播内容,其中,过渡性内容可以是提前缓存至播放端201的内容,例如,可以是广告,或者直播的预告内容等,对此不做限定。
图3为本申请示例性实施例提供的一种基于CDN的视频会议系统,如图3所示,该系统包括:多个会议终端301与CDN网络302,其中,CDN网络302包含有至少一个CDN节点。关于CDN网络的内容可参见前述实施例,在此不再赘述。
在本实施例中,每个会议终端301加入视频会议后,会议中会存在当前发言人和未发言人,当前发言人的会议终端301可以采集当前发言人所在环境中的会议视频流并向CDN网络302中推流,当前未发言人的会议终端301可以向CDN网络302拉取当前发言人推送的会议视频流,获知当前发言人的发言内容等信息,从而实现多端参与的远程视频会议。在图3中以会议终端301是三个会议终端为例进行图示,但并不限于此。三个会议终端分别为会议终端301a、会议终端301b以及会议终端301c,会议终端301a对应于CDN节点L1a,会议终端301b对应于CDN节点L1b,会议终端301c对应于CDN节点L1c。下面以会议终端301b向CDN节点L1b推动会议视频流,会议终端301a向CDN节点L1a拉取会议视频流为例,对整个视频会议过程进行说明,会议终端301c向CDN节点L1c拉取会议视频流的过程与会议终端301a向CDN节点L1a拉取会议视频流的过程类似,在此不再赘述。
在本实施例中,会议终端301b将会议视频流推送至CDN网络203,CDN网络203中CDN节点L1b接收该会议视频流,根据推流时间,将会议视频流切分为至少一个流片段;为至少一个流片段分别生成第三追踪ID,第三追踪ID为stream_id。
会议终端301a希望获取会议终端301b的会议视频流,会议终端301a响应于用户发起的参会操作,向CDN网络302发送会议请求,会议请求中包括:会议视频流的URL;CDN网络302中的CDN节点L1a接收该会议请求,生成针对该会议终端301a的第一追踪ID,即url_traceid,并记录url_traceid与会议视频流URL的对应关系,CDN节点L1a判断出本地不存在该会议视频流,则CDN节点L1a规划出获取该会议视频流的目标路径,目标路径为CDN节点L1a—>CDN节点L2a—>CDN节点L2b—>CDN节点L1b,接着CDN节点L1a根据第一追踪ID生成第二追踪ID,即relay_traceid,CDN节点L1a向CDN节点L2a发送第一获取请求,第一获取请求中包括relay_traceid;CDN节点L2a接收第一获取请求,记录relay_traceid与会议视频流URL的对应关系,并判断出本地不存在该会议视频流,CDN节点L2a向CDN节点L2b发送第二获取请求,第二获取请求中包括relay_traceid;CDN节点L2b接收该第二获取请求,记录relay_traceid与会议视频流URL的对应关系,并判断出本地不存在该会议视频流,CDN节点L2b向CDN节点L1b发送第三获取请求,第三获取请求中包括relay_traceid;CDN节点L1b接收第三获取请求,记录relay_traceid与会议视频流URL的对应关系,并判断出本地存在该会议视频流,将该会议视频流中的至少一个流片段及其对应的stream_id提供给CDN节点L2b;CDN节点L2b接收该至少一个流片段及其对应的stream_id,记录至少一个流片段与其对应的stream_id的对应关系,将至少一个流片段及其对应的stream_id发送给CDN节点L2a;CDN节点L2a接收该至少一个流片段及其对应的stream_id,记录至少一个流片段与其对应的stream_id的对应关系,将至少一个流片段及其对应的stream_id发送给CDN节点L1a;CDN节点L1a接收该至少一个流片段及其对应的stream_id,记录至少一个流片段与其对应的stream_id的对应关系,将至少一个流片段发送给会议终端301a。
在本实施例中,CDN节点L1a将url_traceid、relay_traceid以及stream_id提供给会议终端301a,会议终端301a记录url_traceid与该会议视频流的对应关系、记录relay_traceid与该会议视频流的对应关系、记录stream_id与该会议视频流的对应关系。
在本实施例中,利用stream_id,可以获取会议视频流流片段的整个生命周期中的所有日志信息,然后再结合url_traceid与relay_traceid,可以进一步缩小播放端对应的会议视频流的日志数据,这样,可以大大减小分析会议视频流所需的日志数据,可以更精准地定位异常问题,提高了解决问题的效率。
在本实施例中,CDN节点L1a在规划出获取会议视频流的目标路径之后,可以向CDN节点L2a发送第一延时探测请求,该第一延时探测请求包括第一时间T1,第一时间T1是CDN节点L1a发送第一延时探测请求时的本地时间;CDN节点L2a接收该第一延时探测请求,向CDN节点L1a返回第一延时探测响应,第一延时探测响应包括第一时间T1;CDN节点L1a接收第一延时探测响应,确定接收第一延时探测响应时的本地时间,记为第二时间T2,计算(T1+T2)/2得到CDN节点L1a与CDN节点L2a之间的延时T12。基于同样的方法,CDN节点L2a可以计算其与CDN节点L2b之间的延时T22,CDN节点L2b可以计算其与CDN节点L1b之间的延时T21。
在本实施例中,CDN节点统计与其传输路径上的下一跳CDN节点之间的延时时,统计的是CDN节点本地的时间差,对于链路延时的统计,不使用其他CDN节点的本地时间,不需要同步多个CDN节点之间的系统时间,所以可以精确地统计出两个CDN节点之间的链路时延,提高了统计链路延时的准确率。
在本实施例中,CDN节点L1a基于目标路径上CDN节点之间的时延,可以逐步确定CDN节点L1a到会议终端301b的延时,CDN节点L1a经CDN节点L2a、CDN节点L2b向CDN节点L1b发送会议视频流获取请求时,CDN节点L1b在返回会议视频流的同时,也可以将CDN节点L1b到会议终端301b的延时0,返回给CDN节点L2b;CDN节点L2b将CDN节点L1b到会议终端301b的延时0与CDN节点L2b到CDN节点L1b之间的延时T21相加,得到CDN节点L2b到会议终端301b的延时,即为T21,CDN节点L2b将CDN节点L2b到会议终端301b的延时T21发送给CDN节点L2a;CDN节点L2a接收该延时T21,将T21与CDN节点L2a到CDN节点L2b之间的延时T22相加,得到CDN节点L2a到会议终端301b的延时,即为T21+T22,CDN节点L2a将CDN节点L2a到会议终端301b的延时T21+T22发送给CDN节点L1a;CDN节点L1a接收T21+T22,将T21+T22与CDN节点L1a到CDN节点L2a之间的时延T12相加,得到目标路径的链路延时,为T21+T22+T12。
在本实施例中,CDN节点L1a获取到链路延时之后,将该链路延时会议终端301a,会议终端301a接收CDN节点L1a发送的会议视频流的链路延时,并在播放界面上显示链路延时。
图4a为本申请示例性实施例提供的一种音视频传输方法的流程示意图,适用于网络节点,如图4a所示,该方法包括:
401a、接收播放端发送的播放请求,播放请求包括目标流标识,用于标识播放端请求播放的音视频数据流;
402a、生成可唯一标识播放端的第一追踪ID,并记录第一追踪ID与音视频数据流之间的对应关系;
403a、获取来自数据源端的音视频数据流,并将音视频数据流返回给播放端,以供播放端播放音视频数据流。
在一可选实施例中,网络节点还可以将第一追踪ID发送给播放端,以供播放端记录第一追踪ID与音视频数据流之间的对应关系。
在一可选实施例中,获取来自数据源端的音视频数据流,包括:若本地不存在音视频数据流,规划获取音视频数据流的目标路径,并生成第二追踪ID,第二追踪ID用于追踪目标路径上的节点;向网络节点在目标路径上的下一跳网络节点发送获取请求,获取请求中包括第二追踪ID,以供下一跳网络节点记录第二追踪ID和音视频数据流之间的对应关系并返回音视频数据流;接收下一跳网络节点返回的音视频数据流;其中,第二追踪ID对应于第一追踪ID。
在一可选实施例中,生成第二追踪ID,包括:将第一追踪ID直接作为第二追踪ID;或者在第一追踪ID上添加关键字信息,作为第二追踪ID。
在一可选实施例中,在音视频数据流包括至少一个流片段的情况下,方法还包括:接收下一跳网络节点返回的至少一个流片段各自对应的第三追踪ID,第三追踪ID可唯一标识其所对应的流片段;记录第三追踪ID与音视频数据流中至少一个流片段之间的对应关系。
在一可选实施例中,本实施例提供的方法还包括以下至少一种操作:将第二追踪ID和第三追踪ID发送给播放端,以供播放端记录第二追踪ID和第三追踪ID与音视频数据流之间的对应关系;将第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系上报给服务端设备;将音视频数据流在网络节点上的日志数据输出至日志数据库中,日志数据包括第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系;将第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系输出给日志数据库的维护人员。
在一可选实施例中,本实施例提供的方法还包括:向下一跳网络节点发送延时探测请求,延时探测请求包括第一时间,第一时间是网络节点发送延时探测请求时的本地时间;接收下一跳网络节点返回的延时探测响应,延时探测响应包括第一时间;根据第二时间和第一时间,确定网络节点与下一跳网络节点之间的延时;第二时间是网络节点接收到延时探测响应时的本地时间。
在一可选实施例中,本实施例提供的方法还包括:接收下一跳网络节点返回的其到数据源端的延时;根据网络节点与下一跳网络节点之间的延时和下一跳网络节点到数据源端的延时,确定音视频数据流的链路延时。
在一可选实施例中,本实施例提供的方法还包括:输出音视频数据流的链路延时至播放端、服务端设备或音视频服务提供商;和/或根据链路延时,向音视频服务提供商推荐网络增值服务或网络改进建议,以供音视频服务提供商提升网络服务质量。
在本实施例中,音视频传输方法适用于多种应用场景,例如直播场景、视频会议场景等,其中,在上述场景中,网络节点可实现为CDN网络中的CDN节点,基于此,本实施例还提供一种基于CDN的直播流传输方法,该方法适用于CDN节点,如图4b所示,该方法包括:
401b、接收播放端发送的播放请求,播放请求包括目标流标识,用于标识播放端请求播放的直播流;
402b、生成可唯一标识播放端的第一追踪ID,并记录第一追踪ID与直播流之间的对应关系;
403b、获取来自于直播端的直播流,并将直播流返回给播放端,以供播放端播放直播流。
本实施例还提供一种基于CDN的视频会议方法,该方法适用于CDN节点,如图4c所示,该方法包括:
401c、接收会议终端发送的会议请求,会议请求包括会议标识,用于标识会议视频流;
402c、生成可唯一标识会议终端的第一追踪ID,并记录第一追踪ID与会议视频流之间的对应关系;
403c、获取来自其它会议终端的会议视频流,并将会议视频流返回给会议终端,以供会议终端播放会议视频流。
关于图4a-4c所示实施例中各步骤的详细描述以及详细实施方式可参见前述系统实施例,在此不再赘述。
图5a为本申请示例性实施例提供的另一种音视频传输方法,该方法适用于网络节点,如图5a所示,该方法包括:
501a、接收第一获取请求,第一获取请求是网络节点在目标路径上的上一跳网络节点发送的,第一获取请求包括用于第二追踪ID;
502a、记录第二追踪ID和音视频数据流之间的对应关系,第二追踪ID用于追踪目标路径上的节点的,目标路径是获取音视频数据流所需的路径;
503a、获取音视频数据流,并将音视频数据流返回给发送上一跳网络节点,以供上一跳网络节点将音视频数据流返回给请求音视频数据流的播放端。
在一可选实施例中,获取音视频数据流,包括:若本地不存在音视频数据流,向网络节点在目标路径上的下一跳网络节点发送第二获取请求,第二获取请求中包括第二追踪ID,以供下一跳网络节点记录第二追踪ID和音视频数据流之间的对应关系并返回音视频数据流;以及接收下一跳网络节点返回的音视频数据流。
在一可选实施例中,在音视频数据流包括至少一个流片段的情况下,方法还包括:接收下一跳网络节点返回的至少一个流片段各自对应的第三追踪ID,第三追踪ID可唯一标识其所对应的流片段;记录第三追踪ID与音视频数据流中至少一个流片段之间的对应关系;以及将至少一个流片段各自对应的第三追踪ID发送给上一跳网络节点,以供上一跳网络节点记录第三追踪ID与至少一个流片段之间的对应关系。
在一可选实施例中,本实施例提供的方法还包括:接收上一跳网络节点发送的第一延时探测请求,第一延时探测请求包括第一时间,第一时间是上一跳网络节点发送第一延时探测请求时的本地时间;向上一跳网络节点返回第一延时探测响应,第一延时探测响应包括第一时间,以供上一跳网络节点根据第一时间和第二时间确定其与网络节点之间的延时;第二时间是上一跳网络节点接收到第一延时探测响应时的本地时间。
在一可选实施例中,本实施例提供的方法还包括:向下一跳网络节点发送第二延时探测请求,第二延时探测请求包括第三时间,第三时间是网络节点发送第二延时探测请求时的本地时间;接收下一跳网络节点返回的第二延时探测响应,第二延时探测响应包括第三时间;根据第三时间和第四时间,确定网络节点与下一跳网络节点之间的延时;第四时间是网络节点接收到第二延时探测响应时的本地时间。
在一可选实施例中,本实施例提供的方法还包括:接收下一跳网络节点返回的其到数据源端的延时;根据网络节点与下一跳网络节点之间的延时和下一跳网络节点到数据源端的延时,确定网络节点到数据源端的延时;将网络节点到数据源端的延时发送给上一跳网络节点,以供上一跳网络节点确定其到数据源端的延时。
图5b为本申请示例性实施例提供的另一种基于CDN的直播流传输方法的流程示意图,如图5b所示,该方法包括:
501b、接收第一获取请求,第一获取请求是CDN节点在回源路径上的上一跳CDN节点发送的,第一获取请求包括用于第二追踪ID;
502b、记录第二追踪ID和直播流之间的对应关系,第二追踪ID用于追踪回源路径上的CDN节点的,回源路径是获取直播流所需的路径;
503b、获取来自直播端的直播流,并将直播流返回给发送上一跳CDN节点,以供上一跳CDN节点将直播流返回给请求直播流的播放端。
图5c为本申请示例性实施例提供的另一种基于CDN的视频会议方法的流程示意图,如图5c所示,该方法包括:
501c、接收第一获取请求,第一获取请求是CDN节点在回源路径上的上一跳CDN节点发送的,第一获取请求包括用于第二追踪ID;
502c、记录第二追踪ID和会议视频流之间的对应关系,第二追踪ID用于追踪回源路径上的CDN节点的,回源路径是获取会议视频流所需的路径;
503c、获取来自其它会议终端的会议视频流,并将会议视频流返回给发送上一跳CDN节点,以供上一跳CDN节点将会议视频流返回给发起会议请求的会议终端。
关于图5a-图5c所示实施例中各步骤的详细描述以及详细实施方式可参见前述系统实施例,在此不再赘述。
图6为本申请示例性实施例提供的又一种音视频传输方法的流程示意图,适用于靠近数据源端的网络节点,如图6所示,该方法包括:
601、接收数据源端发送的音视频数据流;
602、根据切分策略,将音视频数据流切分为至少一个流片段;
603、为至少一个流片段分别生成第三追踪ID,第三追踪ID可唯一标识其所对应的流片段;
604、将至少一个流片段及其对应的第三追踪ID发送给请求音视频数据流的网络节点。
在一可选实施例中,根据切分策略,将音视频数据流切分为至少一个流片段,包括:根据音视频服务提供商的推流时间,将音视频数据流切分为至少一个流片段,不同流片段对应不同推流时间;和/或根据音视频数据流中的内容对象,将音视频数据流切分为至少一个流片段,不同流片段对应不同内容对象。
图7a为本申请示例性实施例提供的一种音视频播放方法的流程示意图,适用于播放端,如图7a所示,该方法包括:
701a、响应用户发起的音视频播放操作,向网络节点发送播放请求,播放请求包括目标流标识,用于标识用户请求播放的音视频数据流;
702a、接收网络节点返回的音视频数据流以及第一追踪ID,第一追踪ID是网络节点生成的,用于唯一标识播放端;
703a、播放音视频数据流,并记录第一追踪ID与音视频数据流之间的对应关系。
在一可选实施例中,本实施例提供的方法还包括:接收网络节点返回的第二追踪ID,并记录第二追踪ID与音视频数据流之间的对应关系,第二追踪ID用于追踪目标路径上的节点,目标路径是网络节点规划出的用于获取音视频数据流的路径;和/或在音视频数据流包括至少一个流片段的情况下,接收网络节点返回的至少一个流片段各自对应的第三追踪ID,并记录第三追踪ID与至少一个流片段之间的对应关系。
在一可选实施例中,本实施例提供的方法还包括:响应于用户触发的问题反馈操作,向服务端设备发送问题反馈请求,问题反馈请求中包括第一追踪ID、第二追踪ID以及第三追踪ID中的至少一种追踪ID;接收服务端设备返回的问题原因信息,并输出问题原因信息,问题原因信息是服务端设备根据从日志数据库中获取到的与至少一种追踪ID对应的音视频数据流的日志数据分析得到的。
在一可选实施例中,本实施例提供的方法还包括:接收网络节点发送的音视频数据流的链路延时,并在播放界面上显示链路延时。
在一可选实施例中,本实施例提供的方法还包括:若链路延时大于设定的延时阈值,则显示与音视频数据流中即将播放的音视频内容相关的过渡性内容,以等待即将播放的音视频内容。
图7b为本申请示例性实施例提供的一种基于CDN的直播播放方法的流程示意图,如图7b所示,该方法包括:
701b、响应用户发起的直播播放操作,向CDN节点发送播放请求,播放请求包括目标流标识,用于标识用户请求播放的直播流;
702b、接收CDN节点返回的直播流以及第一追踪ID,第一追踪ID是CDN节点生成的,用于唯一标识播放端;
703b、播放直播流,并记录第一追踪ID与直播流之间的对应关系。
图7c为本申请示例性实施例提供的一种基于CDN的视频会议方法的流程示意图,如图7c所示,该方法包括:
701c、响应用户发起的参会操作,向CDN节点发送会议请求,会议请求包括会议标识,用于标识用户请求参加的视频会议;
702c、接收CDN节点返回的会议视频流以及第一追踪ID,第一追踪ID是CDN节点生成的,用于唯一标识发送会议请求的会议终端;
703c、播放会议视频流,并记录第一追踪ID与会议视频流之间的对应关系。
关于图7a-图7c所示实施例中各步骤的详细描述以及详细实施方式可参见前述系统实施例,在此不再赘述。
图8本申请示例性实施例提供的一种网络延时探测方法的流程示意图,适用于网络节点,如图8所示,该方法包括:
801、接收播放端发送的播放请求,播放请求用于请求播放音视频数据流;
802、向提供音视频数据流的下一跳网络节点发送延时探测请求,延时探测请求包括第一时间,第一时间是网络节点发送延时探测请求时的本地时间;
803、接收下一跳网络节点返回的延时探测响应,延时探测响应包括第一时间;
804、根据第二时间和第一时间,确定网络节点与下一跳网络节点之间的延时;第二时间是网络节点接收到延时探测响应时的本地时间。
在一可选实施例中,本实施例提供的方法还包括:接收下一跳网络节点返回的其到数据源端的延时;根据网络节点与下一跳网络节点之间的延时和下一跳网络节点到数据源端的延时,确定音视频数据流的链路延时。
在一可选实施例中,本实施例提供的方法还包括:输出音视频数据流的链路延时至播放端、服务端设备或音视频服务提供商;和/或根据链路延时,向音视频服务提供商推荐网络增值服务或网络改进建议,以供音视频服务提供商提升网络服务质量。
在一可选实施例中,网络节点为CDN节点,音视频数据流为直播流或视频会议中的会议视频流。
在本申请实施例中,针对各种采用推拉流方式的音视频应用场景,在推拉流过程中,首先从播放端的角度对音视频数据流进行区分标记,便于针对特定播放端查找音视频数据流在传输链路上产生的日志数据,这样可减少所需分析的日志数据,从而准确、快速地分析播放端出现异常问题的原因。进一步,从数据源端的角度对音视频数据流进行切分,针对切分出的各流片段进行区分标记,进一步可针对性地对追踪特定流片段产生的日志数据,这样可进一步减少分析所需的日志数据,可以更精准、快速地针对播放异常等问题进行分析,提高了解决问题的效率。
在本申请上述实施例中,在音视频数据流传输过程中通过产生各种追踪ID,可引起音视频数据流传输过程中产生的日志数据的相关变化,进而便于基于这些追踪ID锁定局部日志数据,减少分析所需的日志数据,但需要说明的是,该方案并不限于音视频这一种数据形态,可扩展于各种数据传输过程。鉴于此,本申请实施例还提供一种数据传输系统,包括:数据接收端和数据源端以及介于请求端和数据源端之间的传输网络;该传输网络包括至少一个网络节点。
在本实施例中,数据源端用于产生待传输的数据,并负责将该数据推送至传输网络中,以便该数据经传输网络被传输至数据接收端。数据接收端负责从传输网络中拉取所需的数据,进一步对所拉取的数据做进一步处理。需要说明的是,根据应用场景的不同,数据源端、数据源端产生的数据以及数据接收端、数据接收端在拉取到所需数据后的进一步处理均会有所不同。下面举例说明:
例如,在直播场景中,数据源端是直播端,其产生的数据可以是直播流,数据接收端是播放端,其拉取到直播流后会播放直播流,进一步还可以对直播流进行保存、剪辑等处理。
例如,在音视频会议场景中,数据源端是任何一方的会议终端,其产生的数据可以是会议视频流,数据接收端是其它会议终端,其拉取到会议视频流后会播放会议视频流,进一步还可以对会议视频流进行保存、文本识别、剪辑等处理。
例如,在资源管理场景中,数据源端是资源提供端,其产生的数据可以是静态资源,例如图片、html文件、css文件、js文件、库函数、软件安装包、开源代码等;数据接收端是资源需求端,其拉取到静态资源后会使用静态资源,例如可以基于图片、html文件、css文件、js文件等静态资源渲染出所需的网页,也可以运行库函数,也可以根据开源代码做二次开发。
在本实施例中,考虑到同一数据可能被多个数据接收端从传输网络中拉取,为了便于区分,在本实施例中,数据接收端、传输网络中的网络节点以及数据源端相互配合实现一种新的数据传输方法,下面对该数据传输方法进行详细说明。
数据接收端向传输网络中的网络节点发送数据请求,传输网络中的网络节点接收接收端发送的数据请求,所述数据请求包括数据标识,用于标识数据接收端请求的目标数据。其中,目标数据可以是数据源端可产生的任一种数据,例如可以是图片、html文件、css文件、js文件、库函数、软件安装包、开源代码等,也可以是直播流、会议视频流等。
上述网络节点在接收到数据请求后,生成可唯一标识上述数据接收端的第一追踪ID,并记录第一追踪ID与目标数据之间的对应关系;该对应关系可反映第一追踪ID对应的数据接收端请求了该目标数据。
接着,上述网络节点获取来自数据源端的目标数据,并将目标数据返回给数据接收端。进一步,还可以将第一追踪ID返回给数据接收端,以供数据接收端记录第一追踪ID与目标数据之间的对应关系。
在一可选实施例中,上述网络节点在获取目标数据时,可以先判断本地是否存在目标数据;若本地存在目标数据,则直接从本地获取目标数据;若本地不存在目标数据,则规划获取目标数据所需的目标路径,并生成与第一追踪ID对应的第二追踪ID,第二追踪ID用于追踪目标路径上的网络节点;之后,向其所在目标路径上的下一跳网络节点发送获取请求,所述获取请求中包括第二追踪ID,以供下一跳网络节点记录第二追踪ID和目标数据之间的对应关系并返回目标数据;接收下一跳网络节点返回的目标数据。对目标路径上的其它网络节点,如果本地没有目标数据,则会向目标路径上的下一跳网络节点继续发送获取请求,直至获取到目标数据为止。
在一可选实施例中,在数据源端可以将目标数据切分为多个数据片段,并为每个数据片段生成可唯一标识该数据片段的第三追踪ID。鉴于此,数据源端在将目标数据推送至传输网络中与其连接的网络节点时,实际上是将每个数据片段及其对应的第三追踪ID推送至与其连接的网络节点。鉴于此,上述接收下一跳网络节点返回的目标数据的过程为:接收下一跳网络节点返回的至少一个数据片段以及各自对应的第三追踪ID,第三追踪ID可唯一标识其所对应的数据片段;并记录第三追踪ID与目标数据中至少一个数据片段之间的对应关系。其中,目标路径上的各节点均会记录第三追踪ID与目标数据中至少一个数据片段之间的对应关系。
进一步可选地,接收到数据请求的网络节点还可以执行以下至少一种操作:
将第二追踪ID和第三追踪ID发送给数据接收端,以供数据接收端记录第二追踪ID和第三追踪ID与目标数据之间的对应关系;
将第一追踪ID、第二追踪ID以及第三追踪ID与目标数据之间的对应关系上报给服务端设备;
将目标数据在网络节点上的日志数据输出至日志数据库中,所述日志数据包括第一追踪ID、第二追踪ID以及第三追踪ID与目标数据之间的对应关系;
将第一追踪ID、第二追踪ID以及所述第三追踪ID与目标数据之间的对应关系输出给日志数据库的维护人员。
在本实施例中,在数据传输过程中通过产生各种追踪ID,可引起数据传输过程中产生的日志数据的相关变化,进而便于基于这些追踪ID锁定局部日志数据,减少分析所需的日志数据,便于更精准、快速地针对传输异常等问题进行分析,提高解决问题的效率。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤401a至步骤403a的执行主体可以为设备A;又比如,步骤401a和402a的执行主体可以为设备A,步骤403a的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401a、402a等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图9a为本申请示例性实施例提供的一种网络节点的结构示意图。如图9a所示,该网络节点包括:存储器94和处理器95。
存储器94,用于存储计算机程序,并可被配置为存储其它各种数据以支持在网络节点上的操作。这些数据的示例包括用于在网络节点上操作的任何应用程序或方法的指令。
存储器94可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器95,与存储器94耦合,用于执行存储器94中的计算机程序,以用于:接收播放端发送的播放请求,播放请求包括目标流标识,用于标识播放端请求播放的音视频数据流;生成可唯一标识播放端的第一追踪ID,并记录第一追踪ID与音视频数据流之间的对应关系;获取来自数据源端的音视频数据流,并将音视频数据流返回给播放端,以供播放端播放音视频数据流。
在一可选实施例中,处理器95还用于将第一追踪ID发送给播放端,以供播放端记录第一追踪ID与音视频数据流之间的对应关系。
在一可选实施例中,处理器95在获取来自数据源端的音视频数据流时,具体用于:若本地不存在音视频数据流,规划获取音视频数据流的目标路径,并生成第二追踪ID,第二追踪ID用于追踪目标路径上的节点;向网络节点在目标路径上的下一跳网络节点发送获取请求,获取请求中包括第二追踪ID,以供下一跳网络节点记录第二追踪ID和音视频数据流之间的对应关系并返回音视频数据流;接收下一跳网络节点返回的音视频数据流;其中,第二追踪ID对应于第一追踪ID。
在一可选实施例中,处理器95在生成第二追踪ID时,具体用于:将第一追踪ID直接作为第二追踪ID;或者在第一追踪ID上添加关键字信息,作为第二追踪ID。
在一可选实施例中,在音视频数据流包括至少一个流片段的情况下,处理器95还用于:接收下一跳网络节点返回的至少一个流片段各自对应的第三追踪ID,第三追踪ID可唯一标识其所对应的流片段;记录第三追踪ID与音视频数据流中至少一个流片段之间的对应关系。
在一可选实施例中,处理器95还用于执行以下至少一种操作:将第二追踪ID和第三追踪ID发送给播放端,以供播放端记录第二追踪ID和第三追踪ID与音视频数据流之间的对应关系;将第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系上报给服务端设备;将音视频数据流在网络节点上的日志数据输出至日志数据库中,日志数据包括第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系;将第一追踪ID、第二追踪ID以及第三追踪ID与音视频数据流之间的对应关系输出给日志数据库的维护人员。
在一可选实施例中,处理器95还用于:向下一跳网络节点发送延时探测请求,延时探测请求包括第一时间,第一时间是网络节点发送延时探测请求时的本地时间;接收下一跳网络节点返回的延时探测响应,延时探测响应包括第一时间;根据第二时间和第一时间,确定网络节点与下一跳网络节点之间的延时;第二时间是网络节点接收到延时探测响应时的本地时间。
在一可选实施例中,处理器95还用于:接收下一跳网络节点返回的其到数据源端的延时;根据网络节点与下一跳网络节点之间的延时和下一跳网络节点到数据源端的延时,确定音视频数据流的链路延时。
在一可选实施例中,处理器95还用于:输出音视频数据流的链路延时至播放端、服务端设备或音视频服务提供商;和/或根据链路延时,向音视频服务提供商推荐网络增值服务或网络改进建议,以供音视频服务提供商提升网络服务质量。
进一步,如图9a所示,该网络节点还包括:通信组件96a、显示器97a、电源组件98a、音频组件99a等其它组件。图9a中仅示意性给出部分组件,并不意味着网络节点只包括图9a所示组件。需要说明的是,图9a中虚线框内的组件为可选组件,而非必选组件,具体可视网络节点的产品形态而定。
在一可选实施例中,本实施例的网络节点可以应用于不同网络中,例如可以应用于CDN网络中,则可以作为CDN节点实现。进一步,在本实施例的网络节点作为CDN节点实现时,可以应用于各种推拉流场景中,例如直播场景或视频会议场景中。
进一步,在本实施例的网络节点作为CDN节点实现并应用于直播场景时,其处理器执行存储器中存储的计算机程序,具体可实现以下操作:接收播放端发送的播放请求,所述播放请求包括目标流标识,用于标识所述播放端请求播放的直播流;生成可唯一标识所述播放端的第一追踪ID,并记录所述第一追踪ID与所述直播流之间的对应关系;获取来自于直播端的所述直播流,并将所述直播流返回给所述播放端,以供所述播放端播放所述直播流。
进一步,在本实施例的网络节点作为CDN节点实现并应用于视频会议场景时,其处理器执行存储器中存储的计算机程序,具体可实现以下操作:接收会议终端发送的会议请求,所述会议请求包括会议标识,用于标识会议视频流;生成可唯一标识所述会议终端的第一追踪ID,并记录所述第一追踪ID与所述会议视频流之间的对应关系;获取来自其它会议终端的所述会议视频流,并将所述会议视频流返回给所述会议终端,以供所述会议终端播放所述会议视频流。
进一步,本实施例的网络节点还可用于任何数据传输场景中,则其处理器执行存储器中存储的计算机程序,具体可实现以下操作:接收数据接收端发送的数据请求,所述数据请求包括数据标识,用于标识所述数据接收端请求的目标数据;生成可唯一标识所述数据接收端的第一追踪ID,并记录所述第一追踪ID与所述目标数据之间的对应关系;获取来自数据源端的所述目标数据,并将所述目标数据返回给所述数据接收端。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述图4a所示方法实施例中可由网络节点执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,计算机程序/指令被执行时能够实现上述图4a所示方法实施例中可由网络节点执行的各步骤。
本申请实施例还提供一种网络节点,该网络节点的实现结构与图9a所示网络节点的实现结构相同或类似,可参照图9a所示网络节点的结构实现。本实施例提供的网络节点与图9a所示实施例中网络节点的区别主要在于:处理器执行存储器中存储的计算机程序所实现的功能不同。对本实施例提供的网络节点来说,其处理器执行存储器中存储的计算机程序,可用于:接收第一获取请求,第一获取请求是网络节点在目标路径上的上一跳网络节点发送的,第一获取请求包括用于第二追踪ID;记录第二追踪ID和音视频数据流之间的对应关系,第二追踪ID用于追踪目标路径上的节点的,目标路径是获取音视频数据流所需的路径;获取音视频数据流,并将音视频数据流返回给发送上一跳网络节点,以供上一跳网络节点将音视频数据流返回给请求音视频数据流的播放端。
在一可选实施例中,处理器在获取音视频数据流时,具体用于:若本地不存在音视频数据流,向网络节点在目标路径上的下一跳网络节点发送第二获取请求,第二获取请求中包括第二追踪ID,以供下一跳网络节点记录第二追踪ID和音视频数据流之间的对应关系并返回音视频数据流;以及接收下一跳网络节点返回的音视频数据流。
在一可选实施例中,处理器在音视频数据流包括至少一个流片段的情况下,还用于:接收下一跳网络节点返回的至少一个流片段各自对应的第三追踪ID,第三追踪ID可唯一标识其所对应的流片段;记录第三追踪ID与音视频数据流中至少一个流片段之间的对应关系;以及将至少一个流片段各自对应的第三追踪ID发送给上一跳网络节点,以供上一跳网络节点记录第三追踪ID与至少一个流片段之间的对应关系。
在一可选实施例中,处理器还用于:接收上一跳网络节点发送的第一延时探测请求,第一延时探测请求包括第一时间,第一时间是上一跳网络节点发送第一延时探测请求时的本地时间;向上一跳网络节点返回第一延时探测响应,第一延时探测响应包括第一时间,以供上一跳网络节点根据第一时间和第二时间确定其与网络节点之间的延时;第二时间是上一跳网络节点接收到第一延时探测响应时的本地时间。
在一可选实施例中,处理器还用于:向下一跳网络节点发送第二延时探测请求,第二延时探测请求包括第三时间,第三时间是网络节点发送第二延时探测请求时的本地时间;接收下一跳网络节点返回的第二延时探测响应,第二延时探测响应包括第三时间;根据第三时间和第四时间,确定网络节点与下一跳网络节点之间的延时;第四时间是网络节点接收到第二延时探测响应时的本地时间。
在一可选实施例中,处理器还用于:接收下一跳网络节点返回的其到数据源端的延时;根据网络节点与下一跳网络节点之间的延时和下一跳网络节点到数据源端的延时,确定网络节点到数据源端的延时;将网络节点到数据源端的延时发送给上一跳网络节点,以供上一跳网络节点确定其到数据源端的延时。
在一可选实施例中,本实施例的网络节点可以应用于不同网络中,例如可以应用于CDN网络中,则可以作为CDN节点实现。进一步,在本实施例的网络节点作为CDN节点实现时,可以应用于各种推拉流场景中,例如直播场景或视频会议场景中。
进一步,在本实施例的网络节点作为CDN节点实现并应用于直播场景时,其处理器执行存储器中存储的计算机程序,具体可实现以下操作:接收第一获取请求,所述第一获取请求是所述CDN节点在回源路径上的上一跳CDN节点发送的,所述第一获取请求包括用于第二追踪ID;记录所述第二追踪ID和直播流之间的对应关系,所述第二追踪ID用于追踪所述回源路径上的CDN节点的,所述回源路径是获取所述直播流所需的路径;获取来自直播端的所述直播流,并将所述直播流返回给发送所述上一跳CDN节点,以供所述上一跳CDN节点将所述直播流返回给请求所述直播流的播放端。
进一步,在本实施例的网络节点作为CDN节点实现并应用于视频会议场景时,其处理器执行存储器中存储的计算机程序,具体可实现以下操作:接收第一获取请求,所述第一获取请求是所述CDN节点在回源路径上的上一跳CDN节点发送的,所述第一获取请求包括用于第二追踪ID;记录所述第二追踪ID和会议视频流之间的对应关系,所述第二追踪ID用于追踪所述回源路径上的CDN节点的,所述回源路径是获取所述会议视频流所需的路径;获取来自其它会议终端的所述会议视频流,并将所述会议视频流返回给发送所述上一跳CDN节点,以供所述上一跳CDN节点将所述会议视频流返回给发起会议请求的会议终端。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述图5a所示方法实施例中可由网络节点执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,计算机程序/指令被执行时能够实现上述图5a所示方法实施例中可由网络节点执行的各步骤。
本申请实施例还提供一种网络节点,该网络节点的实现结构与图9a所示网络节点的实现结构相同或类似,可参照图9a所示网络节点的结构实现。本实施例提供的网络节点与图9a所示实施例中网络节点的区别主要在于:处理器执行存储器中存储的计算机程序所实现的功能不同。对本实施例提供的网络节点来说,其处理器执行存储器中存储的计算机程序,可用于:接收数据源端发送的音视频数据流;根据切分策略,将音视频数据流切分为至少一个流片段;为至少一个流片段分别生成第三追踪ID,第三追踪ID可唯一标识其所对应的流片段;以及将至少一个流片段及其对应的第三追踪ID发送给请求音视频数据流的网络节点。
在一可选实施例中,处理器在根据切分策略,将音视频数据流切分为至少一个流片段时,具体用于:根据音视频服务提供商的推流时间,将音视频数据流切分为至少一个流片段,不同流片段对应不同推流时间;和/或根据音视频数据流中的内容对象,将音视频数据流切分为至少一个流片段,不同流片段对应不同内容对象。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述图6所示方法实施例中可由网络节点执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,计算机程序/指令被执行时能够实现上述图6所示方法实施例中可由网络节点执行的各步骤。
本申请实施例还提供一种网络节点,该网络节点的实现结构与图9a所示网络节点的实现结构相同或类似,可参照图9a所示网络节点的结构实现。本实施例提供的网络节点与图9a所示实施例中网络节点的区别主要在于:处理器执行存储器中存储的计算机程序所实现的功能不同。对本实施例提供的网络节点来说,其处理器执行存储器中存储的计算机程序,可用于:接收播放端发送的播放请求,播放请求用于请求播放音视频数据流;向提供音视频数据流的下一跳网络节点发送延时探测请求,延时探测请求包括第一时间,第一时间是网络节点发送延时探测请求时的本地时间;接收下一跳网络节点返回的延时探测响应,延时探测响应包括第一时间;根据第二时间和第一时间,确定网络节点与下一跳网络节点之间的延时;第二时间是网络节点接收到延时探测响应时的本地时间。
在一可选实施例中,处理器还用于:接收下一跳网络节点返回的其到数据源端的延时;根据网络节点与下一跳网络节点之间的延时和下一跳网络节点到数据源端的延时,确定音视频数据流的链路延时。
在一可选实施例中,处理器还用于:输出音视频数据流的链路延时至播放端、服务端设备或音视频服务提供商;和/或根据链路延时,向音视频服务提供商推荐网络增值服务或网络改进建议,以供音视频服务提供商提升网络服务质量。
在一可选实施例中,网络节点为CDN节点,音视频数据流为直播流或视频会议中的会议视频流。
图9b为本申请示例性实施例提供的一种播放终端的结构示意图。如图9b所示,该播放终端包括:存储器94和处理器95。
存储器94,用于存储计算机程序,并可被配置为存储其它各种数据以支持在播放终端上的操作。这些数据的示例包括用于在播放终端上操作的任何应用程序或方法的指令。
存储器94可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器95,与存储器94耦合,用于执行存储器94中的计算机程序,以用于:响应用户发起的音视频播放操作,向网络节点发送播放请求,播放请求包括目标流标识,用于标识用户请求播放的音视频数据流;接收网络节点返回的音视频数据流以及第一追踪ID,第一追踪ID是网络节点生成的,用于唯一标识播放端;播放音视频数据流,并记录第一追踪ID与音视频数据流之间的对应关系。
在一可选实施例中,处理器还用于:接收网络节点返回的第二追踪ID,并记录第二追踪ID与音视频数据流之间的对应关系,第二追踪ID用于追踪目标路径上的节点,目标路径是网络节点规划出的用于获取音视频数据流的路径;和/或在音视频数据流包括至少一个流片段的情况下,接收网络节点返回的至少一个流片段各自对应的第三追踪ID,并记录第三追踪ID与至少一个流片段之间的对应关系。
在一可选实施例中,处理器还用于:响应于用户触发的问题反馈操作,向服务端设备发送问题反馈请求,问题反馈请求中包括第一追踪ID、第二追踪ID以及第三追踪ID中的至少一种追踪ID;接收服务端设备返回的问题原因信息,并输出问题原因信息,问题原因信息是服务端设备根据从日志数据库中获取到的与至少一种追踪ID对应的音视频数据流的日志数据分析得到的。
在一可选实施例中,处理器还用于:接收网络节点发送的音视频数据流的链路延时,并在播放界面上显示链路延时。
在一可选实施例中,处理器还用于:若链路延时大于设定的延时阈值,则显示与音视频数据流中即将播放的音视频内容相关的过渡性内容,以等待即将播放的音视频内容。
进一步,如图9b所示,该播放终端还包括:通信组件96b、显示器97b、电源组件98b、音频组件99b等其它组件。图9b中仅示意性给出部分组件,并不意味着播放终端只包括图9b所示组件。需要说明的是,图9b中虚线框内的组件为可选组件,而非必选组件,具体可视播放终端的产品形态而定。
在一可选实施例中,本实施例的播放终端可以应用于各种推拉流场景中,例如直播场景或视频会议场景中。
进一步,在本实施例的播放终端应用于直播场景时,其处理器执行存储器中存储的计算机程序,具体可实现以下操作:响应用户发起的直播播放操作,向CDN节点发送播放请求,所述播放请求包括目标流标识,用于标识用户请求播放的直播流;接收所述CDN节点返回的所述直播流以及第一追踪ID,所述第一追踪ID是所述CDN节点生成的,用于唯一标识播放端;播放所述直播流,并记录所述第一追踪ID与所述直播流之间的对应关系。
进一步,在本实施例的播放终端应用于视频会议场景时,其处理器执行存储器中存储的计算机程序,具体可实现以下操作:响应用户发起的参会操作,向CDN节点发送会议请求,所述会议请求包括会议标识,用于标识用户请求参加的视频会议;接收所述CDN节点返回的会议视频流以及第一追踪ID,所述第一追踪ID是所述CDN节点生成的,用于唯一标识发送所述会议请求的会议终端;播放所述会议视频流,并记录所述第一追踪ID与所述会议视频流之间的对应关系。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述图7a所示方法实施例中可由播放终端执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,计算机程序/指令被执行时能够实现上述图7a所示方法实施例中可由网络节点执行的各步骤。
上述图9a和图9b中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图9a和图9b中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图9a和图9b中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图9a和图9b中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (42)
1.一种音视频传输方法,适用于网络节点,其特征在于,包括:
接收播放端发送的播放请求,所述播放请求包括目标流标识,用于标识所述播放端请求播放的音视频数据流;
生成可唯一标识所述播放端的第一追踪ID,并记录所述第一追踪ID与所述音视频数据流之间的对应关系;
获取来自数据源端的所述音视频数据流,并将所述音视频数据流返回给所述播放端,以供所述播放端播放所述音视频数据流。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述第一追踪ID发送给所述播放端,以供所述播放端记录所述第一追踪ID与所述音视频数据流之间的对应关系。
3.根据权利要求1或2所述的方法,其特征在于,获取来自数据源端的所述音视频数据流,包括:
若本地不存在所述音视频数据流,规划获取所述音视频数据的目标路径,并生成第二追踪ID,所述第二追踪ID用于追踪所述目标路径上的节点;
向所述网络节点在所述目标路径上的下一跳网络节点发送获取请求,所述获取请求中包括所述第二追踪ID,以供所述下一跳网络节点记录所述第二追踪ID和所述音视频数据流之间的对应关系并返回所述音视频数据流;
接收所述下一跳网络节点返回的所述音视频数据流;其中,所述第二追踪ID对应于所述第一追踪ID。
4.根据权利要求3所述的方法,其特征在于,生成第二追踪ID,包括:
将所述第一追踪ID直接作为所述第二追踪ID;
或者
在所述第一追踪ID上添加关键字信息,作为所述第二追踪ID。
5.根据权利要求4所述的方法,其特征在于,在所述音视频数据流包括至少一个流片段的情况下,所述方法还包括:
接收所述下一跳网络节点返回的所述至少一个流片段各自对应的第三追踪ID,所述第三追踪ID可唯一标识其所对应的流片段;
记录所述第三追踪ID与所述音视频数据流中至少一个流片段之间的对应关系。
6.根据权利要求5所述的方法,其特征在于,还包括以下至少一种操作:
将所述第二追踪ID和所述第三追踪ID发送给所述播放端,以供所述播放端记录所述第二追踪ID和所述第三追踪ID与所述音视频数据流之间的对应关系;
将所述第一追踪ID、第二追踪ID以及所述第三追踪ID与所述音视频数据流之间的对应关系上报给服务端设备;
将所述音视频数据流在所述网络节点上的日志数据输出至日志数据库中,所述日志数据包括所述第一追踪ID、第二追踪ID以及所述第三追踪ID与所述音视频数据流之间的对应关系;
将所述第一追踪ID、第二追踪ID以及所述第三追踪ID与所述音视频数据流之间的对应关系输出给日志数据库的维护人员。
7.根据权利要求3所述的方法,其特征在于,还包括:
向所述下一跳网络节点发送延时探测请求,所述延时探测请求包括第一时间,所述第一时间是所述网络节点发送所述延时探测请求时的本地时间;
接收所述下一跳网络节点返回的延时探测响应,所述延时探测响应包括所述第一时间;
根据第二时间和所述第一时间,确定所述网络节点与所述下一跳网络节点之间的延时;所述第二时间是所述网络节点接收到所述延时探测响应时的本地时间。
8.根据权利要求7所述的方法,其特征在于,还包括:
接收所述下一跳网络节点返回的其到数据源端的延时;
根据所述网络节点与所述下一跳网络节点之间的延时和所述下一跳网络节点到数据源端的延时,确定所述音视频数据流的链路延时。
9.根据权利要求8所述的方法,其特征在于,还包括:
输出所述音视频数据流的链路延时至所述播放端、服务端设备或音视频服务提供商;
和/或
根据所述链路延时,向音视频服务提供商推荐网络增值服务或网络改进建议,以供所述音视频服务提供商提升网络服务质量。
10.一种基于内容分发网络CDN的直播流传输方法,适用于CDN节点,其特征在于,包括:
接收播放端发送的播放请求,所述播放请求包括目标流标识,用于标识所述播放端请求播放的直播流;
生成可唯一标识所述播放端的第一追踪ID,并记录所述第一追踪ID与所述直播流之间的对应关系;
获取来自于直播端的所述直播流,并将所述直播流返回给所述播放端,以供所述播放端播放所述直播流。
11.一种基于内容分发网络CDN的视频会议方法,适用于CDN节点,其特征在于,包括:
接收会议终端发送的会议请求,所述会议请求包括会议标识,用于标识会议视频流;
生成可唯一标识所述会议终端的第一追踪ID,并记录所述第一追踪ID与所述会议视频流之间的对应关系;
获取来自其它会议终端的所述会议视频流,并将所述会议视频流返回给所述会议终端,以供所述会议终端播放所述会议视频流。
12.一种音视频传输方法,适用于网络节点,其特征在于,包括:
接收第一获取请求,所述第一获取请求是所述网络节点在目标路径上的上一跳网络节点发送的,所述第一获取请求包括用于第二追踪ID;
记录所述第二追踪ID和音视频数据流之间的对应关系,所述第二追踪ID用于追踪所述目标路径上的节点的,所述目标路径是获取所述音视频数据流所需的路径;
获取所述音视频数据流,并将所述音视频数据流返回给发送所述上一跳网络节点,以供所述上一跳网络节点将所述音视频数据流返回给请求所述音视频数据流的播放端。
13.根据权利要求12所述的方法,其特征在于,获取所述音视频数据流,包括:
若本地不存在所述音视频数据流,向所述网络节点在所述目标路径上的下一跳网络节点发送第二获取请求,所述第二获取请求中包括所述第二追踪ID,以供所述下一跳网络节点记录所述第二追踪ID和所述音视频数据之间的对应关系并返回所述音视频数据;以及接收所述下一跳网络节点返回的所述音视频数据流。
14.根据权利要求13所述的方法,其特征在于,在所述音视频数据流包括至少一个流片段的情况下,所述方法还包括:
接收所述下一跳网络节点返回的所述至少一个流片段各自对应的第三追踪ID,所述第三追踪ID可唯一标识其所对应的流片段;
记录所述第三追踪ID与所述音视频数据流中至少一个流片段之间的对应关系;以及
将所述至少一个流片段各自对应的第三追踪ID发送给所述上一跳网络节点,以供所述上一跳网络节点记录所述第三追踪ID与所述至少一个流片段之间的对应关系。
15.根据权利要求12-14任一项所述的方法,其特征在于,还包括:
接收所述上一跳网络节点发送的第一延时探测请求,所述第一延时探测请求包括第一时间,所述第一时间是所述上一跳网络节点发送所述第一延时探测请求时的本地时间;
向所述上一跳网络节点返回第一延时探测响应,所述第一延时探测响应包括所述第一时间,以供所述上一跳网络节点根据所述第一时间和第二时间确定其与所述网络节点之间的延时;所述第二时间是所述上一跳网络节点接收到所述第一延时探测响应时的本地时间。
16.根据权利要求13或14所述的方法,其特征在于,还包括:
向所述下一跳网络节点发送第二延时探测请求,所述第二延时探测请求包括第三时间,所述第三时间是所述网络节点发送所述第二延时探测请求时的本地时间;
接收所述下一跳网络节点返回的第二延时探测响应,所述第二延时探测响应包括第三时间;
根据所述第三时间和第四时间,确定所述网络节点与所述下一跳网络节点之间的延时;所述第四时间是所述网络节点接收到所述第二延时探测响应时的本地时间。
17.根据权利要求16所述的方法,其特征在于,还包括:
接收所述下一跳网络节点返回的其到数据源端的延时;
根据所述网络节点与所述下一跳网络节点之间的延时和所述下一跳网络节点到数据源端的延时,确定所述网络节点到数据源端的延时;
将所述网络节点到数据源端的延时发送给所述上一跳网络节点,以供所述上一跳网络节点确定其到数据源端的延时。
18.一种基于内容分发网络CDN的直播流传输方法,适用于CDN节点,其特征在于,包括:
接收第一获取请求,所述第一获取请求是所述CDN节点在回源路径上的上一跳CDN节点发送的,所述第一获取请求包括用于第二追踪ID;
记录所述第二追踪ID和直播流之间的对应关系,所述第二追踪ID用于追踪所述回源路径上的CDN节点的,所述回源路径是获取所述直播流所需的路径;
获取来自直播端的所述直播流,并将所述直播流返回给发送所述上一跳CDN节点,以供所述上一跳CDN节点将所述直播流返回给请求所述直播流的播放端。
19.一种基于内容分发网络CDN的视频会议方法,适用于CDN节点,其特征在于,包括:
接收第一获取请求,所述第一获取请求是所述CDN节点在回源路径上的上一跳CDN节点发送的,所述第一获取请求包括用于第二追踪ID;
记录所述第二追踪ID和会议视频流之间的对应关系,所述第二追踪ID用于追踪所述回源路径上的CDN节点的,所述回源路径是获取所述会议视频流所需的路径;
获取来自其它会议终端的所述会议视频流,并将所述会议视频流返回给发送所述上一跳CDN节点,以供所述上一跳CDN节点将所述会议视频流返回给发起会议请求的会议终端。
20.一种音视频传输方法,适用于网络节点,其特征在于,包括:
接收数据源端发送的音视频数据流;
根据切分策略,将所述音视频数据流切分为至少一个流片段;
为所述至少一个流片段分别生成第三追踪ID,所述第三追踪ID可唯一标识其所对应的流片段;以及
将所述至少一个流片段及其对应的第三追踪ID发送给请求所述音视频数据流的网络节点。
21.根据权利要求20所述的方法,其特征在于,根据切分策略,将所述音视频数据流切分为至少一个流片段,包括:
根据音视频服务提供商的推流时间,将所述音视频数据流切分为至少一个流片段,不同流片段对应不同推流时间;
和/或
根据音视频数据流中的内容对象,将所述音视频数据流切分为至少一个流片段,不同流片段对应不同内容对象。
22.一种音视频播放方法,其特征在于,包括:
响应用户发起的音视频播放操作,向网络节点发送播放请求,所述播放请求包括目标流标识,用于标识用户请求播放的音视频数据流;
接收所述网络节点返回的所述音视频数据流以及第一追踪ID,所述第一追踪ID是所述网络节点生成的,用于唯一标识播放端;
播放所述音视频数据流,并记录所述第一追踪ID与所述音视频数据流之间的对应关系。
23.根据权利要求22所述的方法,其特征在于,还包括:
接收所述网络节点返回的第二追踪ID,并记录所述第二追踪ID与所述音视频数据流之间的对应关系,所述第二追踪ID用于追踪目标路径上的节点,所述目标路径是所述网络节点规划出的用于获取所述音视频数据流的路径;
和/或
在所述音视频数据流包括至少一个流片段的情况下,接收所述网络节点返回的至少一个流片段各自对应的第三追踪ID,并记录所述第三追踪ID与所述至少一个流片段之间的对应关系。
24.根据权利要求23所述的方法,其特征在于,还包括:
响应于用户触发的问题反馈操作,向服务端设备发送问题反馈请求,所述问题反馈请求中包括第一追踪ID、所述第二追踪ID以及所述第三追踪ID中的至少一种追踪ID;
接收所述服务端设备返回的问题原因信息,并输出所述问题原因信息,所述问题原因信息是所述服务端设备根据从日志数据库中获取到的与所述至少一种追踪ID对应的所述音视频数据流的日志数据分析得到的。
25.根据权利要求22-24任一项所述的方法,其特征在于,还包括:
接收所述网络节点发送的所述音视频数据流的链路延时,并在播放界面上显示所述链路延时。
26.根据权利要求25所述的方法,其特征在于,还包括:
若所述链路延时大于设定的延时阈值,则显示与所述音视频数据流中即将播放的音视频内容相关的过渡性内容,以等待即将播放的音视频内容。
27.一种基于内容分发网络CDN的直播播放方法,其特征在于,包括:
响应用户发起的直播播放操作,向CDN节点发送播放请求,所述播放请求包括目标流标识,用于标识用户请求播放的直播流;
接收所述CDN节点返回的所述直播流以及第一追踪ID,所述第一追踪ID是所述CDN节点生成的,用于唯一标识播放端;
播放所述直播流,并记录所述第一追踪ID与所述直播流之间的对应关系。
28.一种基于内容分发网络CDN的视频会议方法,其特征在于,包括:
响应用户发起的参会操作,向CDN节点发送会议请求,所述会议请求包括会议标识,用于标识用户请求参加的视频会议;
接收所述CDN节点返回的会议视频流以及第一追踪ID,所述第一追踪ID是所述CDN节点生成的,用于唯一标识发送所述会议请求的会议终端;
播放所述会议视频流,并记录所述第一追踪ID与所述会议视频流之间的对应关系。
29.一种网络延时探测方法,适用于网络节点,其特征在于,包括:
接收播放端发送的播放请求,所述播放请求用于请求播放音视频数据流;
向提供所述音视频数据流的下一跳网络节点发送延时探测请求,所述延时探测请求包括第一时间,所述第一时间是所述网络节点发送所述延时探测请求时的本地时间;
接收所述下一跳网络节点返回的延时探测响应,所述延时探测响应包括所述第一时间;
根据第二时间和所述第一时间,确定所述网络节点与所述下一跳网络节点之间的延时;所述第二时间是所述网络节点接收到所述延时探测响应时的本地时间。
30.根据权利要求29所述的方法,其特征在于,还包括:
接收所述下一跳网络节点返回的其到数据源端的延时;
根据所述网络节点与所述下一跳网络节点之间的延时和所述下一跳网络节点到数据源端的延时,确定所述音视频数据流的链路延时。
31.根据权利要求30所述的方法,其特征在于,还包括:
输出所述音视频数据流的链路延时至所述播放端、服务端设备或音视频服务提供商;
和/或
根据所述链路延时,向音视频服务提供商推荐网络增值服务或网络改进建议,以供所述音视频服务提供商提升网络服务质量。
32.根据权利要求29-31任一项所述的方法,其特征在于,所述网络节点为CDN节点,所述音视频数据流为直播流或视频会议中的会议视频流。
33.一种网络节点,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
接收播放端发送的播放请求,所述播放请求包括目标流标识,用于标识所述播放端请求播放的音视频数据流;
生成可唯一标识所述播放端的第一追踪ID,并记录所述第一追踪ID与所述音视频数据流之间的对应关系;
获取来自数据源端的所述音视频数据流,并将所述音视频数据流返回给所述播放端,以供所述播放端播放所述音视频数据流。
34.一种网络节点,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
接收第一获取请求,所述第一获取请求是所述网络节点在目标路径上的上一跳网络节点发送的,所述第一获取请求包括第二追踪ID;
记录所述第二追踪ID和音视频数据流之间的对应关系,所述第二追踪ID用于追踪所述目标路径上的节点的,所述目标路径是获取所述音视频数据流所需的路径;
获取所述音视频数据流,并将所述音视频数据流返回给发送所述上一跳网络节点,以供所述上一跳网络节点将所述音视频数据流返回给请求所述音视频数据流的播放端。
35.一种网络节点,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
接收数据源端发送的音视频数据流;
根据切分策略,将所述音视频数据流切分为至少一个流片段;
为所述至少一个流片段分别生成第三追踪ID,所述第三追踪ID可唯一标识其所对应的流片段;以及
将所述至少一个流片段及其对应的第三追踪ID发送给请求所述音视频数据流的网络节点。
36.一种网络节点,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
接收播放端发送的播放请求,所述播放请求用于请求播放音视频数据流;
向提供所述音视频数据流的下一跳网络节点发送延时探测请求,所述延时探测请求包括第一时间,所述第一时间是所述网络节点发送所述延时探测请求时的本地时间;
接收所述下一跳网络节点返回的延时探测响应,所述延时探测响应包括所述第一时间;
根据第二时间和所述第一时间,确定所述网络节点与所述下一跳网络节点之间的延时;所述第二时间是所述网络节点接收到所述延时探测响应时的本地时间。
37.一种播放终端,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
响应用户发起的音视频播放操作,向网络节点发送播放请求,所述播放请求包括目标流标识,用于标识用户请求播放的音视频数据流;
接收所述网络节点返回的所述音视频数据流以及第一追踪ID,所述第一追踪ID是所述网络节点生成的,用于唯一标识播放端;
播放所述音视频数据流,并记录所述第一追踪ID与所述音视频数据流之间的对应关系。
38.一种数据传输方法,适用于网络节点,其特征在于,包括:
接收数据接收端发送的数据请求,所述数据请求包括数据标识,用于标识所述数据接收端请求的目标数据;
生成可唯一标识所述数据接收端的第一追踪ID,并记录所述第一追踪ID与所述目标数据之间的对应关系;
获取来自数据源端的所述目标数据,并将所述目标数据返回给所述数据接收端。
39.根据权利要求38所述的方法,其特征在于,获取来自数据源端的所述目标数据,包括:
若本地不存在所述目标数据,规划获取所述目标数据的目标路径,并生成第二追踪ID,所述第二追踪ID用于追踪所述目标路径上的节点;
向所述网络节点在所述目标路径上的下一跳网络节点发送获取请求,所述获取请求中包括所述第二追踪ID,以供所述下一跳网络节点记录所述第二追踪ID和所述目标数据之间的对应关系并返回所述目标数据;
接收所述下一跳网络节点返回的所述目标数据;其中,所述第二追踪ID对应于所述第一追踪ID。
40.根据权利要求39所述的方法,其特征在于,在所述目标数据包括至少一个数据片段的情况下,所述方法还包括:
接收所述下一跳网络节点返回的所述至少一个数据片段各自对应的第三追踪ID,所述第三追踪ID可唯一标识其所对应的数据片段;
记录所述第三追踪ID与所述目标数据中至少一个数据片段之间的对应关系。
41.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-32以及38-40中任一项所述方法中的步骤。
42.一种计算机程序产品,包括计算机程序/指令,其特征在于,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现权利要求1-32以及38-40中任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191754.XA CN113301397A (zh) | 2021-02-19 | 2021-02-19 | 基于cdn的音视频传输、播放与延时探测方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191754.XA CN113301397A (zh) | 2021-02-19 | 2021-02-19 | 基于cdn的音视频传输、播放与延时探测方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113301397A true CN113301397A (zh) | 2021-08-24 |
Family
ID=77318989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110191754.XA Pending CN113301397A (zh) | 2021-02-19 | 2021-02-19 | 基于cdn的音视频传输、播放与延时探测方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113301397A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114339419A (zh) * | 2021-12-29 | 2022-04-12 | 青岛海信移动通信技术股份有限公司 | 一种视频流拉流处理的方法、装置及存储介质 |
CN114448871A (zh) * | 2021-12-23 | 2022-05-06 | 天翼云科技有限公司 | 一种用于cdn的数据反馈选路方法及系统 |
CN115002518A (zh) * | 2022-05-30 | 2022-09-02 | 咪咕视讯科技有限公司 | 数据监测方法、装置及计算机可读存储介质 |
CN115297364A (zh) * | 2022-07-27 | 2022-11-04 | 北京奇艺世纪科技有限公司 | 一种云游戏视频传输时延的确定方法、系统及电子设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050110870A1 (en) * | 2003-11-25 | 2005-05-26 | Gia-Hung Tsai | System and method for object tracking path generation |
CN101695171A (zh) * | 2009-10-16 | 2010-04-14 | 中兴通讯股份有限公司 | 通过流控制传输协议测量网络传输质量的方法和装置 |
CN103947216A (zh) * | 2011-09-23 | 2014-07-23 | 谷歌公司 | 视频分段呈现跟踪 |
CN104185016A (zh) * | 2013-05-22 | 2014-12-03 | 华为技术有限公司 | Ott视频质量监控方法、装置及系统 |
CN106776130A (zh) * | 2016-11-30 | 2017-05-31 | 华为技术有限公司 | 一种日志恢复方法、存储装置和存储节点 |
CN107888966A (zh) * | 2016-09-29 | 2018-04-06 | 上海轶果信息科技有限公司 | 一种广告播放设备的工作日志及其获取方法 |
CN108173706A (zh) * | 2017-11-29 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种多业务系统下的业务标记方法、装置及设备 |
CN108462598A (zh) * | 2017-02-21 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种日志生成方法、日志分析方法及装置 |
US20190349481A1 (en) * | 2018-05-11 | 2019-11-14 | Level 3 Communications, Llc | System and method for tracing a communications path over a network |
CN110741651A (zh) * | 2017-07-27 | 2020-01-31 | 谷歌有限责任公司 | 用于呈现指示推荐内容的通知的方法、系统和介质 |
CN111625431A (zh) * | 2019-02-28 | 2020-09-04 | 华为技术有限公司 | 一种日志信息生成方法、装置及电子设备 |
-
2021
- 2021-02-19 CN CN202110191754.XA patent/CN113301397A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050110870A1 (en) * | 2003-11-25 | 2005-05-26 | Gia-Hung Tsai | System and method for object tracking path generation |
CN101695171A (zh) * | 2009-10-16 | 2010-04-14 | 中兴通讯股份有限公司 | 通过流控制传输协议测量网络传输质量的方法和装置 |
CN103947216A (zh) * | 2011-09-23 | 2014-07-23 | 谷歌公司 | 视频分段呈现跟踪 |
CN104185016A (zh) * | 2013-05-22 | 2014-12-03 | 华为技术有限公司 | Ott视频质量监控方法、装置及系统 |
CN107888966A (zh) * | 2016-09-29 | 2018-04-06 | 上海轶果信息科技有限公司 | 一种广告播放设备的工作日志及其获取方法 |
CN106776130A (zh) * | 2016-11-30 | 2017-05-31 | 华为技术有限公司 | 一种日志恢复方法、存储装置和存储节点 |
CN108462598A (zh) * | 2017-02-21 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种日志生成方法、日志分析方法及装置 |
CN110741651A (zh) * | 2017-07-27 | 2020-01-31 | 谷歌有限责任公司 | 用于呈现指示推荐内容的通知的方法、系统和介质 |
CN108173706A (zh) * | 2017-11-29 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种多业务系统下的业务标记方法、装置及设备 |
US20190349481A1 (en) * | 2018-05-11 | 2019-11-14 | Level 3 Communications, Llc | System and method for tracing a communications path over a network |
CN111625431A (zh) * | 2019-02-28 | 2020-09-04 | 华为技术有限公司 | 一种日志信息生成方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
廖梦泽;杨宇航;: "追踪路由算法在P2P流媒体节点分配的研究", 信息安全与通信保密, no. 01, 10 January 2008 (2008-01-10) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448871A (zh) * | 2021-12-23 | 2022-05-06 | 天翼云科技有限公司 | 一种用于cdn的数据反馈选路方法及系统 |
CN114448871B (zh) * | 2021-12-23 | 2023-11-03 | 天翼云科技有限公司 | 一种用于cdn的数据反馈选路方法及系统 |
CN114339419A (zh) * | 2021-12-29 | 2022-04-12 | 青岛海信移动通信技术股份有限公司 | 一种视频流拉流处理的方法、装置及存储介质 |
CN114339419B (zh) * | 2021-12-29 | 2024-04-02 | 青岛海信移动通信技术有限公司 | 一种视频流拉流处理的方法、装置及存储介质 |
CN115002518A (zh) * | 2022-05-30 | 2022-09-02 | 咪咕视讯科技有限公司 | 数据监测方法、装置及计算机可读存储介质 |
CN115002518B (zh) * | 2022-05-30 | 2024-03-22 | 咪咕视讯科技有限公司 | 数据监测方法、装置及计算机可读存储介质 |
CN115297364A (zh) * | 2022-07-27 | 2022-11-04 | 北京奇艺世纪科技有限公司 | 一种云游戏视频传输时延的确定方法、系统及电子设备 |
CN115297364B (zh) * | 2022-07-27 | 2024-01-23 | 北京奇艺世纪科技有限公司 | 一种云游戏视频传输时延的确定方法、系统及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220232289A1 (en) | Crowdsourcing Supplemental Content | |
USRE47774E1 (en) | Synchronized viewing of media content | |
CN113301397A (zh) | 基于cdn的音视频传输、播放与延时探测方法及设备 | |
US8539106B2 (en) | Server for aggregating search activity synchronized to time-based media | |
US11271979B2 (en) | Determining location within video content for presentation to a user | |
US20240292055A1 (en) | System and Method for Dynamic Playback Switching of Live and Previously Recorded Audio Content | |
US20230300430A1 (en) | Method and system to highlight video segments in a video stream | |
US11777871B2 (en) | Delivery of multimedia components according to user activity | |
US11979447B2 (en) | Method and system for monitoring streaming | |
CN117499688B (zh) | 直播连麦中音视频合流处理方法、设备及存储介质 | |
KR102065035B1 (ko) | 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치 |
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 |