直播视频文件的推流方法、客户端及边缘流媒体服务器与流程

文档序号:12278684阅读:247来源:国知局
直播视频文件的推流方法、客户端及边缘流媒体服务器与流程

本发明实施例涉及互联网技术领域,尤其涉及一种直播视频文件的推流方法、客户端及边缘流媒体服务器。



背景技术:

直播视频文件指以流方式在网络中传送的视频文件。相对于下载后观看的播放形式而言,直播视频文件的典型特征是把连续的视频信息压缩后放到流媒体服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。

直播视频文件的提供方推流客户端(主播用户),通过推流技术将直播视频文件推送到源服务器。在观看直播视频文件时,观看方发出观看请求,由直播平台中的源服务器通过拉流技术将直播视频文件流拉到观看方的客户端。

然而,在实现本发明实施例的过程中,发明人发现现有的直播视频文件的推流方法中,推流客户端将直播视频文件推送到核心的BGP节点上的源服务器中。核心的BGP节点上的源服务器可与各个通信运营商的用户进行通信,但是核心的BGP节点数量少,距离用户比较远,用户到核心的BGP节点的网络无法保证,造成直播视频文件的上传速率不稳定。同时,由于核心的BGP节点的网络带宽较贵,推流客户端与和核心的BGP节点直接通信的成本较高。



技术实现要素:

本发明实施例提供一种直播视频文件的推流方法、客户端及边缘流媒体服务器,用以解决现有技术中直播视频文件的上传速率不稳定、成本较高的问题。

本发明实施例提供一种直播视频文件的推流方法,包括:

推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;

将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;

若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

可选地,所述方法还包括:

若接收到所述最近的边缘流媒体服务器反馈的推流请求转发消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

本发明实施例提供一种直播视频文件的推流方法,包括:

边缘流媒体服务器接收推流客户端的直播视频文件的推流请求;

根据网络配置信息判断自身的预设范围内是否存在转码服务器;

若存在,则向所述推流客户端反馈推流请求应答消息;

接收所述推流客户端发送的直播视频文件;

其中,所述边缘流媒体服务器是所述推流客户端通过动态域名解析获取的内容分发网络中的最近的边缘流媒体服务器。

可选地,所述方法还包括:

若不存在,则向所述调度服务器发送调度请求信息;

接收所述调度服务器发送的转推路径,所述转推路径包括中继流媒体服务器的网络地址;

向所述推流客户端反馈推流请求转发消息;

接收所述推流客户端发送的直播视频文件,并将所述直播视频文件发送至所述中继流媒体服务器中。

可选地,在向所述推流客户端反馈推流请求转发消息之前,所述方法还包括:

将所述推流请求沿所述转推路径发送至所述中继流媒体服务器;

接收所述中继流媒体服务器反馈的鉴权成功消息;

其中,所述鉴权成功消息是所述中继流媒体服务器将所述推流请求发送至鉴权服务器后获得的。

本发明实施例提供一种推流客户端,包括:

边缘流媒体服务器获取单元,用于通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;

第一推流请求发送单元,用于将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;

第一直播视频文件发送单元,用于当接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息时,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

可选地,还包括:

第二直播视频文件发送单元,用于当接收到所述最近的边缘流媒体服务器反馈的推流请求转发消息时,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

本发明实施例提供一种边缘流媒体服务器,包括:

推流请求接收单元,用于接收到推流客户端的直播视频文件的推流请求;

判断单元,用于根据网络配置信息判断自身的预设范围内是否存在转码服务器;

推流请求应答消息反馈单元,用于当根据网络配置信息判断自身的预设范围内存在转码服务器时,则向所述推流客户端反馈推流请求应答消息;

第一直播视频文件接收单元,用于接收所述推流客户端发送的直播视频文件;

其中,所述边缘流媒体服务器是所述推流客户端通过动态域名解析获取的内容分发网络中的最近的边缘流媒体服务器。

可选地,还包括:

调度请求信息发送单元,用于当根据网络配置信息判断自身的预设范围内不存在转码服务器时,则向所述调度服务器发送调度请求信息;

转推路径发送单元,用于接收所述调度服务器发送的转推路径,所述转推路径包括中继流媒体服务器的网络地址;

推流请求转发消息反馈单元,用于向所述推流客户端反馈推流请求转发消息;

