CN113141513B - 直播流的拉流方法、装置、电子设备及存储介质 - Google Patents

直播流的拉流方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113141513B
CN113141513B CN202010051613.3A CN202010051613A CN113141513B CN 113141513 B CN113141513 B CN 113141513B CN 202010051613 A CN202010051613 A CN 202010051613A CN 113141513 B CN113141513 B CN 113141513B
Authority
CN
China
Prior art keywords
stream
live
live stream
source
target
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.)
Active
Application number
CN202010051613.3A
Other languages
English (en)
Other versions
CN113141513A (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 Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010051613.3A priority Critical patent/CN113141513B/zh
Priority to PCT/CN2021/072280 priority patent/WO2021143881A1/zh
Priority to EP21741960.5A priority patent/EP4084482A4/en
Publication of CN113141513A publication Critical patent/CN113141513A/zh
Application granted granted Critical
Publication of CN113141513B publication Critical patent/CN113141513B/zh
Priority to US17/866,267 priority patent/US20220353552A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2747Remote storage of video programs received via the downstream path, e.g. from the server
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Abstract

本公开关于一种直播流的拉流方法、装置、电子设备及存储介质,该方法包括:接收第三方业务客户端发送的目标直播流的第三方业务拉流请求,根据第三方业务拉流请求,确定目标直播流的源业务域名以及直播流名,根据源业务域名以及直播流名,在本地直播流中查找目标流直播流,当本地直播流存在目标直播流,将拉取到的目标直播流转发至第三方业务客户端。本公开实现在第三方业务平台新增直播业务时,无需将源业务平台生产的直播流保存至第三方业务平台的源站中,与源业务平台共享直播流,无需生产直播流,直接获取内容分发网络的边缘节点所拉取的源业务平台的直播流源站中直播流,复用源业务平台已有直播流,减少直播流拉流时长,提高拉流效率。

Description

直播流的拉流方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种直播流的拉流方法、装置、电子设备及存储介质。
背景技术
随着网络技术的发展,在线观看网络直播的用户越来越多,除了现有的直播平台,越来越多的第三方业务平台也加入了直播业务。当用户通过第三方业务平台的客户端观看网络直播时,往往需要将现有直播平台生成直播流保存至第三方业务平台的源站中,再由第三方业务平台的客户端从第三方业务平台的源站中拉取直播流,导致直播流的拉流过程耗时长,直播流的获取效率低。
发明内容
本公开提供一种直播流的拉流方法、装置及系统,以至少解决相关技术中第三方业务平台的源站中拉取直播流耗时长,直播流的获取效率低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种直播流的拉流方法,内容分发网络的边缘节点,所述方法包括:
接收第三方业务客户端发送的目标直播流的第三方业务拉流请求;
根据所述第三方业务拉流请求,确定所述目标直播流的源业务域名以及直播流名;
根据所述源业务域名以及直播流名,在本地直播流中查找所述目标流直播流;
当所述本地直播流存在所述目标直播流,将所述本地直播流中的目标直播流转发至所述第三方业务客户端。
在其中一个实施例中,所述根据所述源业务域名以及直播流名,在本地直播流中查找所述目标流直播流的步骤之后,还包括:
当所述本地直播流不存在所述目标直播流,根据所述源业务域名以及直播流名生成源业务拉流请求;
根据所述源业务拉流请求回源至上层节点中拉取所述目标直播流,使得所述上层节点转发所述目标直播流;
接收所述上层节点转发的所述目标直播流,并转发至所述第三方业务客户端。
在其中一个实施例中,所述上层节点包括所述边缘节点上一级的第一上层节点;所述根据所述源业务拉流请求回源至上层节点中拉取所述目标直播流的步骤,包括:
将所述源业务拉流请求发送至上一级的第一上层节点,使得所述第一上层节点根据所述源业务拉流请求在所述第一上层节点的本地直播流中查找所述目标直播流;
当所述第一上层节点的本地直播流存在所述目标直播流,接收所述第一上层节点转发的目标直播流,其中,所述目标直播流是由所述第一上层节点复用所述目标直播流的回源链路拉取的。
在其中一个实施例中,所述将所述源业务拉流请求发送至上一级的第一上层节点,使得所述第一上层节点根据所述源业务拉流请求在所述第一上层节点的本地直播流中查找所述目标直播流的步骤之后,还包括:
当所述第一上层节点的本地直播流不存在所述目标直播流,通过所述第一上层节点将所述源业务拉流请求发送至与所述第一上层节点同级的第二上层节点,使得所述第二上层节点根据所述源业务拉流请求在所述第二上层节点的本地直播流中查找所述目标直播流;
当所述第二上层节点的本地直播流存在所述目标直播流,通过所述第一上层节点获取所述第二上层节点拉取的目标直播流,其中,所述目标直播流是所述第二上层节点复用所述目标直播流的回源链路拉取的。
在其中一个实施例中,所述根据所述源业务拉流请求回源至上层节点中拉取所述目标直播流的步骤之后,还包括:
当所述第二上层节点的本地直播流不存在所述目标直播流,根据所述源业务拉流请求逐级回源至直播源站或内容分发网络的源节点中,从所述直播源站或所述源节点中拉取所述目标直播流。
在其中一个实施例中,所述第三方业务拉流请求包括第三方业务域名、直播流名以及源业务域名。
根据本公开实施例的第二方面,提供一种直播流的拉流方法,应用于第三方业务客户端,所述方法包括:
获取目标直播流的源业务域名以及直播流名;
根据所述源业务域名以及所述直播流名生成第三方业务拉流请求;
将所述第三方业务拉流请求发送至内容分发网络中边缘节点,使得所述边缘节点根据第三方业务拉流请求中的源业务域名以及直播流名在本地直播流中查找所述目标流直播流,并在所述本地直播流存在所述目标直播流时,将所述本地直播流中的目标直播流转发至所述第三方业务客户端;
接收所述边缘节点转发的目标直播流。
根据本公开实施例的第三方面,提供一种直播流的拉流装置,包括;
请求获取单元,被配置为执行接收第三方业务客户端发送的目标直播流的第三方业务拉流请求;
域名获取单元,被配置为执行根据所述第三方业务拉流请求,确定所述目标直播流的源业务域名以及直播流名;
直播流查找单元,被配置为执行根据所述源业务域名以及直播流名,在本地直播流中查找所述目标流直播流;
第一直播流转发单元,被配置为执行在所述本地直播流存在所述目标直播流时,将所述本地直播流中的目标直播流转发至所述第三方业务客户端。
在其中一个实施例中,直播流的拉流装置还包括:
请求生成单元,被配置为执行在所述本地直播流不存在所述目标直播流时,根据所述源业务域名以及直播流名生成源业务拉流请求;
请求回源单元,被配置为执行根据所述源业务拉流请求回源至上层节点中拉取所述目标直播流,使得所述上层节点转发所述目标直播流;
第二直播流拉取单元,被配置为执行接收所述上层节点转发的所述目标直播流,并转发至所述第三方业务客户端。
在其中一个实施例中,所述上层节点包括所述边缘节点上一级的第一上层节点;所述请求回源单元,具体被配置为执行:
将所述源业务拉流请求发送至上一级的第一上层节点,使得所述第一上层节点根据所述源业务拉流请求在所述第一上层节点的本地直播流中查找所述目标直播流;
在所述第一上层节点的本地直播流存在所述目标直播流时,接收所述第一上层节点转发的目标直播流,其中,所述目标直播流是由所述第一上层节点复用所述目标直播流的回源链路拉取的。
在其中一个实施例中,所述请求回源单元,具体被配置为执行:
在所述第一上层节点的本地直播流不存在所述目标直播流时,通过所述第一上层节点将所述源业务拉流请求发送至与所述第一上层节点同级的第二上层节点,使得所述第二上层节点根据所述源业务拉流请求在所述第二上层节点的本地直播流中查找所述目标直播流;
在所述第二上层节点的本地直播流存在所述目标直播流时,获取所述第二上层节点拉取的目标直播流,其中,所述目标直播流是所述第二上层节点复用所述目标直播流的回源链路拉取的。
根据本公开实施例的第四方面,提供一种直播流的拉流装置,包括;
信息获取单元,被配置执行获取目标直播流的源业务域名以及直播流名;
请求生成单元,被配置执行根据所述源业务域名以及所述直播流名生成第三方业务拉流请求;
请求发送单元,被配置执行将所述第三方业务拉流请求发送至内容分发网络中边缘节点,使得所述边缘节点根据第三方业务拉流请求中的源业务域名以及直播流名在本地直播流中查找所述目标流直播流,并在所述本地直播流存在所述目标直播流时,将所述本地直播流中的目标直播流转发至所述第三方业务客户端;
直播流获取单元,被配置执行接收所述边缘节点转发的目标直播流。
根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现执行如上所述的直播流的拉流方法。
根据本公开实施例的第六方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上所述的直播流的拉流方法。
本公开的实施例提供的技术方案至少带来以下有益效果:在第三方业务平台新增直播业务时,无需将源业务平台生产的直播流保存至第三方业务平台的源站中,直接获取内容分发网络的边缘节点所拉取的源业务平台的直播流源站中直播流,复用源业务平台已有直播流,与源业务平台共享直播流,无需生产直播流,减少直播流拉流时长,提高拉流效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1a是根据一示例性实施例示出的内容分发网络中直播流的数据流向示意图。
图1b是根据一示例性实施例示出的直播流的拉流方法的应用环境图。
图2是根据一示例性实施例示出的直播流的拉流方法的流程图。
图3是根据另一示例性实施例示出的直播流的拉流方法的流程图。
图4是根据一示例性实施例示出的直播流的拉流方法的时序图。
图5是根据一示例性实施例示出的一种直播流的拉流装置框图。
图6是根据另一示例性实施例示出的一种直播流的拉流装置框图。
图7是根据一示例性实施例示出的电子设备的框图。
图8是根据一示例性实施例示出的边缘节点的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
内容分发网络(Content Delivery Network),通过在网络各处放置节点服务器、所构成的在现有互联网基础之上的一层虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载情况以及到用户的距离和响应时间等综合信息将用户请求重新导向离用户最近的服务节点上,使用户能够就近获取所需内容,解决网络拥挤状况,提高用户访问响应速度和命中率;适用于站点加速、点播、直播等场景。其中,应用于直播场景中,直播流的数据流向如图1a所示,图1a中,直播发起用户录制直播视频,生成直播流;直播流通过上行节点发送至直播源站中;后续直播观看用户通过终端设备发起直播观看请求至内容分发网络的边缘节点,通过内容分发网络逐级回源至直播流源站中拉取直播流。
本公开所提供的直播流的拉流方法,可以应用于如图1b所示的应用环境图中,其中,终端可以与离其最近的边缘节点通过网络进行连接,例如,终端110a可以与离其最近的边缘节点120a进行连接,终端110b可以与离其最近的边缘节点120b进行连接。以终端110a为例,终端110a上安装有第三方业务客户端,终端110a通过第三方业务客户端发送的第三方业务拉流请求至边缘节点120a;边缘节点120a在获取到第三方业务拉流请求后,根据第三方业务拉流请求,确定目标直播流的源业务域名以及直播流名;根据源业务域名以及直播流名,在本地直播流中查找目标流直播流;当本地直播流存在目标直播流,边缘节点120a直接将本地直播流中的目标直播流转发至第三方业务客户端所在的终端110a中,使得终端110a通过第三方业务客户端播放目标直播流,使得内容分发网络中复用边缘节点拉120a取目标直播流至第三方业务客户端所在的终端110a,使得内容分发网络直接复用目标直播流的原有的回源链路,最大程度复用直播流热度,减少回源,减少直播流拉流时长,提高拉流效率。其中,终端具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。边缘节点可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2是根据一示例性实施例示出的直播流的拉流方法的流程图,如图2所示,直播流的拉流方法,用于边缘节点中,包括以下步骤。
在步骤S210中,接收第三方业务客户端发送的目标直播流的第三方业务拉流请求。
其中,第三方业务客户端,是指除生产直播流的源业务平台以外的业务平台的客户端;第三方业务拉流请求是指由第三方业务客户端发起的、拉取目标直播流的请求,可以是根据第三方业务客户端拉取目标直播流的拉流地址生成的。
其中,直播发起方用户在源业务平台发起的直播,而直播观看方用户通过第三方业务平台观看该直播发起方用户的直播,此时,直播观看方用户通过第三方业务客户端,向内容分发网络中的边缘节点发起第三方业务拉流请求,边缘节点接收到第三方业务拉流请求后,从源业务平台的直播流源站中拉取直播流,并将拉取到的直播流返回给第三方业务客户端,使得直播观看方用户可以观看对应的直播。具体地,第三业务客户端根据目标直播流的源业务域名以及目标直播流的直播流名,生成第三方业务拉流请求,并将第三方业务拉流请求发送至内容分发网络的边缘节点对应的服务器中,边缘节点的服务器接收第三方业务客户端发送的第三方业务拉流请求。
在步骤S220中,根据第三方业务拉流请求,确定目标直播流的源业务域名以及直播流名。
其中,源业务域名是指生产目标直播流的源业务平台的域名;直播流名是直播流唯一的唯一标识。在接受到第三方业务拉流请求后,边缘节点的服务器对第三方业务拉流请求进行解析,从第三方业务拉流请求中获取目标直播流所在源业务平台的域名,以及目标直播流的直播流名。
在一个实施例中,第三方业务拉流请求包括第三方业务域名、约定路径、直播流名、鉴权信息以及源业务域名;其中,第三方业务域名是指新建直播业务的第三方平台所在域名;约定路径为业务方与CDN厂商约定的静态标识。
对于目标直播流,直播发起方用户在源业务平台发起的直播,其直播流推流至源业务平台的直播流源站,而第三方业务平台的直播观众希望从源业务平台的直播流源站中拉取直播流,此时第三方业务客户端在拉流请求中增加一个共享业务方参数,该参数标记为shareHost,该参数的参数值是目标直播流所在的源业务平台的域名;具体地,第三方业务拉流请求具体可以如下:
http://第三方业务域名/约定路径/{直播流名}?{鉴权信息等参数}&shareHost={源业务域名}。
在步骤S230中,根据源业务域名以及直播流名,在本地直播流中查找目标流直播流。
其中,边缘节点在获取到目标直播流的源业务域名以及直播流名后,边缘节点从本地直播流中查找源业务域名下相同直播流名的直播流。
其中,边缘节点的本地直播流为历史拉取过的直播流。具体地,边缘节点在获取到目标直播流的源业务域名以及直播流名后,将目标直播流的源业务域名以及直播流名,分别与本地直播流的业务域名以及直播流名进行对比,在本地直播流中查找业务域名与目标直播流的源业务域名一致、直播流名与目标直播流的直播流名一致的直播流。
在步骤S240中,当本地直播流存在目标直播流,将本地直播流中的目标直播流转发至第三方业务客户端。
其中,当边缘节点从本地直播流中查找到相同源业务域名、相同直播流名的直播流,边缘节点将该目标直播流转发至第三方业务客户端。
具体地,边缘节点将目标直播流的源业务域名以及直播流名,分别与本地直播流的业务域名以及直播流名进行对比,当在本地直播流中查找到业务域名与目标直播流的源业务域名一致、直播流名与目标直播流的直播流名一致的直播流时,该直播流为目标直播流,并将该目标直播流转发至第三方业务客户端。
例如,假设源业务平台为快手直播平台,其域名(即源业务域名)对应为domainB,第三方业务平台为A站,其域名(即第三方业务域名)为domainA;其中,快手直播平台的直播流源站中存在一个直播流kwai,对于快手直播平台的任意用户想要观看直播流kwai,用户可通过快手平台的客户端发送源业务拉流请求至内容分发网络中的边缘节点中,边缘节点根据源业务拉流请求逐级回源至源业务平台的直播流源站中,拉取直播流kwai。其中,源业务拉流请求为:http://domainB/app/kwai.flv?timestamp&signature。边缘节点在拉取到直播流kwai后,将直播流kwai转发至快手平台的客户端,以供用户观看。
此时,对于新增直播业务的第三方业务平台A站的任意用户想要观看快手直播平台中的直播流kwai时,该用户在第三方业务客户端触发直播流kwai的观看事件,使得第三方业务客户端根据直播流kwai所在源业务域名以及直播流名,生成第三方业务拉流请求,并将第三方业务拉流请求发送至内容分发网络中的边缘节点中,其中,第三方业务拉流请求为:http://domianA/app/kwai.flv?timestamp&signature&shareHost=domainB,边缘节点接收到第三方业务客户端的请求后,对第三方业务拉流请求进行参数解析,获取直播流kwai的源业务域名以及直播流名,由于边缘节点此前已拉取过一次直播流kwai,即边缘节点的本地直播流中已存在快手直播平台对应域名下的直播流kwai,边缘节点直接复用直播流kwai,将直播流kwai转发至第三方业务客户端,以供用户观看。可以理解的是,内容分发网络中复用边缘节点拉取直播流kwai至第三方业务客户端,内容分发网络最大程度复用直播流热度,减少回源,提供为用户低延迟、更流畅的观看体验。
上述直播流的拉流方法,接收第三方业务客户端发送的目标直播流的第三方业务拉流请求,根据第三方业务拉流请求,确定目标直播流的源业务域名以及直播流名,根据源业务域名以及直播流名,在本地直播流中查找目标流直播流,当本地直播流存在目标直播流,将拉取到的目标直播流转发至第三方业务客户端,实现在第三方业务平台新增直播业务时,无需将源业务平台生产的直播流保存至第三方业务平台的源站中,直接获取内容分发网络的边缘节点所拉取的源业务平台的直播流源站中直播流,通过内容分发网络与源业务平台共享直播流,无需生产直播流,减少直播流拉流时长,提高拉流效率。
在一个实施例中,根据源业务域名以及直播流名,在本地直播流中查找目标流直播流的步骤之后,还包括:当本地直播流不存在目标直播流,根据源业务域名以及直播流名生成源业务拉流请求;根据源业务拉流请求回源至上层节点中拉取目标直播流,使得上层节点转发目标直播流;接收上层节点转发的目标直播流,并转发至第三方业务客户端。
其中,源业务拉流请求是指源业务平台的用户从直播流源站中拉取直播流的请求。
具体地,在边缘节点的本地直播流中不存在目标直播流时,边缘节点可以根据第三方业务拉流请求中的源业务域名以及直播流名,生成源业务拉流请求,然后根据源业务拉流请求,回源至上层节点中;上层节点在接收到源业务拉流请求后,上层节点可以解析源业务拉流请求获取目标直播流的源业务域名以及直播流名,然后从上层节点的本地直播流中查找与目标直播流的源业务域名一致、直播流名与目标直播流的直播流名一致的直播流;也可以根据源业务拉流请求继续逐级回源至源业务平台的直播流源站中,从源业务平台的直播流源站中拉流目标直播流。在上层节点获取到目标直播流后,上层节点将目标直播流转发至边缘节点中,由边缘节点将目标直播流转发至第三方业务客户端中进行播放。
本实施例中,当边缘节点的本地直播流无目标直播流时,可以通过边缘节点在内容分发网络中回源至上层节点中拉取目标直播流,实现直接获取上层节点所拉取的源业务平台直播流源站的目标直播流,或通过上层节点回源至源业务平台的直播流源站拉取目标直播流,内容分发网络最大程度复用直播流热度,实现通过内容分发网络与源业务平台共享直播流,无需生产直播流,减少直播流拉流时长,提高拉流效率。
在一个实施例中,上层节点包括边缘节点上一级的第一上层节点;根据源业务拉流请求回源至上层节点中拉取目标直播流的步骤,包括:将源业务拉流请求发送至上一级的第一上层节点,使得第一上层节点根据源业务拉流请求在第一上层节点的本地直播流中查找目标直播流;当第一上层节点的本地直播流存在目标直播流,接收第一上层节点转发的目标直播流,其中,目标直播流是由第一上层节点复用目标直播流的回源链路拉取的。
其中,第一上层节点是指边缘节点上一级的节点,是根据内容分发网络的调度,边缘节点所回源的上层节点。在一个实施例中,第一上层节点可以是离边缘节点距离最近的上层节点。例如,如图1b所示,对于边缘节点120a,第一上层节点可以是离边缘节点120a距离最近的上层节点130a。
其中,在根据第三方业务拉流请求中的源业务域名以及直播流名,生成源业务拉流请求后,边缘节点可以根据源业务拉流请求回源至离其最近的第一上层节点中。具体地,边缘节点将源业务拉流请求发送至第一上层节点;第一上层节点在接收到源业务拉流请求后,根据源业务拉流请求在第一上层节点的本地直播流中查找目标直播流,当第一上层节点的本地直播流存在目标直播流,第一上层节点将拉取的目标直播流转发至边缘节点中,由边缘节点将目标直播流转发至第三方业务客户端中。可以理解的是,第一上层节点的本地直播流存在目标直播流时,即第一上层节点从源业务平台的直播源站或内容分发网络的源节点中拉取过目标直播流,此时第一上层节点与直播源站或源节点间的通信链路即为回源链路,第一上层节点可以是复用目标直播流的回源链路从直播源站中拉取目标直播流,再将拉取的直播流转发至边缘节点。
上述实施例中,在边缘节点的本地直播流中无目标直播流时,可回源至上一级的上层节点中获取目标直播流,在离边缘节点距离最近的第一上层节点的本地直播流拉取目标直播流,实现将大部分直播流的回源在边缘节点和边缘节点的上一层的上层节点中消化,减少不必要回源,提升观看质量同时减少源站压力。
仍然以源业务平台为快手直播平台,第三方业务平台为A站为例对本实施例进行说明,其中,源业务平台的域名(即源业务域名)对应为domainB,第三方业务平台A站的域名(即第三方业务域名)为domainA。结合图1b,快手直播平台的直播流源站中存在一个直播流stream,对于快手直播平台的任意用户想要观看直播流stream,该用户可通过终端110a的快手平台的客户端发送源业务拉流请求至内容分发网络中的边缘节点120a中,边缘节点根据源业务拉流请求回源至上层节点130a中,上层节点130a在接收到源业务拉流请求后根据源业务拉流请求回源至快手平台的业务源站140中拉取直播流stream。其中,源业务拉流请求为:http://domainB/app/stream.flv?timestamp&signature。
此时,对于新增直播业务的第三方业务平台A站的任意用户观看直播流stream时,该用户可在终端110b的第三方业务客户端触发直播流stream的观看事件,使得第三方业务客户端根据直播流stream的源业务域名以及直播流名生成第三方业务拉流请求,并将第三方业务拉流请求发送至内容分发网络中的边缘节点120c中,其中,第三方业务拉流请求为:http://domianA/app/stream.flv?timestamp&signature&shareHost=domainB。边缘节点120c接收到第三方业务客户端的请求后,对第三方业务拉流请求进行参数解析,获取直播流stream的源业务域名以及直播流名。由于边缘节点120c此前未拉取过直播流steam,边缘节点120c中无直播流stream。此时,边缘节点120c根据直播流stream的源业务域名以及直播流名,将第三方业务拉流请求处理为源业务拉流请求,并将源业务拉流请求发送至上一级的上层节点130a中,上层节点130a在接收到源业务拉流请求后,根据源业务拉流请求在上层节点130a的本地直播流中查找直播流stream,由于上层节点130a从业务源站拉取过直播流stream,即上层节点130a的本地直播流存在直播流stream,上层节点130a将拉取的直播流stream转发至边缘节点120c中,由边缘节点120c将直播流stream转发至第三方业务客户端中。
在一个实施例中,将源业务拉流请求发送至上一级的第一上层节点,使得第一上层节点根据源业务拉流请求在第一上层节点的本地直播流中查找目标直播流的步骤之后,包括:当第一上层节点的本地直播流不存在目标直播流,通过第一上层节点将源业务拉流请求发送至与第一上层节点同级的第二上层节点,使得第二上层节点根据源业务拉流请求在第二上层节点的本地直播流中查找目标直播流;当第二上层节点的本地直播流存在目标直播流,通过第一上层节点获取第二上层节点拉取的目标直播流,其中,目标直播流是第二上层节点复用目标直播流的回源链路拉取的。
其中,第二上层节点是指边缘节点上一级的节点,与第一上层节点同级,可以是除内容分发网络中边缘节点回源的第一上层节点以外的其他任意上层节点。
其中,在获取到源业务拉流请求后,边缘节点将源业务拉流请求发送至第一上层节点;第一上层节点在接收到源业务拉流请求后,根据源业务拉流请求在第一上层节点的本地直播流中查找目标直播流,当第一上层节点的本地直播流不存在目标直播流,第一上层节点将源业务拉流请求发送同级的第二上层节点;在接收到源业务拉流请求后,第二上层节点根据源业务拉流请求在第二上层节点的本地直播流中查找目标直播流;当第二上层节点的本地直播流存在目标直播流,第二上层节点将拉取的目标直播流转发至第一上层节点,第一上层节点将接收到的目标直播流转发至边缘节点,由边缘节点将目标直播流转发至第三方业务客户端中。可以理解的是,第二上层节点可以是复用目标直播流的回源链路从直播源站中拉取目标直播流,再将拉取的直播流转发至边缘节点。
上述实施例中,在边缘节点的本地直播流中无目标直播流时,可回源至上一级的上层节点中获取目标直播流,在第一上层节点的本地直播流无目标直播流时,通过将源业务拉流请求发送至同级的第二上层节点中,在第二上层节点的本地直播流中拉取目标直播流,实现将大部分直播流的回源在边缘节点和边缘节点的上一层的上层节点中消化,减少不必要回源,提升观看质量同时减少源站压力。
仍然以源业务平台为快手直播平台,第三方业务平台为A站为例对本实施例进行说明,其中,源业务平台的域名(即源业务域名)对应为domainB,第三方业务平台A站的域名(即第三方业务域名)为domainA。结合图1b,快手直播平台的直播流源站中存在一个直播流stream,对于快手直播平台的任意用户想要观看直播流stream,该用户可通过终端110a的快手平台的客户端发送源业务拉流请求至内容分发网络中的边缘节点120a中,边缘节点根据源业务拉流请求回源至上层节点130a中,上层节点130a在接收到源业务拉流请求后根据源业务拉流请求回源至快手平台的业务源站140中拉取直播流stream。其中,源业务拉流请求为:http://domainB/app/stream.flv?timestamp&signature。
此时,对于新增直播业务的第三方业务平台A站的任意用户观看直播流stream时,该用户可在终端110b的第三方业务客户端触发直播流stream的观看事件,使得第三方业务客户端根据直播流stream的源业务域名以及直播流名生成第三方业务拉流请求,并将第三方业务拉流请求发送至内容分发网络中的边缘节点120c中,其中,第三方业务拉流请求为:http://domianA/app/stream.flv?timestamp&signature&shareHost=domainB。边缘节点120c接收到第三方业务客户端的请求后,对第三方业务拉流请求进行参数解析,获取直播流stream的源业务域名以及直播流名。由于边缘节点120c此前未拉取过直播流steam,边缘节点120c中无直播流stream。此时,边缘节点120c根据直播流stream的源业务域名以及直播流名,将第三方业务拉流请求处理为源业务拉流请求,并将源业务拉流请求发送至上一级的上层节点130b中,上层节点130b在接收到源业务拉流请求后,根据源业务拉流请求在上层节点130b的本地直播流中查找直播流stream,由于上层节点130b中此前未拉取过直播流steam,上层节点130b中无直播流stream,上层节点130b将源业务拉流请求发送至同级的上层节点130a中,上层节点130a在接收到源业务拉流请求后,根据源业务拉流请求在上层节点130a的本地直播流中查找直播流stream,由于上层节点130a已从业务源站拉取过直播流stream,即上层节点130a的本地直播流存在直播流stream,上层节点130a将拉取的直播流stream转发至上层节点130b,由上层节点130b将直播流stream转发至边缘节点120c中,再由边缘节点120c将直播流stream转发至第三方业务客户端中。
在一个实施例中,根据源业务拉流请求回源至上层节点中拉取目标直播流的步骤之后,还包括:当第二上层节点的本地直播流不存在目标直播流,根据源业务拉流请求逐级回源至直播源站或内容分发网络的源节点中,从直播源站或源节点中拉取目标直播流。
其中,直播源站是指源业务平台的业务自建源站。例如。以源业务平台为快手直播平台为例,直播源站为快手直播平台中的直播源站。内容分发网络的源节点是指内容分发网络中保存有直播源的源站。
在获取到源业务拉流请求后,边缘节点将源业务拉流请求发送至第一上层节点;第一上层节点在接收到源业务拉流请求后,根据源业务拉流请求在第一上层节点的本地直播流中查找目标直播流,当第一上层节点的本地直播流不存在目标直播流,第一上层节点将源业务拉流请求发送同级的第二上层节点;在接收到源业务拉流请求后,第二上层节点根据源业务拉流请求在第二上层节点的本地直播流中查找目标直播流;当第二上层节点的本地直播流也不存在目标直播流时,第一上层节点根据源业务拉流请求逐级回源至源业务平台的直播源站或内容分发网络的源节点中拉取目标直播流,在第一上层节点拉取到目标直播流后,将目标直播流转发至边缘节点,由边缘节点将目标直播流转发至第三方业务客户端中。
可以理解的是,回源至源业务平台的直播源站,还是回源至内容分发网络的源节点,是根据内容分发网络调度结果决定的。
上述实施例中,内容分发网络中的边缘节点以及上层节点未拉取过目标直播流时,边缘节点以及上层节点的本地直播流无目标直播流,此时,边缘节点可以将第三方业务拉流请求处理为源业务拉流请求,从而根据源业务拉流请求逐级回源至源业务平台的直播源站或内容分发网络的源节点中拉取直播流,无需将源业务平台生产的直播流保存至第三方业务平台的源站中,通过内容分发网络与源业务平台共享直播流,无需生产直播流,减少直播流拉流时长,提高拉流效率。
图3是根据一示例性实施例示出的一种直播流的拉流方法的流程图,如图3所示,一种直播流的拉流方法,应用于第三方业务客户端,包括:
在步骤S310中,获取目标直播流的源业务域名以及直播流名。
其中,源业务域名是指生产目标直播流的源业务平台的域名;直播流名是直播流唯一的唯一标识。其中,在终端上安装由第三方业务客户端,用户通过在第三方业务客户端上进行操作选择要观看的直播,第三方业务客户端接收到用户的操作信息后,根据用户所选择的目标直播流的源业务域名以及直播流名。
在步骤S320中,根据源业务域名以及直播流名生成第三方业务拉流请求。
其中,第三方业务客户端在获取到目标直播流的源业务域名以及直播流名后,根据源业务域名以及直播流名生成第三方业务拉流请求。
在一个实施例中,第三方业务拉流请求包括第三方业务域名、约定路径、直播流名、鉴权信息以及源业务域名;其中,第三方业务域名是指新建直播业务的第三方平台所在域名;约定路径为业务方与CDN厂商约定的静态标识。具体地,第三方业务拉流请求具体如下:http://第三方业务域名/约定路径/{直播流名}?{鉴权信息等参数}&shareHost={源业务域名}。
在步骤S330中,将第三方业务拉流请求发送至内容分发网络中的边缘节点,使得边缘节点的服务器根据第三方业务拉流请求中的源业务域名以及直播流名在本地直播流中查找目标流直播流,并在本地直播流存在目标直播流时,将本地直播流中的目标直播流转发至第三方业务客户端。
其中,第三方业务客户端将第三方业务拉流请求发送至内容分发网络中的边缘节点,边缘节点在接收到第三方业务拉流请求后,获取第三方业务拉流请求中的源业务域名以及直播流名,并从边缘节点的本地直播流中查找源业务域名下相同直播流名的直播流,当边缘节点从本地直播流中查找到相同源业务域名、相同直播流名的直播流,边缘节点将该目标直播流转发至第三方业务客户端。
在步骤S340中,接收边缘节点转发的目标直播流。
其中,第三方业务客户端接收边缘节点转发的目标直播流,并通过显示装置将播放直播流,使得用户通过第三方业务终端观看直播。
上述直播流的拉流方法,获取目标直播流的源业务域名以及直播流名;根据源业务域名以及直播流名生成第三方业务拉流请求;将第三方业务拉流请求发送至内容分发网络中边缘节点,使得边缘节点根据第三方业务拉流请求中的源业务域名以及直播流名在本地直播流中查找目标流直播流,并在本地直播流存在目标直播流时,将拉取到的目标直播流转发至第三方业务客户端;接收边缘节点转发的目标直播流,实现第三方业务平台对应的客户端播放直播流,支持直播新业务快速孵化,第三方业务平台无需生产直播流,直接复用已有源业务平台的直播流,加快直播流拉流的时间。
图4是根据一示例性实施例示出的直播流的拉流方法的时序图,如图4所示,一种直播流的拉流方法,包括:
第三方业务客户端获取目标直播流的源业务域名以及直播流名;
第三方业务客户端根据源业务域名以及直播流名生成第三方业务拉流请求;
第三方业务客户端将第三方业务拉流请求发送至内容分发网络中边缘节点;
边缘节点接收第三方业务客户端发送的目标直播流的第三方业务拉流请求;
边缘节点根据第三方业务拉流请求,确定目标直播流的源业务域名以及直播流名;
边缘节点根据源业务域名以及直播流名,在本地直播流中查找目标流直播流;
当本地直播流存在目标直播流,边缘节点将本地直播流中的目标直播流转发至第三方业务客户端。
第三方业务客户端接收边缘节点转发的目标直播流。
上述直播流的拉流方法,实现第三方业务平台对应的客户端播放直播流,支持直播新业务快速孵化,第三方业务平台无需生产直播流,直接复用已有源业务平台的直播流,加快直播流拉流的时间。
应该理解的是,虽然上述的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图5是根据一示例性实施例示出的一种直播流的拉流装置框图。参照图5,该装置包括请求获取单元510,域名获取单元520,直播流查找单元530,第一直播流转发单元540和转换模块550。
请求获取单元510,被配置为执行接收第三方业务客户端发送的目标直播流的第三方业务拉流请求;
域名获取单元520,被配置为执行根据第三方业务拉流请求,确定目标直播流的源业务域名以及直播流名;
直播流查找单元530,被配置为执行根据源业务域名以及直播流名,在本地直播流中查找目标流直播流;
第一直播流转发单元540,被配置为执行在本地直播流存在目标直播流时,将本地直播流中的目标直播流转发至第三方业务客户端。
在一个实施例中,直播流的拉流装置还包括:
请求生成单元,被配置为执行在本地直播流不存在目标直播流时,根据源业务域名以及直播流名生成源业务拉流请求;
请求回源单元,被配置为执行根据源业务拉流请求回源至上层节点中拉取目标直播流,使得上层节点转发目标直播流;
第二直播流转发单元,被配置为执行接收上层节点转发的目标直播流,并转发至第三方业务客户端。
在一个实施例中,上层节点包括边缘节点上一级的第一上层节点;请求回源单元,具体被配置为执行:将源业务拉流请求发送至上一级的第一上层节点,使得第一上层节点根据源业务拉流请求在第一上层节点的本地直播流中查找目标直播流;在第一上层节点的本地直播流存在目标直播流时,接收第一上层节点转发的目标直播流,其中,目标直播流是由第一上层节点复用目标直播流的回源链路拉取的。
在一个实施例中,请求回源单元,还被配置为执行:在第一上层节点的本地直播流不存在目标直播流时,通过第一上层节点将源业务拉流请求发送至与第一上层节点同级的第二上层节点,使得第二上层节点根据源业务拉流请求在第二上层节点的本地直播流中查找目标直播流;在第二上层节点的本地直播流存在目标直播流时,通过第一上层节点获取第二上层节点拉取的目标直播流,其中,目标直播流是第二上层节点复用目标直播流的回源链路拉取的。
在一个实施例中,请求回源单元,还被配置为执行:在第二上层节点的本地直播流不存在目标直播流时,根据源业务拉流请求逐级回源至直播源站或内容分发网络的源节点中,从直播源站或源节点中拉取目标直播流。
在一个实施例中,第三方业务拉流请求包括第三方业务域名、直播流名以及源业务域名。
图6是根据一示例性实施例示出的一种直播流的拉流装置框图。参照图6,该装置包括信息获取单元610,请求生成单元620,请求发送单元630和直播流获取单元640,其中:
信息获取单元610,被配置执行获取目标直播流的源业务域名以及直播流名;
请求生成单元620,被配置执行根据源业务域名以及直播流名生成第三方业务拉流请求;
请求发送单元630,被配置执行将第三方业务拉流请求发送至内容分发网络中边缘节点的服务器,使得边缘节点的服务器根据第三方业务拉流请求中的源业务域名以及直播流名在本地直播流中查找目标流直播流,并在本地直播流存在目标直播流时,将拉取到的目标直播流转发至第三方业务客户端;
直播流获取单元640,被配置执行接收所述边缘节点转发的目标直播流。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种用于直播流拉流的电子设备700的框图。例如,例如,设备700可以是第三业务客户端,具体可以但不限于是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、健身设备、个人数字助理等中的一种。
参照图7,设备700可以包括以下一个或多个组件:处理组件702、存储器704、电源组件706、多媒体组件708、音频组件710、输入/输出(I/O)的接口712、传感器组件714以及通信组件716。
处理组件702通常控制设备700的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件Z708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在设备700上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件706为设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为设备700的显示器和小键盘,传感器组件714还可以检测设备700或设备700一个组件的位置改变,用户与设备70接触的存在或不存在,设备700方位或加速/减速和设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件716被配置为便于设备700和其他设备之间有线或无线方式的通信。设备700可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由设备700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图8是根据一示例性实施例示出的一种用于直播流拉流的电子设备800的框图。例如,电子设备800可以为一边缘节点服务器。参照图8,设备800包括处理组件820,其进一步包括一个或多个处理器,以及由存储器822所代表的存储器资源,用于存储可由处理组件820的执行的指令,例如应用程序。存储器822中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件820被配置为执行指令,以执行上述直播流的拉流方法。
电子设备800还可以包括一个电源组件824被配置为执行设备800的电源管理,一个有线或无线网络接口826被配置为将设备800连接到网络,和一个输入输出(I/O)接口828。电子设备800可以操作基于存储在存储器822的操作系统,例如Window8 8erverTM,MacO8 XTM,UnixTM,LinuxTM,FreeB8DTM或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器822,上述指令可由电子设备的处理器执行以完成上述方法。存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (16)

1.一种直播流的拉流方法,其特征在于,应用于内容分发网络的边缘节点;所述内容分发网络的边缘节点为第三方业务客户端的边缘节点;所述边缘节点为距离所述第三方业务客户端的用户最近的边缘节点,所述方法包括:
接收所述第三方业务客户端发送的目标直播流的第三方业务拉流请求;
根据所述第三方业务拉流请求,确定所述目标直播流的源业务域名以及直播流名;
根据所述源业务域名以及直播流名,在本地直播流中查找所述目标直播流;
当所述本地直播流存在所述目标直播流,将所述本地直播流中的目标直播流转发至所述第三方业务客户端;
所述根据所述源业务域名以及直播流名,在本地直播流中查找所述目标直播流,包括:
将所述目标直播流的源业务域名以及直播流名,分别与所述本地直播流的业务域名以及直播流名进行对比,在所述本地直播流中查找业务域名与所述目标直播流的源业务域名一致、直播流名与所述目标直播流的直播流名一致的直播流;所述本地直播流为所述边缘节点历史拉取过的直播流。
2.根据权利要求1所述的直播流的拉流方法,其特征在于,所述根据所述源业务域名以及直播流名,在本地直播流中查找所述目标直播流的步骤之后,还包括:
当所述本地直播流不存在所述目标直播流,根据所述源业务域名以及直播流名生成源业务拉流请求;
根据所述源业务拉流请求回源至上层节点中拉取所述目标直播流,使得所述上层节点转发所述目标直播流;
接收所述上层节点转发的所述目标直播流,并转发至所述第三方业务客户端。
3.根据权利要求2所述的直播流的拉流方法,其特征在于,所述上层节点包括所述边缘节点上一级的第一上层节点;
所述根据所述源业务拉流请求回源至上层节点中拉取所述目标直播流的步骤,包括:
将所述源业务拉流请求发送至上一级的第一上层节点,使得所述第一上层节点根据所述源业务拉流请求在所述第一上层节点的本地直播流中查找所述目标直播流;
当所述第一上层节点的本地直播流存在所述目标直播流,接收所述第一上层节点转发的目标直播流,其中,所述目标直播流是由所述第一上层节点复用所述目标直播流的回源链路拉取的。
4.根据权利要求3所述的直播流的拉流方法,其特征在于,所述将所述源业务拉流请求发送至上一级的第一上层节点,使得所述第一上层节点根据所述源业务拉流请求在所述第一上层节点的本地直播流中查找所述目标直播流的步骤之后,还包括:
当所述第一上层节点的本地直播流不存在所述目标直播流,通过所述第一上层节点将所述源业务拉流请求发送至与所述第一上层节点同级的第二上层节点,使得所述第二上层节点根据所述源业务拉流请求在所述第二上层节点的本地直播流中查找所述目标直播流;
当所述第二上层节点的本地直播流存在所述目标直播流,通过所述第一上层节点获取所述第二上层节点拉取的目标直播流,其中,所述目标直播流是所述第二上层节点复用所述目标直播流的回源链路拉取的。
5.根据权利要求4所述的直播流的拉流方法,其特征在于,所述根据所述源业务拉流请求回源至上层节点中拉取所述目标直播流的步骤之后,还包括:
当所述第二上层节点的本地直播流不存在所述目标直播流,根据所述源业务拉流请求逐级回源至直播源站或内容分发网络的源节点中,从所述直播源站或所述源节点中拉取所述目标直播流。
6.根据权利要求1所述的直播流的拉流方法,其特征在于,所述第三方业务拉流请求包括第三方业务域名、直播流名以及源业务域名。
7.一种直播流的拉流方法,其特征在于,应用于第三方业务客户端,所述方法包括:
获取目标直播流的源业务域名以及直播流名;
根据所述源业务域名以及所述直播流名生成第三方业务拉流请求;
将所述第三方业务拉流请求发送至内容分发网络中边缘节点,使得所述边缘节点根据第三方业务拉流请求中的源业务域名以及直播流名在本地直播流中查找所述目标直播流,并在所述本地直播流存在所述目标直播流时,将所述本地直播流中的目标直播流转发至所述第三方业务客户端;所述边缘节点为所述内容分发网络中距离所述第三方业务客户端的用户最近的边缘节点;所述本地直播流为所述边缘节点历史拉取过的直播流;
接收所述边缘节点转发的目标直播流;
所述边缘节点根据第三方业务拉流请求中的源业务域名以及直播流名在本地直播流中查找所述目标直播流,包括:
将所述目标直播流的源业务域名以及直播流名,分别与所述本地直播流的业务域名以及直播流名进行对比,在所述本地直播流中查找业务域名与所述目标直播流的源业务域名一致、直播流名与所述目标直播流的直播流名一致的直播流;所述本地直播流为所述边缘节点历史拉取过的直播流。
8.一种直播流的拉流装置,其特征在于,应用于内容分发网络的边缘节点;所述内容分发网络的边缘节点为第三方业务客户端的边缘节点;所述边缘节点为距离所述第三方业务客户端的用户最近的边缘节点,包括:
请求获取单元,被配置为执行接收所述第三方业务客户端发送的目标直播流的第三方业务拉流请求;
域名获取单元,被配置为执行根据所述第三方业务拉流请求,确定所述目标直播流的源业务域名以及直播流名;
直播流查找单元,被配置为执行根据所述源业务域名以及直播流名,在本地直播流中查找所述目标直播流;
第一直播流转发单元,被配置为执行在所述本地直播流存在所述目标直播流时,将所述本地直播流中的目标直播流转发至所述第三方业务客户端;
所述直播流查找单元,还被配置为执行将所述目标直播流的源业务域名以及直播流名,分别与所述本地直播流的业务域名以及直播流名进行对比,在所述本地直播流中查找业务域名与所述目标直播流的源业务域名一致、直播流名与所述目标直播流的直播流名一致的直播流;所述本地直播流为所述边缘节点历史拉取过的直播流。
9.根据权利要求8所述的直播流的拉流装置,其特征在于,所直播流的拉流装置还包括:
请求生成单元,被配置为执行在所述本地直播流不存在所述目标直播流时,根据所述源业务域名以及直播流名生成源业务拉流请求;
请求回源单元,被配置为执行根据所述源业务拉流请求回源至上层节点中拉取所述目标直播流,使得所述上层节点转发所述目标直播流;
第二直播转发取单元,被配置为执行接收所述上层节点转发的所述目标直播流,并转发至所述第三方业务客户端。
10.根据权利要求9所述的直播流的拉流装置,其特征在于,所述上层节点包括所述边缘节点上一级的第一上层节点;
所述请求回源单元,具体被配置为执行:
将所述源业务拉流请求发送至上一级的第一上层节点,使得所述第一上层节点根据所述源业务拉流请求在所述第一上层节点的本地直播流中查找所述目标直播流;
在所述第一上层节点的本地直播流存在所述目标直播流时,接收所述第一上层节点转发的目标直播流,其中,所述目标直播流是由所述第一上层节点复用所述目标直播流的回源链路拉取的。
11.根据权利要求10所述的直播流的拉流装置,其特征在于,所述请求回源单元,具体被配置为执行:
在所述第一上层节点的本地直播流不存在所述目标直播流时,通过所述第一上层节点将所述源业务拉流请求发送至与所述第一上层节点同级的第二上层节点,使得所述第二上层节点根据所述源业务拉流请求在所述第二上层节点的本地直播流中查找所述目标直播流;
在所述第二上层节点的本地直播流存在所述目标直播流时,获取所述第二上层节点拉取的目标直播流,其中,所述目标直播流是所述第二上层节点复用所述目标直播流的回源链路拉取的。
12.根据权利要求11所述的直播流的拉流装置,其特征在于,所述请求回源单元,具体被配置为执行:
在所述第二上层节点的本地直播流不存在所述目标直播流时,根据所述源业务拉流请求逐级回源至直播源站或内容分发网络的源节点中,从所述直播源站或所述源节点中拉取所述目标直播流。
13.根据权利要求8所述的直播流的拉流装置,其特征在于,所述第三方业务拉流请求包括第三方业务域名、直播流名以及源业务域名。
14.一种直播流的拉流装置,其特征在于,应用于第三方业务客户端,包括:
信息获取单元,被配置执行获取目标直播流的源业务域名以及直播流名;
请求生成单元,被配置执行根据所述源业务域名以及所述直播流名生成第三方业务拉流请求;
请求发送单元,被配置执行将所述第三方业务拉流请求发送至内容分发网络中边缘节点,使得所述边缘节点根据第三方业务拉流请求中的源业务域名以及直播流名在本地直播流中查找所述目标直播流,并在所述本地直播流存在所述目标直播流时,将所述本地直播流中的目标直播流转发至所述第三方业务客户端;所述边缘节点为所述内容分发网络中距离所述第三方业务客户端的用户最近的边缘节点;所述本地直播流为所述边缘节点历史拉取过的直播流;
直播流获取单元,被配置执行接收所述边缘节点转发的目标直播流;
所述请求发送单元,还被配置执行将所述目标直播流的源业务域名以及直播流名,分别与所述本地直播流的业务域名以及直播流名进行对比,在所述本地直播流中查找业务域名与所述目标直播流的源业务域名一致、直播流名与所述目标直播流的直播流名一致的直播流;所述本地直播流为所述边缘节点历史拉取过的直播流。
15.一种电子设备,其特征在于,包括
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7中任一项所述的直播流的拉流方法。
16.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的直播流的拉流方法。
CN202010051613.3A 2020-01-17 2020-01-17 直播流的拉流方法、装置、电子设备及存储介质 Active CN113141513B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010051613.3A CN113141513B (zh) 2020-01-17 2020-01-17 直播流的拉流方法、装置、电子设备及存储介质
PCT/CN2021/072280 WO2021143881A1 (zh) 2020-01-17 2021-01-15 直播流的拉流方法及设备
EP21741960.5A EP4084482A4 (en) 2020-01-17 2021-01-15 STREAM PULL METHOD AND APPARATUS FOR A LIVE STREAM
US17/866,267 US20220353552A1 (en) 2020-01-17 2022-07-15 Methods and devices for pulling live stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010051613.3A CN113141513B (zh) 2020-01-17 2020-01-17 直播流的拉流方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113141513A CN113141513A (zh) 2021-07-20
CN113141513B true CN113141513B (zh) 2022-05-13

Family

ID=76808396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010051613.3A Active CN113141513B (zh) 2020-01-17 2020-01-17 直播流的拉流方法、装置、电子设备及存储介质

Country Status (4)

Country Link
US (1) US20220353552A1 (zh)
EP (1) EP4084482A4 (zh)
CN (1) CN113141513B (zh)
WO (1) WO2021143881A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114071173A (zh) * 2021-11-15 2022-02-18 北京百度网讯科技有限公司 直播调度方法及装置、系统、电子设备和介质
CN115460427B (zh) * 2022-08-26 2024-03-12 上海哔哩哔哩科技有限公司 直播调度方法、装置、计算设备和存储介质
CN116150563B (zh) * 2023-02-24 2024-01-05 之江实验室 一种业务执行方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106464680A (zh) * 2014-03-17 2017-02-22 爱立信股份有限公司 内容分发网络中的带宽管理
CN108306971A (zh) * 2018-02-02 2018-07-20 网宿科技股份有限公司 一种发送数据资源的获取请求的方法和系统
CN109831511A (zh) * 2019-02-18 2019-05-31 华为技术有限公司 调度内容分发网络cdn边缘节点的方法及设备
CN109982103A (zh) * 2019-05-07 2019-07-05 东莞市商二信息科技有限公司 一种基于视频流技术的直播管理系统及其管理方法
CN110267053A (zh) * 2019-06-27 2019-09-20 广州酷狗计算机科技有限公司 直播方法、装置及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793410A (en) * 1995-05-26 1998-08-11 Hyundai Electronics America Video pedestal network
US20060271972A1 (en) * 2005-05-31 2006-11-30 Microsoft Corporation Popularity-based on-demand media distribution
US9843845B2 (en) * 2012-11-28 2017-12-12 Sinclair Broadcast Group, Inc. Terrestrial broadcast market exchange network platform and broadcast augmentation channels for hybrid broadcasting in the internet age
US9402107B2 (en) * 2013-03-15 2016-07-26 Time Warner Cable Enterprises Llc Apparatus and methods for delivery of multicast and unicast content in a content delivery network
US20170163706A1 (en) * 2015-12-07 2017-06-08 Le Holdings (Beijing) Co., Ltd. Method, electronic device and system for controlling pull stream
CN109756758B (zh) * 2017-11-01 2021-01-01 腾讯科技(深圳)有限公司 直播控制方法及装置
US11120293B1 (en) * 2017-11-27 2021-09-14 Amazon Technologies, Inc. Automated indexing of media content
CN110012300B (zh) * 2018-01-04 2021-07-09 华为技术有限公司 视频直播方法及装置
CN108737405B (zh) * 2018-05-10 2020-02-18 网宿科技股份有限公司 一种对直播视频流进行导流的方法、ccl服务器和系统
CN108712343A (zh) * 2018-05-14 2018-10-26 网宿科技股份有限公司 流媒体资源的分发方法、系统、边缘节点及中心调度系统
CN109639635B (zh) * 2018-11-05 2019-09-03 北京达佳互联信息技术有限公司 Cdn代理拉流方法、服务器、cdn及客户端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106464680A (zh) * 2014-03-17 2017-02-22 爱立信股份有限公司 内容分发网络中的带宽管理
CN108306971A (zh) * 2018-02-02 2018-07-20 网宿科技股份有限公司 一种发送数据资源的获取请求的方法和系统
CN109831511A (zh) * 2019-02-18 2019-05-31 华为技术有限公司 调度内容分发网络cdn边缘节点的方法及设备
CN109982103A (zh) * 2019-05-07 2019-07-05 东莞市商二信息科技有限公司 一种基于视频流技术的直播管理系统及其管理方法
CN110267053A (zh) * 2019-06-27 2019-09-20 广州酷狗计算机科技有限公司 直播方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
关于直播类app中的推流、拉流技术;只会写bug的咸鱼;《CSDN》;20180509;全文 *
第三方直播SDK对比(腾讯云,阿里云,网易云信,七牛云,金山云,声网,即构科技);皮小智;《CSDN》;20190523;全文 *

Also Published As

Publication number Publication date
EP4084482A4 (en) 2023-12-20
EP4084482A1 (en) 2022-11-02
US20220353552A1 (en) 2022-11-03
CN113141513A (zh) 2021-07-20
WO2021143881A1 (zh) 2021-07-22

Similar Documents

Publication Publication Date Title
CN111083512A (zh) 直播间的切换方法、装置、电子设备和存储介质
CN113141513B (zh) 直播流的拉流方法、装置、电子设备及存储介质
WO2022028234A1 (zh) 直播间分享方法及装置
CN106911967B (zh) 直播回放方法及装置
WO2017219347A1 (zh) 直播显示方法、装置及系统
CN111343476A (zh) 视频共享方法、装置、电子设备及存储介质
WO2017181551A1 (zh) 视频处理方法及装置
CN109274510B (zh) 消息处理方法、装置、客户端、服务器及存储介质
CN108966025B (zh) 视频播放方法、装置及计算机可读存储介质
CN111343477B (zh) 数据传输方法、装置、电子设备及存储介质
US20220078221A1 (en) Interactive method and apparatus for multimedia service
CN111182328B (zh) 一种视频剪辑方法、装置、服务器、终端及存储介质
CN112291631A (zh) 信息获取方法、装置、终端及存储介质
CN110620956A (zh) 直播虚拟资源的通知方法、装置、电子设备及存储介质
CN110636318A (zh) 消息显示方法、装置、客户端设备、服务器及存储介质
CN113365099B (zh) 弹幕下发方法、接收方法、装置、电子设备及存储介质
CN111355973B (zh) 数据播放方法、装置、电子设备及存储介质
CN109831538B (zh) 一种消息处理方法、装置、服务器、终端及介质
CN109245992B (zh) 请求处理方法、装置、电子设备及存储介质
CN114390304B (zh) 直播变声方法、装置、电子设备及存储介质
CN113965768B (zh) 直播间信息展示方法、装置、电子设备及服务器
CN110769282A (zh) 短视频生成方法、终端及服务器
CN110113256B (zh) 信息互动方法、装置、服务器、用户终端及可读存储介质
CN114272600A (zh) 一种控制权切换系统、方法、装置、设备及存储介质
CN114554231A (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