第二直播视频文件接收单元,用于接收所述推流客户端发送的直播视频文件,并将所述直播视频文件发送至所述中继流媒体服务器中。

可选地,还包括:

第二推流请求发送单元,用于将所述推流请求沿所述转推路径发送至所述中继流媒体服务器;

鉴权成功消息接收单元,用于接收所述中继流媒体服务器反馈的鉴权成功消息;

其中,所述鉴权成功消息是所述中继流媒体服务器将所述推流请求发送至鉴权服务器后获得的。

本发明实施例提供的直播视频文件的推流方法、客户端及边缘流媒体服务器,推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。本发明实施例将直播视频文件推流至距推流客户端最近的边缘流媒体服务器,避免了现有技术中直接将直播视频文件推流至核心的BGP节点造成的上传速率不稳定、成本较高的缺陷,保证了推流质量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一个实施例的内容分发网络的架构图;

图2为本发明一个实施例的直播视频文件的推流方法的流程图;

图3为本发明另一个实施例的直播视频文件的推流方法的流程图;

图4为本发明另一个实施例的直播视频文件的推流方法的流程图;

图5为本发明另一个实施例的直播视频文件的推流方法的流程图;

图6为本发明一个实施例的直播视频文件的推流方法的原理图;

图7为本发明一个实施例的推流客户端的结构示意图;

图8为本发明一个实施例的边缘流媒体服务器的结构示意图;

图9为本发明一个实施例的推流客户端的实体结构示意图;

图10为本发明一个实施例的边缘流媒体服务器的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明一个实施例的内容分发网络(Content Delivery Network,CDN)的架构图。CDN是构建在数据网络上的一种分布式的内容分发网,采用流媒体服务器集群技术。如图1所示,本发明实施例的内容分发网络的第一级是中心节点11(中心节点包括多个中继流媒体服务器);第二级是边缘节点12(边缘节点即边缘流媒体服务器),其地理位置分散,为用户提供就近的内容访问服务。

图2为本发明一个实施例的直播视频文件的推流方法的流程图。如图2所示,本发明实施例的执行主体为推流客户端,该直播视频文件的推流方法包括:

S21:推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;

需要说明的是,现有技术中的推流客户端将直播视频文件推送到核心的BGP节点上的源服务器,由于推流客户端距离核心的BGP节点距离较远,造成上传速率不稳定;而本发明实施例通过动态域名解析获取CDN中最近的边缘流媒体服务器,可保证推流质量。

S22:将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;

S23:若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器;

需要说明的是,所述推流请求应答消息是当所述最近的边缘流媒体服务器的预设范围内存在转码服务器,在接收到推流请求后向所述推流客户端反馈的。在实际应用中,网络配置服务器对各个流媒体服务器进行配置,网络配置服务器向各个流媒体服务器发送网络配置信息,所述网络配置信息中包括各个流媒体服务器附近的转码资源信息。

可理解的是,若最近的边缘流媒体服务器的预设范围内存在转码服务器,则该最近的边缘流媒体服务器可最为直播视频文件的源服务器;该最近的边缘流媒体服务向推流客户端反馈推流请求应答消息;推流客户端将直播视频文件发送至该最近的边缘流媒体服务器。

本发明实施例提供的直播视频文件的推流方法,推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。本发明实施例将直播视频文件推流至距推流客户端最近的边缘流媒体服务器,避免了现有技术中直接将直播视频文件推流至核心的BGP节点造成的上传速率不稳定、成本较高的缺陷,保证了推流质量。

图3为本发明另一个实施例的直播视频文件的推流方法的流程图。如图3所示,本发明实施例的执行主体为推流客户端,该直播视频文件的推流方法包括:

S31:推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;

S32:将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;

S33:若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器;

S34:若接收到所述最近的边缘流媒体服务器反馈的推流请求转发消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器;

需要说明的是,所述推流请求转发消息是当所述最近的边缘流媒体服务器的预设范围内不存在转码服务器,在接收到调度服务器发送的转推路径后向所述推流客户端反馈的。可理解的是,由于所述最近的边缘流媒体服务器不能作为直播视频文件的源服务器,在所述最近的边缘流媒体服务器接收到推流客户端发送的直播视频文件后,会将该直播视频文件发送至转推路径中的中继流媒体服务器中。

本发明实施例将直播视频文件推流至距推流客户端最近的边缘流媒体服务器,避免了现有技术中直接将直播视频文件推流至核心的BGP节点造成的上传速率不稳定、成本较高的缺陷,保证了推流质量。

图4为本发明另一个实施例的直播视频文件的推流方法的流程图。如图4所示,本发明实施例的执行主体为边缘流媒体服务器,该直播视频文件的推流方法包括:

S41:边缘流媒体服务器接收推流客户端的直播视频文件的推流请求;

需要说明的是,所述边缘流媒体服务器是所述推流客户端通过动态域名解析获取的内容分发网络中的最近的边缘流媒体服务器。

S42:根据网络配置信息判断自身的预设范围内是否存在转码服务器;

在实际应用中,网络配置服务器对各个流媒体服务器进行配置,网络配置服务器向各个流媒体服务器发送网络配置信息,所述网络配置信息中包括各个流媒体服务器附近的转码资源信息。

S43:若存在,则向所述推流客户端反馈推流请求应答消息;

S44:接收所述推流客户端发送的直播视频文件;

需要说明的是,若边缘流媒体服务器附近存在转码服务器,则该边缘流媒体服务器可作为直播视频文件的源服务器,向推流客户端反馈推流请求应答消息;推流客户端将直播视频文件直接发送至该边缘流媒体服务器。

本发明实施例将直播视频文件推流至距推流客户端最近的边缘流媒体服务器,避免了现有技术中直接将直播视频文件推流至核心的BGP节点造成的上传速率不稳定、成本较高的缺陷,保证了推流质量。

图5为本发明另一个实施例的直播视频文件的推流方法的流程图。如图5所示,本发明实施例的执行主体为边缘流媒体服务器,该直播视频文件的推流方法包括:

S51:边缘流媒体服务器接收推流客户端的直播视频文件的推流请求;

S52:根据网络配置信息判断自身的预设范围内是否存在转码服务器;

S53:若存在,则向所述推流客户端反馈推流请求应答消息;

S54:接收所述推流客户端发送的直播视频文件;

S55:若不存在,则向所述调度服务器发送调度请求信息;

S56:接收所述调度服务器发送的转推路径,所述转推路径包括中继流媒体服务器的网络地址;

需要说明的是,调度服务器用于在接收到边缘流媒体服务器发送的调度请求信息后,向边缘流媒体服务器发送转推路径。

S57:向所述推流客户端反馈推流请求转发消息;

S58:接收所述推流客户端发送的直播视频文件,并将所述直播视频文件发送至所述中继流媒体服务器中;

需要说明的是,边缘流媒体服务器接收到调度服务器发送的转推路径后,向推流客户端反馈推流请求转发消息。推流客户端接收到边缘流媒体服务器反馈的推流请求转发消息后,向边缘流媒体服务器发送直播视频文件。可理解的是,由于边缘流媒体服务器附近无转码服务器,无法作为直播视频文件的源服务器,在边缘流媒体服务器接收推流客户端发送的直播视频文件后,需要将直播视频文件发送至中继流媒体服务器。

本发明实施例将直播视频文件推流至距推流客户端最近的边缘流媒体服务器,避免了现有技术中直接将直播视频文件推流至核心的BGP节点造成的上传速率不稳定、成本较高的缺陷,保证了推流质量。

进一步地,在向所述推流客户端反馈推流请求转发消息之前,所述方法还包括(如图6所示):

将所述推流请求沿所述转推路径发送至所述中继流媒体服务器;

接收所述中继流媒体服务器反馈的鉴权成功消息;

其中,所述鉴权成功消息是所述中继流媒体服务器将所述推流请求发送至鉴权服务器后获得的。

需要说明的是,中继流媒体服务器在接收到推流请求后,会向鉴权服务器请求鉴权,判断推流客户端是否有权限将直播视频文件上传至中继流媒体服务器。若有权限,则鉴权服务器向中继流媒体服务器发送鉴权成功消息,中继流媒体服务器将鉴权成功消息转发至边缘流媒体服务器,边缘流媒体服务器向推流客户端反馈推流请求转发消息。

图7为本发明一个实施例的推流客户端的结构示意图。如图7所示,本发明实施例的推流客户端包括边缘流媒体服务器获取单元71、第一推流请求发送单元72和第一直播视频文件发送单元73,具体地:

边缘流媒体服务器获取单元71,用于通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;

第一推流请求发送单元72,用于将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;

第一直播视频文件发送单元73,用于当接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息时,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

可选地,该推流客户端还包括:

第二直播视频文件发送单元,用于当接收到所述最近的边缘流媒体服务器反馈的推流请求转发消息时,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

本发明实施例所述的推流客户端可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

图8为本发明一个实施例的边缘流媒体服务器的结构示意图。如图8所示,本发明实施例的边缘流媒体服务器包括推流请求接收单元81、判断单元82、推流请求应答消息反馈单元83和第一直播视频文件接收单元84,具体地:

推流请求接收单元81,用于接收到推流客户端的直播视频文件的推流请求;

判断单元82,用于根据网络配置信息判断自身的预设范围内是否存在转码服务器;

推流请求应答消息反馈单元83,用于当根据网络配置信息判断自身的预设范围内存在转码服务器时,则向所述推流客户端反馈推流请求应答消息;

第一直播视频文件接收单元84,用于接收所述推流客户端发送的直播视频文件;

其中,所述边缘流媒体服务器是所述推流客户端通过动态域名解析获取的内容分发网络中的最近的边缘流媒体服务器。

可选地,该边缘流媒体服务器还包括:

调度请求信息发送单元,用于当根据网络配置信息判断自身的预设范围内不存在转码服务器时,则向所述调度服务器发送调度请求信息;

转推路径发送单元,用于接收所述调度服务器发送的转推路径,所述转推路径包括中继流媒体服务器的网络地址;

推流请求转发消息反馈单元,用于向所述推流客户端反馈推流请求转发消息;

第二直播视频文件接收单元,用于接收所述推流客户端发送的直播视频文件,并将所述直播视频文件发送至所述中继流媒体服务器中。

可选地,该边缘流媒体播放器还包括:

第二推流请求发送单元,用于将所述推流请求沿所述转推路径发送至所述中继流媒体服务器;

鉴权成功消息接收单元,用于接收所述中继流媒体服务器反馈的鉴权成功消息;

其中,所述鉴权成功消息是所述中继流媒体服务器将所述推流请求发送至鉴权服务器后获得的。

本发明实施例所述的边缘流媒体服务器可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

图9为本发明实施例推流客户端的实体结构示意图。如图9所示,该推流客户端包括:

处理器(processor)91、存储器(memory)92和总线93,其中,处理器91和存储器92通过总线93完成相互间的通信。处理器91可以调用存储器92中的逻辑指令,以执行如下方法:

推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;

将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;

若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

此外,上述的存储器92中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

图10为本发明实施例边缘流媒体服务器的实体结构示意图。如图10所示,该边缘流媒体服务器包括:

处理器(processor)101、存储器(memory)102和总线103,其中,处理器101和存储器102通过总线103完成相互间的通信。处理器101可以调用存储器102中的逻辑指令,以执行如下方法:

边缘流媒体服务器接收推流客户端的直播视频文件的推流请求;

根据网络配置信息判断自身的预设范围内是否存在转码服务器;

若存在,则向所述推流客户端反馈推流请求应答消息;

接收所述推流客户端发送的直播视频文件;

其中,所述边缘流媒体服务器是所述推流客户端通过动态域名解析获取的内容分发网络中的最近的边缘流媒体服务器。

此外,上述的存储器102中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:

推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;

将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;

若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:

推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;

将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;

若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。

本发明实施例提供的直播视频文件的推流方法、客户端及边缘流媒体服务器,推流客户端通过动态域名解析获取内容分发网络中的最近的边缘流媒体服务器;将直播视频文件的推流请求发送至所述最近的边缘流媒体服务器;若接收到所述最近的边缘流媒体服务器反馈的推流请求应答消息,则将所述直播视频文件发送至所述最近的边缘流媒体服务器。本发明实施例将直播视频文件推流至距推流客户端最近的边缘流媒体服务器,避免了现有技术中直接将直播视频文件推流至核心的BGP节点造成的上传速率不稳定、成本较高的缺陷,保证了推流质量。

所属领域的技术人员可以清楚地了解到,为描述的方便和简沽,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1