CN111417001B - 视频传输方法、装置、服务器及存储介质 - Google Patents
视频传输方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN111417001B CN111417001B CN202010339450.9A CN202010339450A CN111417001B CN 111417001 B CN111417001 B CN 111417001B CN 202010339450 A CN202010339450 A CN 202010339450A CN 111417001 B CN111417001 B CN 111417001B
- Authority
- CN
- China
- Prior art keywords
- video
- account
- transcoding
- distributed
- terminal
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 35
- 238000013145 classification model Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002354 daily effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 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/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
- H04N21/2743—Video hosting of uploaded data from client
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开提供了一种视频传输方法、装置、服务器及存储介质,属于多媒体技术领域。所述方法包括:接收到终端的视频上传请求时,获取上传限制状态,所述视频上传请求包括所述终端中已登录账户的账户信息,所述上传限制状态用于指示是否可以接收终端上传的视频;若所述上传限制状态为限制上传,根据所述账户信息确定所述终端中已登录账户所属的账户类型;若所述账户类型为目标类型,与所述终端建立视频传输通道,接收所述终端基于所述视频传输通道上传的第一视频;若所述账户类型不为目标类型,向所述终端返回拒绝响应,所述拒绝响应用于指示所述终端延后重传。上述技术方案,既缓解了服务器压力,又保证了目标类型的账户可以上传视频。
Description
技术领域
本公开涉及多媒体技术领域,尤其涉及一种视频传输方法、装置、服务器及存储介质。
背景技术
随着移动互联网技术的发展和第五代通信技术(5th Generation MobileNetworks,5G)的普及,多媒体资源越来越影响着人们的生活和消费方式。例如,以短视频为例,制作短视频的用户将制作完成的短视频通过上传服务进行上传后,观看短时频的用户即可以通过客户端进行观看。由于短视频具有传播范围广、生活氛围浓、人人可以参与制作的特点,从而吸引了大量的用户来制作短视频。因此,如何为制作多媒体资源的用户提供良好的上传服务是一个需要解决的问题。
相关技术中,提供上传服务的服务商,通常会根据日常情况下多媒体资源的上传量配置相应的用于上传服务的服务资源。例如,日常情况下短视频的上传量在100万个左右,服务商可以配置满足110万短视频的上传服务的服务资源。
然而,由于在国庆阅兵、跨年零点、春节等特殊的时间,多媒体资源,如短视频的上传量会出现爆发式的增长,通常会达到日常情况下的几倍甚至十几倍。这就使得用于上传服务的服务资源很快就被占用完,并且还有源源不断的用户在请求上传服务,从而导致服务器崩溃,无法正常提供上传服务。
发明内容
本公开实施例提供了一种视频传输方法、装置、服务器及存储介质,既能缓解服务器压力,又能保证目标类型的账户可以上传视频。所述技术方案如下:
根据本公开实施例的第一方面,提供了一种视频传输方法,所述方法包括:
接收到终端的视频上传请求时,获取上传限制状态,所述视频上传请求包括所述终端中已登录账户的账户信息,所述上传限制状态用于指示是否可以接收终端上传的视频;
若所述上传限制状态为限制上传,根据所述账户信息确定所述终端中已登录账户所属的账户类型;
若所述账户类型为目标类型,与所述终端建立视频传输通道,接收所述终端基于所述视频传输通道上传的第一视频;
若所述账户类型不为目标类型,向所述终端返回拒绝响应,所述拒绝响应用于指示所述终端延后重传。
在一种可选的实现方式中,所述根据所述账户信息确定所述终端中已登录账户所属的账户类型,包括:
根据所述账户信息,获取用于指示所述终端已登录账户的视频发布历史的视频发布信息;
将所述视频发布信息输入账户分类模型,基于所述账户分类模型,确定所述终端已登录账户所属的账户类型。
在一种可选的实现方式中,所述接收所述视频上传请求所指示的视频之后,所述方法还包括:
对于任一已上传的第二视频,获取转码限制状态,所述转码限制状态用于指示是否可以对视频进行转码;
若所述转码限制状态为限制转码,确定上传所述第二视频的终端中已登录账户的账户类型;
若所述账户类型为目标类型,对所述第二视频进行转码,将转码得到的视频作为待分发视频,所述转码用于对视频进行压缩和转换编码格式,所述待分发视频用于分发至内容分发网络中的节点中;
若所述账户类型不为目标类型,不执行对所述第二视频进行转码,将所述第二视频作为待分发视频。
在一种可选的实现方式中,所述获取转码限制状态之前,所述方法还包括:
获取预转码限制状态,所述预转码限制状态用于指示是否可以对视频进行预转码;
若所述预转码限制状态为不限制预转码,对所述第二视频进行预转码,所述预转码用于对视频的格式信息、时长信息以及尺寸信息中的至少一种进行检测。
在一种可选的实现方式中,所述方法还包括:
若所述预转码限制状态为限制预转码,确定上传所述第二视频的终端中已登录账户的账户类型;
若所述账户类型不为目标类型,向所述终端返回用于提示转码失败的提示信息;
若所述账户类型为目标类型,对所述第二视频进行预转码和转码,将转码得到的视频作为待分发视频,不执行获取转码限制状态的步骤及后续步骤。
在一种可选的实现方式中,所述方法还包括:
对于任一待分发视频,获取中间节点限制状态,所述中间节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的中间节点;
若所述中间节点限制状态为不限制中间节点分发,将所述待分发视频分发至内容分发网络的中间节点。
在一种可选的实现方式中,所述方法还包括:
若所述中间节点限制状态为限制中间节点分发,确定上传所述待分发视频的终端中已登录账户的账户类型;
若所述账户类型不为目标类型,不执行将所述待分发视频分发至内容分发网络的中间节点;
若所述账户类型为目标类型,将所述待分发视频分发至内容分发网络的中间节点和边缘节点。
在一种可选的实现方式中,所述将所述待分发视频分发至中间节点之后,所述方法还包括:
获取边缘节点限制状态,所述边缘节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的边缘节点;
若所述边缘节点限制状态为限制边缘节点分发,确定上传所述待分发视频的终端中已登录账户的账户类型;
若所述账户类型为目标类型,将所述已分发至中间节点的视频分发至内容分发网络的边缘节点;
若所述已分发至中间节点的视频对应的账户类型不为目标类型,不执行将所述已分发至中间节点的视频分发至内容分发网络的边缘节点。
根据本公开实施例的第二方面,提供了一种视频传输装置,所述装置包括:
获取单元,被配置为接收到终端的视频上传请求时,获取上传限制状态,所述视频上传请求包括所述终端中已登录账户的账户信息,所述上传限制状态用于指示是否可以接收终端上传的视频;
确定单元,被配置为若所述上传限制状态为限制上传,根据所述账户信息确定所述终端中已登录账户所属的账户类型;
通道建立单元,被配置为若所述账户类型为目标类型,与所述终端建立视频传输通道,接收所述终端基于所述视频传输通道上传的第一视频;
响应单元,被配置为若所述账户类型不为目标类型,向所述终端返回拒绝响应,所述拒绝响应用于指示所述终端延后重传。
在一种可选的实现方式中,所述确定单元,还被配置为根据所述账户信息,获取用于指示所述终端已登录账户的视频发布历史的视频发布信息;将所述视频发布信息输入账户分类模型,基于所述账户分类模型,确定所述终端已登录账户所属的账户类型。
在一种可选的实现方式中,所述装置还包括:
所述获取单元,还被配置为对于任一已上传的第二视频,获取转码限制状态,所述转码限制状态用于指示是否可以对视频进行转码;
所述确定单元,还被配置为若所述转码限制状态为限制转码,确定上传所述第二视频的终端中已登录账户的账户类型;
转码单元,被配置为若所述账户类型为目标类型,对所述第二视频进行转码,将转码得到的视频作为待分发视频,所述转码用于对视频进行压缩和转换编码格式,所述待分发视频用于分发至内容分发网络中的节点中;
所述转码单元,还被配置为若所述账户类型不为目标类型,不执行对所述第二视频进行转码,将所述第二视频作为待分发视频。
在一种可选的实现方式中,所述获取单元,还被配置为获取预转码限制状态,所述预转码限制状态用于指示是否可以对视频进行预转码;
所述转码单元,还被配置为若所述预转码限制状态为不限制预转码,对所述第二视频进行预转码,所述预转码用于对视频的格式信息、时长信息以及尺寸信息中的至少一种进行检测。
在一种可选的实现方式中,所述装置还包括:
所述确定单元,还被配置为若所述预转码限制状态为限制预转码,确定上传所述第二视频的终端中已登录账户的账户类型;
提示单元,被配置为若所述账户类型不为目标类型,向所述终端返回用于提示转码失败的提示信息;
所述转码单元,还被配置为若所述账户类型为目标类型,对所述第二视频进行预转码和转码,将转码得到的视频作为待分发视频,不执行获取转码限制状态的步骤及后续步骤。
在一种可选的实现方式中,所述装置还包括:
所述获取单元,还被配置为对于任一待分发视频,获取中间节点限制状态,所述中间节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的中间节点;
分发单元,被配置为若所述中间节点限制状态为不限制中间节点分发,将所述待分发视频分发至内容分发网络的中间节点。
在一种可选的实现方式中,所述确定单元,还被配置为若所述中间节点限制状态为限制中间节点分发,确定上传所述待分发视频的终端中已登录账户的账户类型;
所述分发单元,还被配置为若所述账户类型不为目标类型,不执行将所述待分发视频分发至内容分发网络的中间节点;
所述分发单元,还被配置为若所述账户类型为目标类型,将所述待分发视频分发至内容分发网络的中间节点和边缘节点。
在一种可选的实现方式中,所述获取单元,还被配置为获取边缘节点限制状态,所述边缘节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的边缘节点;
所述确定单元,还被配置为若所述边缘节点限制状态为限制边缘节点分发,确定上传所述待分发视频的终端中已登录账户的账户类型;
所述分发单元,还被配置为若所述账户类型为目标类型,将所述已分发至中间节点的视频分发至内容分发网络的边缘节点;
所述分发单元,还被配置为若所述已分发至中间节点的视频对应的账户类型不为目标类型,不执行将所述已分发至中间节点的视频分发至内容分发网络的边缘节点。
根据本公开实施例的第三方面,提供了一种服务器,所述服务器包括:
一个或多个处理器;
用于存储该处理器可执行指令的存储器;
其中,该处理器被配置为执行该指令,以实现上述视频传输方法。
根据本公开实施例的第四方面,提供了一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行本公开实施例中的视频传输方法。
根据本公开实施例的第五方面,提供了一种计算机程序产品,该计算机程序产品存储有一条或多条指令,该一条或多条指令可以由服务器的处理器执行,以完成上述视频传输方法。
本公开实施例提供的技术方案至少带来以下有益效果:
在本公开实施例中,通过获取上传限制状态,来确定是否需要对上传的视频进行限制,即在上传请求爆发式增长时限制上传,避免服务器压力过大而崩溃,再根据账户类型来有选择的接收上传的视频,拒绝非目标类型的账户上传的视频,接收目标类型的账户上传的视频,既缓解了服务器压力,又保证了目标类型的账户可以上传视频。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据本公开实施例提供的视频传输系统100的结构框图。
图2是根据本公开实施例提供的一种视频传输方法的流程图。
图3是根据本公开实施例提供的另一种视频传输方法的流程图。
图4是根据本公开实施例提供的一种对视频进行转码处理的流程图。
图5是根据本公开实施例提供的一种视频预转码的示意图。
图6是根据本公开实施例提供的一种视频转码的示意图。
图7是根据本公开实施例提供的一种对视频进行分发处理的流程图。
图8是根据本公开实施例提供的一种分发待分发视频的示意图。
图9是根据本公开实施例提供的另一种分发待分发视频的示意图。
图10是根据本公开实施例提供的一种视频传输装置的框图。
图11是根据本公开实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
下面介绍一下本公开实施例的实施环境,本公开提供了一种视频传输方法,可以应用于终端向服务器传输视频文件的场景。以终端向服务器传输短视频的场景为例,制作短视频的用户可以称为短视频生产者,观看短时频的用户可以称为短视频消费者,短视频生产者可以通过终端向服务器发送视频上传请求,服务器可以响应该视频上传请求,与终端建立视频传输通道,将该制作完成的短视频上传至服务器。该短视频上传至服务器后,服务器可以对该短视频进行转码,然后将转码后的短视频分发到内容分发网络的各个节点中。短视频消费者可以通过终端从内容分发网络的节点中加载该短视频,从而观看到短视频生产者制作的短视频。
下面简单介绍一下本公开实施例提供的视频传输方法的主要步骤:首先,服务器在接收到终端的视频上传请求时,获取上传限制状态。其中,该视频上传请求包括终端中已登录账户的账户信息,该上传限制状态用于指示是否可以接收终端上传的视频。其次,若该上传限制状态为限制上传,服务器可以根据账户信息确定终端中已登录账户所属的账户类型。最后,若该账户类型为目标类型,服务器可以与终端建立视频传输通道,接收终端基于该视频传输通道上传的第一视频;若该账户类型不为目标类型,服务器可以向该终端返回拒绝响应,该拒绝响应用于指示终端延后重传。本公开实施例提供的视频传输方法,通过获取上传限制状态,来确定是否需要对上传的视频进行限制,即在上传请求爆发式增长时限制上传,避免服务器压力过大而崩溃,再根据账户类型来有选择的接收上传的视频,拒绝非目标类型的账户上传的视频,接收目标类型的账户上传的视频,既缓解了服务器压力,又保证了目标类型的账户可以上传视频。
图1是根据本公开实施例提供的视频传输系统100的结构框图。该视频传输系统100包括:终端110和视频传输平台120。
终端110通过无线网络或有线网络与视频传输平台120相连。终端110可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3播放器、MP4播放器和膝上型便携计算机中的至少一种。终端110安装和运行有支持视频上传的应用程序。该应用程序可以是多媒体类应用程序、社交类应用程序以及资讯类应用程序等。示意性的,终端110是用户使用的终端,终端110中运行的应用程序内登录有用户的账户。
视频传输平台120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。视频传输平台120用于为支持视频上传的应用程序提供后台的视频处理服务,如视频传输服务、视频转码服务、视频分发服务等。可选地,视频传输平台120承担主要视频处理工作,终端110承担次要视频处理工作;或者,视频传输平台120承担次要视频处理工作,终端110承担主要的视频处理工作;或者,视频传输平台120或终端110分别可以单独承担视频处理工作。
可选地,视频传输平台120包括:接入服务器、视频传输服务器、视频转码服务器、视频分发服务器和数据库。接入服务器用于为终端110提供接入服务。视频传输服务器用于为终端110提供视频传输服务。视频转码服务器用于提供视频转码服务,将已上传的视频进行转码,压缩视频的大小。视频分发服务器用于提供视频分发服务,用于将已转码的视频分发至内容分发网络的各个节点。
终端110可以泛指多个终端中的一个,本实施例仅以终端110来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述视频传输系统还包括其他终端。本公开实施例对终端的数量和设备类型不加以限定。
图2是根据本公开实施例提供的一种视频传输方法的流程图,如图2所示,该方法具体步骤包括:
201、接收到终端的视频上传请求时,获取上传限制状态,该视频上传请求包括该终端中已登录账户的账户信息,该上传限制状态用于指示是否可以接收终端上传的视频;
202、若该上传限制状态为限制上传,根据该账户信息确定该终端中已登录账户所属的账户类型;
203、若该账户类型为目标类型,与该终端建立视频传输通道,接收终端基于该视频传输通道上传的第一视频;
204、若该账户类型不为目标类型,向该终端返回拒绝响应,该拒绝响应用于指示该终端延后重传。
本公开实施例提供的方案,通过获取上传限制状态,来确定是否需要对上传的视频进行限制,即在上传请求爆发式增长时限制上传,避免服务器压力过大而崩溃,再根据账户类型来有选择的接收上传的视频,拒绝非目标类型的账户上传的视频,接收目标类型的账户上传的视频,既缓解了服务器压力,又保证了目标类型的账户可以上传视频。
在一种可能的实现方式中,该根据该账户信息确定该终端中已登录账户所属的账户类型,包括:
根据该账户信息,获取用于指示该终端已登录账户的视频发布历史的视频发布信息;
将该视频发布信息输入账户分类模型,基于该账户分类模型,确定该终端已登录账户所属的账户类型。
由于通过账户分类模型对终端已登录账户进行分类,确定该账户所属的账户类型,从而进一步的可以基于该账户类型进行视频传输。
在一种可能的实现方式中,该接收该视频上传请求所指示的视频之后,该方法还包括:
对于任一已上传的第二视频,获取转码限制状态,该转码限制状态用于指示是否可以对视频进行转码;
若该转码限制状态为限制转码,确定上传该第二视频的终端中已登录账户的账户类型;
若该账户类型为目标类型,对该第二视频进行转码,将转码得到的视频作为待分发视频,该转码用于对视频进行压缩和转换编码格式,该待分发视频用于分发至内容分发网络中的节点中;
若该账户类型不为目标类型,不执行对该第二视频进行转码,将该第二视频作为待分发视频。
由于通过转码限制状态来确定是否可以进行视频转码,使得已预转码的视频在转码限制状态更改为不限制转码前,不会被转码,从而避免了中央处理器资源被消耗殆尽,导致服务器崩溃的问题。
在一种可能的实现方式中,该获取转码限制状态之前,该方法还包括:
获取预转码限制状态,该预转码限制状态用于指示是否可以对视频进行预转码;
若该预转码限制状态为不限制预转码,对该第二视频进行预转码,该预转码用于对视频的格式信息、时长信息以及尺寸信息中的至少一种进行检测。
由于预转码也需要消耗中央处理器资源,服务器通过设置预转码限制状态,即在预转码阶段对已上传的第二视频进行一定的限制,可以节约中央处理器资源。
在一种可能的实现方式中,该方法还包括:
若该预转码限制状态为限制预转码,确定上传该第二视频的终端中已登录账户的账户类型;
若该账户类型不为目标类型,向该终端返回用于提示转码失败的提示信息;
若该账户类型为目标类型,对该第二视频进行预转码和转码,将转码得到的视频作为待分发视频,不执行获取转码限制状态的步骤及后续步骤。
由于通过对目标类型的账户上传的短视频进行预转码,而不对非目标类型的账户上传的短视频进行预转码,可以节约中央处理器资源
在一种可能的实现方式中,该方法还包括:
对于任一待分发视频,获取中间节点限制状态,该中间节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的中间节点;
若该中间节点限制状态为不限制中间节点分发,将该待分发视频分发至内容分发网络的中间节点。
由于通过设置中间节点限制状态,使得只有在中间限制状态为未限制中间节点分发时,待分发视频才可以被分发至中间节点,从而服务器可以节约一定的分发资源。
在一种可能的实现方式中,该方法还包括:
若该中间节点限制状态为限制中间节点分发,确定上传该待分发视频的终端中已登录账户的账户类型;
若该账户类型不为目标类型,不执行将该待分发视频分发至内容分发网络的中间节点;
若该账户类型为目标类型,将该待分发视频分发至内容分发网络的中间节点和边缘节点。
由于通过设置中间节点限制状态,使得在中间限制状态为限制中间节点分发时,只有目标类型的账户对应的待分发视频,才可以被分发至中间节点,从而服务器可以节约一定的分发资源。
在一种可选的实现方式中,该将该待分发视频分发至中间节点之后,该方法还包括:
获取边缘节点限制状态,该边缘节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的边缘节点;
若该边缘节点限制状态为限制边缘节点分发,确定上传该待分发视频的终端中已登录账户的账户类型;
若该账户类型为目标类型,将该已分发至中间节点的视频分发至内容分发网络的边缘节点;
若该已分发至中间节点的视频对应的账户类型不为目标类型,不执行将该已分发至中间节点的视频分发至内容分发网络的边缘节点。
由于将待分发视频分发至边缘节点需要占用一定的分发资源,且时间较长,因此在分发资源不充足时,服务器可以通过设置边缘节点限制状态,仅将目标类型的账户对应的待分发视频由中间节点分发至边缘节点,而非目标类型的账户对应的待分发视频保持在中间节点不变,以节约服务器的分发资源。
上述图2所示仅为本公开的基本流程,下面基于一种具体实现方式,来对本公开提供的方案进行进一步阐述,图3是根据本公开实施例提供的一种视频传输方法的流程图,如图3所示,在本公开实施例中以应用于服务器中为例进行说明。该视频传输方法包括以下步骤:
301、服务器接收到终端的视频上传请求时,获取上传限制状态,该视频上传请求包括终端中已登录账户的账户信息,该上传限制状态用于指示是否可以接收终端上传的视频。
在本公开实施例中,该服务器可以为用于视频传输的服务器,该终端可以安装有支持视频上传功能的应用程序,该服务器可以为该应用程序提供视频传输的后台服务。该终端的视频上传请求的发送方式可以为:用户在制作完视频后,可以通过终端中的应用程序向服务器发送视频上传请求。该视频上传请求可以携带有账户信息,该账户信息可以包括上述终端已登录账户的账户标识。上述上传限制状态可以包括限制上传和不限制上传两种状态,服务器可以每隔固定的时间确定一次上传限制状态,并存储该上传限制状态,在接收到视频上传请求时,获取已存储的上传限制状态;服务器还可以根据当前的服务资源占用情况实时的获取上传限制状态。服务器可以通过多种不同的参数来确定上传限制状态,如中央处理器的占用率、服务实例的并发任务数或者每秒能处理的请求数等。
在一种可选的实现方式中,服务器可以通过中央处理器的占用率来确定上述上传限制状态。相应的,服务器确定上传限制状态的步骤可以为:服务器可以每隔预设时间获取一次中央处理器的占用率,或者实时监测中央处理器的占用率,若中央处理器的占用率超过目标占用率阈值,则服务器可以将上传限制状态设置为限制上传;若中央处理器的占用率未超过目标占用率阈值,则服务器可以将上传限制状态设置为不限制上传。可选的,服务器还可以获取中央处理器的占用率峰值,若该占用率峰值超过目标占用率阈值,则服务器可以将上传限制状态设置为限制上传。其中,预设时间可以为1秒、3秒或者5秒等,目标占用率阈值可以为95%、90%或者80%等,本公开实施例对此不进行限制。服务器通过中央处理器的占用率来确定上传限制状态,可以避免由于中央处理器的占用率过高,导致服务器瘫痪的情况,使得服务器可以在中央处理器的占用率突增时,及时限制上传,保证服务器的稳定。
在一种可选的实现方式中,服务器可以通过并发任务数来确定上述上传限制状态。相应的,服务器确定上传限制状态的步骤可以为:服务器可以获取服务实例内同一时刻存在的执行任务数,若超过目标任务数阈值,则将上传限制状态设置为限制上传;若未超过目标任务数阈值,则将上传限制状态设置为不限制上传。由于服务器通过并发任务数来确定上传限制状态,使得服务器可以保持同一时刻执行的任务数在合理范围内,避免同时执行过多任务,导致服务器崩溃的问题,使得服务器可以在任务数突增时,及时限制上传,保证服务器的稳定。
在一种可选的实现方式中,服务器可以通过每秒能处理的请求数(QueriesPerSecond,QPS)来确定上述上传限制状态。相应的,服务器确定上传限制状态的步骤可以为:服务器可以获取每秒收到的请求数,若每秒收到的请求数超过服务器每秒能处理的请求数,则服务器可以将上传限制状态设置为限制上传;若每秒收到的请求数未超过服务器每秒能处理的请求数,则服务器可以将上传限制状态设置为不限制上传。由于服务器收到的请求数超过每秒能处理的请求数后,服务器的响应时间会增大,甚至会导致服务器崩溃,因此通过每秒能处理的请求数来确定上述上传限制状态,使得服务器可以在请求数突增时,及时限制上传,保证服务器的稳定。
需要说明的是,本公开实施例示例性的示出了三种确定上传限制状态的参数,服务器可以根据任一参数确定上传限制状态,也可以使用多个参数共同确定上传限制状态,本公开实施例对此不进行限制。在本公开实施例中,服务器同时使用上述三个参数来确定上传限制状态。通过采用不同的参数来确定上传限制状态,使得服务器可以从多个角度来确定是否对上传进行限制,从而即使应用于不同的服务器中,仍能够根据服务器的实际情况以及服务器正在处理的视频的实际情况,来确定上传限制状态,从而可以保证服务器能够正常运行。
需要说明的是,若服务器获取的上传限制状态为不限制上传,则服务器可以执行步骤302;若服务器获取的上传限制状态为限制上传,则服务器可以执行步骤303。
302、若上述上传限制状态为不限制上传,服务器与终端建立视频传输通道,接收终端基于该视频传输通道上传的第一视频。
在本公开实施例中,若上述上传限制状态为不限制上传,则表示当前服务器的服务器资源较为充足,服务器不需要对终端的视频上传请求进行限制。因此,服务器可以基于该视频上传请求,与终端建立用于传输视频的视频传输通道,接收终端通过该视频传输通道上传的第一视频,将终端上传的第一视频保存到服务器的数据库中。其中,该数据库可以为服务器基于云存储技术搭建的数据库,该数据库可以由服务器维护,也可以由第三方服务商进行维护。
例如,服务器可以提供用于视频传输的应用程序接口,基于该应用程序接口建立视频传输通道,承接终端上传的视频。终端上传的视频可以存储在blobStore(一种云端存储大字节数组的数据库)中。
303、若上述上传限制状态为限制上传,服务器根据账户信息确定终端中已登录账户所属的账户类型。
在本公开实施例中,若上述上传限制状态为限制上传,则表示当前服务器的服务器资源较为紧张,存在一定的崩溃风险,服务器需要对终端的视频上传请求进行限制。在上传限制状态为限制上传时,服务器可以有两种处理方式:第一种是服务器拒绝全部的视频上传请求,直至该上传限制状态更改为不限制上传为止;第二种是服务器预留一定的服务器资源为终端中已登录账户为目标类型的终端提供服务,使得已登录目标类型账户的终端仍然可以进行视频上传,并且不会对服务器的运行造成影响。服务器根据视频上传请求包括的账户信息确定账户类型可以通过两种方式实现:一种方式是根据账户信息中的账户标识直接获取该终端中已登录的账户所属的账户类型。其中,服务器可以存储有账户标识与账户类型的对应关系。另一种方式是根据账户信息获取该账户的视频发布信息,将该视频发布信息输入账户分类模型,由该账户分类模型输出账户类型。其中,该账户分类模型用于根据账户的发布信息,确定账户所属的类型。
在一种可选的实现方式中,服务器根据账户信息确定终端中已登录账户所属的账户类型的步骤可以为:服务器可以根据账户信息,获取用于指示终端已登录账户的视频发布历史的视频发布信息,服务器可以将该视频发布信息输入账户分类模型,基于该账户分类模型,确定终端已登录账户所属的账户类型。由于账户的视频发布信息能够反映账户最近一段时间发布的视频的质量和频率等信息,从而服务器可以根据视频发布信息对账户进行分类。
例如,视频发布信息可以包括发布视频的数量、发布视频的质量、发布视频的观看量、发布视频的好评量等信息,还可以包括账户订阅量以及粉丝增长量等信息。账户类型包括不活跃账户、较活跃账户、活跃用户以及优质用户。A账户最近几个月一个视频也没有上传,服务器可以基于账户分类模型,将该账户所属的账户类型确定为不活跃账户。B账户最近几个月上传了大量的视频,但是视频的质量比较低,观看量很少,服务器可以基于账户分类模型,将该账户所属的账户类型确定为较活跃账户。C账户最近几个月平均每个月都有视频上传,且视频的质量较高,观看量较多,收获了观看者的大量好评,服务器可以基于账户分类模型,将该账户所属的账户类型确定为活跃账户。D账户最近几个月平均每周甚至每天都有视频上传,且视频的质量较高,观看量较多,收获了观看者的大量好评,收到了很多订阅,粉丝数稳定增长,服务器可以基于账户分类模型,将该账户所属的账户类型确定为优质账户。
304、若上述账户类型为目标类型,服务器与终端建立视频传输通道,接收终端基于该视频传输通道上传的第一视频。
在本公开实施例中,该目标类型可以为优质账户,通常情况下,属于优质账户的账户约占账户总数的10%左右,而属于优质账户的账户贡献了大量的优质内容,大约有90%的账户的观看行为或者消费行为均与属于优质账户的账户有关。因此,服务器可以优先保证属于优质账户的账户能够正常上传视频。因此,在上述账户类型为目标类型时,服务器可以基于该视频上传请求,与终端建立用于传输视频的视频传输通道,将终端上传的视频保存到服务器的数据库中。
305、若上述账户类型不为目标类型,服务器向终端返回拒绝响应,该拒绝响应用于指示终端延后重传。
在本公开实施例中,若上账户类型不为目标类型,则表示服务器在上传限制状态为限制上传时,可以拒绝该视频上传请求,以免服务器出现故障。服务器可以向终端返回拒绝响应,来指示终端延后重传。
例如,服务器可以在向终端返回拒绝响应时,在该拒绝响应中携带有重传标识。终端在接收到该拒绝响应时,通过解析该拒绝响应可以得到该重传标识。终端在得到该重传标识后,会启动相应的重传机制,延迟一定的时间后再次发送视频上传请求,或者向服务器请求上传限制状态,在该上传限制状态为不限制上传时,再发送视频上传请求。
需要说明的是,上述步骤301至步骤305是本公开实施例提供的视频传输方法的可选实现方式,相应的,该视频传输方法还有其他可选实现方式,如在上传限制状态为限制上传时,不向终端返回拒绝响应,而是将该视频上传请求加入待处理队列,在上传限制状态更改为不限制上传时,基于该视频上传请求建立视频传输通道。本公开实施例对视频传输方法的实现方式不进行限制。
在本公开实施例中,通过获取上传限制状态,来确定是否需要对上传的视频进行限制,即在上传请求爆发式增长时限制上传,避免服务器压力过大而崩溃,再根据账户类型来有选择的接收上传的视频,拒绝非目标类型的账户上传的视频,接收目标类型的账户上传的视频,既缓解了服务器压力,又保证了目标类型的账户可以上传视频。
上述步骤301至步骤305描述了服务器在视频传输过程中的处理方式,而在视频上传到服务器之后,服务器还需要对已上传的视频进行转码处理。视频传输过程和视频转码过程并不一定是连续执行的过程,也可以是异步执行的过程,即服务器与多个终端建立视频传输通道进行视频传输,同时服务器也在对多个已上传的视频进行转码处理。为了便于描述,将已上传的视频统称为第二视频,服务器对第二视频进行转码处理的过程可以参见步骤401至步骤402所示。
图4是根据本公开实施例提供的一种对视频进行转码处理的流程图,如图4所示,包括以下步骤:
401、对于任一已上传的第二视频,服务器可以对该第二视频进行预转码,该预转码用于对视频的格式信息、时长信息以及尺寸信息中的至少一种进行检测。
在本公开实施例中,由于终端上传的第二视频可能具有不同的格式信息、时长信息以及尺寸信息,服务器可以先确定第二视频的上述信息,若任一第二视频的上述信息不符合要求,如格式不正确、时长过长、尺寸过大等,服务器可以确定该第二视频未通过预转码,可以向该第二视频对应的账户返回用于指示转码失败的提示信息。对于符合要求的第二视频,服务器可以基于上述第二信息确定该第二视频对应的转码方式,对第二视频进行转码,如将第二视频的格式由格式A转码到格式B。由于预转码对服务器的中央处理器资源的占用较低,服务器可以对全部的第二视频进行预转码,服务器也可以获取预转码限制状态,根据预转码限制状态来对第二视频进行预转码,该预转码限制状态用于指示是否可以对视频进行预转码。
在一种可选的实现方式中,服务器设置有预转码限制状态。相应的,服务器对第二视频进行预转码的步骤可以为:服务器可以获取预转码限制状态,若该预转码限制状态为不限制预转码,服务器可以对第二视频进行预转码。若预转码限制状态为限制预转码,服务器可以确定上传该第二视频的终端中已登录账户的账户类型。根据账户类型是否为目标类型来确定是否对该第二视频进行预转码。
相应的,服务器根据账户类型确定是否对该第二视频进行预转码的步骤可以为:若该账户类型不为目标类型,服务器可以向该终端返回用于提示转码失败的提示信息。若该账户类型为目标类型,服务器可以通过预留的中央处理器资源,对该第二视频进行预转码。
由于预转码也需要消耗中央处理器资源,服务器通过设置预转码限制状态,即在预转码阶段对已上传的第二视频进行一定的限制,通过预留的中央处理器资源对目标类型的账户上传的短视频进行预转码,而不对非目标类型的账户上传的短视频进行预转码,可以节约中央处理器资源。
需要说明的是,在服务器确定账户类型为目标类型时,服务器可以在对该第二视频进行预转码后,直接通过预留的中央处理器资源对已预转码的视频进行转码,将转码得到的视频作为待分发视频,不执行获取转码限制状态的步骤及后续步骤,即不再执行步骤402。
例如,以目标账户类型为优质账户为例,参见图5所示,图5是根据本公开实施例提供的一种视频预转码的示意图。在图5中,中央处理器有400个转码线程用于处理预转码和转码,服务器可以在转码线程占用量达到350时设置预转码限制状态为限制预转码,剩余50个转码线程为服务器预留的转码线程。如果转码线程占用量未达到350,则不限制预转码,服务器可以通过PRC服务对第二视频进行预转码。如果转码线程占用量达到350,则限制预转码,服务器可以判断账户类型是否是优质账户,如果不是优质账户,则服务器向终端返回“转码失败”的提示信息;如果是优质账户,则服务器可以通过预留的50个转码线程对该第二视频进行预转码和转码,不需要再去获取转码限流状态,直接完成转码步骤。
402、服务器对已预转码的视频进行转码,将转码得到的视频作为待分发视频。
在本公开实施例中,服务器可以对已预转码的视频进行转码,服务器对视频进行转码目的在于对视频进行压缩以及将视频转换为不同类型的编码格式,压缩后的视频大小会变小,可以减小用户在请求观看该视频时,对带宽和流量造成的压力。该待分发视频用于指示转码后的视频可以被分发到内容分发网络的各节点中。由于转码需要占用服务器大量的中央处理器资源,因此服务器可以设置转码限制状态,该转码限制状态用于指示是否可以对视频进行转码。若转码限制状态为不限制转码,则服务器可以对已预转码的视频进行转码;若转码限制状态为限制转码,则服务器可以停止对预转码的视频进行转码。
在一种可选的实现方式中,在转码限制状态为限制转码时,服务器可以根据上传该已预转码的视频对应的账户所属的账户类型,来确定是否对该已预转码的视频进行转码。相应的,服务器对该已预转码的视频进行转码的步骤可以为:服务器可以获取转码限制状态,若该转码限制状态为限制转码,服务器可以确定上传该第二视频的终端中已登录账户的账户类型。若该账户类型为目标类型,服务器可以通过预留的中央处理器资源,对该第二视频进行转码,将转码得到的视频作为待分发视频;若该账户类型不为目标类型,服务器可以不执行对第二视频进行转码,将该第二视频作为待分发视频。
由于服务器设置了转码限制状态,使得已预转码的视频在转码限制状态更改为不限制转码前,不会被转码,从而避免了中央处理器资源被消耗殆尽,导致服务器崩溃的问题,另外,由于目标类型的账户上传的视频受众面较广、质量高、视频大小也比较大,服务器可以通过预留的中央处理器资源对目标类型的账户上传的视频进行转码,而不对非目标类型的账户上传的视频进行转码,可以节约中央处理器资源。
例如,以目标账户类型为优质账户为例,参见图6所示,图6是根据本公开实施例提供的一种视频转码的示意图。在图6中,中央处理器有350个转码线程用于对视频进行转码,服务器可以在转码线程占用量达到300时设置转码限制状态为限制转码,剩余50个转码线程为服务器预留的转码线程。如果转码线程占用量未达到300,则不限制转码,服务器可以通过RPC(Remote Procedure Call,远程过程调用)服务对已预转码的视频进行转码,将转码得到的视频作为待分发视频;如果转码线程占用量达到300,则限制转码,服务器可以判断账户类型是否是优质账户,如果是优质账户,则服务器通过预留的50个转码线程对该已预转码的视频进行转码,如果不是优质账户,则服务器不对该已预转码的视频进行转码。
需要说明的是,随着终端性能的提高,上述服务器对第二视频进行转码的过程,既可以由服务器独立完成,也可以由终端和服务器共同完成,还可以由终端独立完成。也即对于性能较强的终端,在上传视频之前,终端可以对该视频进行预转码和转码,从而大大的减轻服务器的压力;对于性能稍差的终端,在上传视频之前,终端可以仅对短视频进行预转码,或者终端对视频进行一定比例的压缩,再由服务器对压缩后的视频进一步压缩。本公开实施例对此不进行限制。
需要说明的是,上述步骤401至步骤402是服务器对已上传的第二视频进行转码处理的可选实现方式,相应的,服务器还可以不执行对已上传的第二视频进行预转码,而是直接对已上传的视频进行转码,从而节约预转码占用的中央处理器资源。
在本公开实施例中,通过获取预转码限制状态和转码限制状态,在预转码和转码两个阶段分别进行限制,即在已上传的第二视频数量过多或者大小过大,占用了较多的中央处理器资源时,限制预转码和转码,仅对目标类型的账户上传的视频进行预转码和转码,缓解了服务器的压力。
上述步骤401至步骤402描述了服务器在视频转码过程中的处理方式,而在视频转码之后,服务器还需要将已转码的视频,即待分发视频,分发到内容分发网络的各个节点上,这样用户才可以看到该视频。服务器对待分发视频进行分发处理的过程可以参见步骤701至步骤702所示。
图7是根据本公开实施例提供的一种对视频进行分发处理的流程图,如图7所示,包括以下步骤:
701、对于任一待分发视频,服务器将该待分发视频分发至内容分发网络的中间节点。
在本公开实施例中,服务器转码得到的待分发视频存储在内容分发网络的源站,用户在观看视频时,会优先从内容分发网络的边缘节点来请求该视频,如果边缘节点没有该视频,则会向中间节点来请求该视频,如果中间节点也没有,则会向源站请求该视频,这就导致用户等待时间过长,影响用户的体验。因此,服务器可以将待分发视频分发至中间节点,来缩短用户等待的时间。服务器可以将全部的待分发视频均分发至中间节点,也可以设置中间节点限制状态,根据中间节点限制状态来对待分发视频进行分发,该中间节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的中间节点。
在一种可选的实现方式中,服务器设置有预转码限制状态。相应的,服务器将待分发视频分发至内容分发网络的中间节点的步骤可以为:服务器可以获取中间节点限制状态。若该中间节点限制状态为不限制中间节点分发,服务器可以将待分发视频分发至内容分发网络的中间节点。若中间节点限制状态为限制中间节点分发,服务器可以确定上传该待分发视频的终端中已登录账户的账户类型。根据账户类型是否为目标类型来确定是否对该待分发视频进行分发。
相应的,服务器根据账户类型确定是否对待分发视频进行分发的步骤可以为:若该账户类型不为目标类型,服务器可以不执行将该待分发视频分发至内容分发网络的中间节点,将该待分发视频保留在源站;若该账户类型为目标类型,服务器可以将待分发视频分发至内容分发网络的中间节点。
由于非目标类型的账户对应的待分发视频观看的人数较少,即使不分发到中间节点都没有太大的影响,因此,服务器通过设置中间节点限制状态,使得只有在中间限制状态为未限制中间节点分发时,待分发视频才可以被分发至中间节点,或者在中间限制状态为限制中间节点分发时,只有目标类型的账户对应的待分发视频,才可以被分发至中间节点,从而服务器可以节约一定的分发资源。
需要说明的是,在服务器确定账户类型为目标类型时,服务器可以在将该待分发视频分发至内容分发网络的中间节点之后,直接通过预留的中央处理器资源将该待分发视频分发至内容分发网络的边缘节点,不再执行步骤702。
例如,以目标账户类型为优质账户为例,参见图8所示,图8是根据本公开实施例提供的一种分发待分发视频的示意图。在图8中,服务器可以配置有400个分发线程用于对待分发视频进行分发,服务器可以在分发线程占用量达到350时设置中间节点限制状态为限制中间节点分发,剩余50个分发线程为服务器预留的分发线程,用于为优质账户服务。如果分发线程占用量未达到350,则不限制中间节点分发,服务器可以将待分发视频分发至中间节点,该分发过程也可以称为预热,即将待分发视频预热至中间节点。如果分发线程占用量达到350,则限制中间节点分发,服务器可以判断账户类型是否是优质账户,如果是优质账户,则服务器通过预留的50个分发线程,将待分发视频分发至内容分发网络的中间节点和边缘节点;如果不是优质账户,服务器可以保持该待分发视频在源站不动,不分发至中间节点。
702、服务器将已分发至中间节点的视频分发至内容分发网络的边缘节点。
在本公开实施例中,服务器可以将已分发至中间节点的视频分发至边缘节点,但是由于分发到边缘节点需要占用较多的分发资源,如带宽、容量等,因此服务器可以设置边缘节点限制状态,该边缘节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的边缘节点。若边缘节点限制状态为不限制边缘节点分发,则服务器可以将该已分发至中间节点的视频,进一步的分发至内容分发网络的边缘节点;若边缘节点限制状态为限制边缘节点分发,则服务器可以不执行将待分发视频仅分发至边缘节点。
在一种可选的实现方式中,边缘节点限制状态为限制边缘节点分发时,服务器可以根据该待分发视频对应的账户所属的账户类型,来确定是否将该待分发视频分发至边缘节点。相应的,服务器将已分发至中间节点的视频分发至边缘节点的步骤可以为:服务器可以获取边缘节点限制状态。若该边缘节点限制状态为限制边缘节点分发,服务器可以确定上传该待分发视频的终端中已登录账户的账户类型。若该账户类型为目标类型,服务器可以将已分发至中间节点的视频分发至内容分发网络的边缘节点;若已分发至中间节点的视频对应的账户类型不为目标类型,服务器可以不执行将该已分发至中间节点的视频分发至内容分发网络的边缘节点。
由于将待分发视频分发至边缘节点需要占用一定的分发资源,且时间较长,因此在分发资源不充足时,服务器可以通过设置边缘节点限制状态,仅将目标类型的账户对应的待分发视频由中间节点分发至边缘节点,而非目标类型的账户对应的待分发视频保持在中间节点不变,以节约服务器的分发资源。
例如,以目标账户类型为优质账户为例,参见图9所示,图9是根据本公开实施例提供的另一种分发待分发视频的示意图,图9在图8的基础上添加了将已分发至中间节点的待分发视频分发至边缘节点的过程。在图9中,服务器可以在分发线程占用量达到300时设置边缘节点限制状态为限制边缘节点分发,剩余50个分发线程为服务器预留的分发线程,用于为优质账户服务。如果分发线程占用量未达到300,则不限制边缘节点分发,服务器可以将已分发至中间节点的待分发视频分发至边缘节点。如果分发线程占用量达到了300,服务器可以判断账户类型是否是优质账户,如果是优质账户,则服务通过预留的50个线程将已分发至中间节点的待分发视频分发至边缘节点;如果不是优质账户,服务器可以保持分发到中间节点不变。
需要说明的是,上述步骤701至步骤702是服务器对待分发视频进行分发的可选实现方式,相应的,服务器还可以先确定账户类型是否是目标类型,如果是目标类型,则直接分发至中间节点和边缘节点,如果不是目标类型,再根据中间节点限制状态和边缘节点限制状态进行分发处理。
还需要说明的是,由于短视频具有体量小、传播范围广等特点,容易出现在上产量突增的情况,对服务器造成一定的压力,因此本公开实施例提供的视频传输方法,可以很好的应用于短视频的传输、转码以及分发过程中。
在本公开实施例中,通过获取中间节点限制状态和边缘节点限制状态,在分发至中间节点和分发至边缘节点两个阶段进行限制,即在待分发视频较多,需要占用较多的分发资源时,限制分发到中间节点和边缘节点,仅将目标类型的账户上传的视频分发到边缘节点,既缓解了服务器压力,又保证大多数用户可以观看到视频。
图10是根据本公开实施例提供的一种视频传输装置的框图。该装置被配置为执行上述视频传输方法执行时的步骤,参见图10,装置包括:获取单元1001、确定单元1002、通道建立单元1003以及响应单元1004。
获取单元1001,被配置为接收到终端的视频上传请求时,获取上传限制状态,视频上传请求包括终端中已登录账户的账户信息,上传限制状态被配置为指示是否可以接收终端上传的视频;
确定单元1002,被配置为若上传限制状态为限制上传,根据账户信息确定终端中已登录账户所属的账户类型;
通道建立单元1003,被配置为若账户类型为目标类型,与终端建立视频传输通道,接收终端基于该视频传输通道上传的第一视频;
响应单元1004,被配置为若账户类型不为目标类型,向终端返回拒绝响应,拒绝响应被配置为指示终端延后重传。
在一种可选的实现方式中,确定单元1002,还被配置为根据账户信息,获取被配置为指示终端已登录账户的视频发布历史的视频发布信息;将视频发布信息输入账户分类模型,基于账户分类模型,确定终端已登录账户所属的账户类型。
在一种可选的实现方式中,装置还包括:
获取单元1001,还被配置为对于任一已上传的第二视频,获取转码限制状态,转码限制状态被配置为指示是否可以对视频进行转码;
确定单元1002,还被配置为若转码限制状态为限制转码,确定上传第二视频的终端中已登录账户的账户类型;
转码单元,被配置为若账户类型为目标类型,对第二视频进行转码,将转码得到的视频作为待分发视频,转码被配置为对视频进行压缩和转换编码格式,待分发视频被配置为分发至内容分发网络中的节点中;
转码单元,还被配置为若账户类型不为目标类型,不执行对第二视频进行转码,将第二视频作为待分发视频。
在一种可选的实现方式中,获取单元1001,还被配置为获取预转码限制状态,预转码限制状态被配置为指示是否可以对视频进行预转码;
转码单元,还被配置为若预转码限制状态为不限制预转码,对第二视频进行预转码,预转码被配置为对视频的格式信息、时长信息以及尺寸信息中的至少一种进行检测。
在一种可选的实现方式中,装置还包括:
确定单元1002,还被配置为若预转码限制状态为限制预转码,确定上传第二视频的终端中已登录账户的账户类型;
提示单元,被配置为若账户类型不为目标类型,向终端返回被配置为提示转码失败的提示信息;
转码单元,还被配置为若账户类型为目标类型,对第二视频进行预转码和转码,将转码得到的视频作为待分发视频,不执行获取转码限制状态的步骤及后续步骤。
在一种可选的实现方式中,装置还包括:
获取单元1001,还被配置为对于任一待分发视频,获取中间节点限制状态,中间节点限制状态被配置为指示是否可以将待分发视频分发至内容分发网络的中间节点;
分发单元,被配置为若中间节点限制状态为不限制中间节点分发,将待分发视频分发至内容分发网络的中间节点。
在一种可选的实现方式中,确定单元1002,还被配置为若中间节点限制状态为限制中间节点分发,确定上传待分发视频的终端中已登录账户的账户类型;
分发单元,还被配置为若账户类型不为目标类型,不执行将待分发视频分发至内容分发网络的中间节点;
分发单元,还被配置为若账户类型为目标类型,将待分发视频分发至内容分发网络的中间节点和边缘节点。
在一种可选的实现方式中,获取单元1001,还被配置为获取边缘节点限制状态,边缘节点限制状态被配置为指示是否可以将待分发视频分发至内容分发网络的边缘节点;
确定单元1002,还被配置为若边缘节点限制状态为限制边缘节点分发,确定上传待分发视频的终端中已登录账户的账户类型;
分发单元,还被配置为若账户类型为目标类型,将已分发至中间节点的视频分发至内容分发网络的边缘节点;
分发单元,还被配置为若已分发至中间节点的视频对应的账户类型不为目标类型,不执行将已分发至中间节点的视频分发至内容分发网络的边缘节点。
在本公开实施例中,通过获取上传限制状态,来确定是否需要对上传的视频进行限制,即在上传请求爆发式增长时限制上传,避免服务器压力过大而崩溃,再根据账户类型来有选择的接收上传的视频,拒绝非目标类型的账户上传的视频,接收目标类型的账户上传的视频,既缓解了服务器压力,又保证了目标类型的账户可以上传视频。
需要说明的是:上述实施例提供的视频传输装置在运行应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频传输装置与视频传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是根据本公开实施例提供的一种服务器的结构框图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)1101和一个或一个以上的存储器1102,其中,该存储器1102中存储有至少一条指令,该至少一条指令由处理器1101加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器1102,上述指令可由者服务器1100的处理器1101执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (18)
1.一种视频传输方法,其特征在于,应用于服务器,所述方法包括:
接收到终端的视频上传请求时,获取所述服务器的上传限制状态,所述视频上传请求包括所述终端中已登录账户的账户信息,所述上传限制状态用于指示所述服务器是否可以接收终端上传的视频;
若所述上传限制状态为限制上传,根据所述账户信息确定所述终端中已登录账户所属的账户类型;
若所述账户类型为目标类型,与所述终端建立视频传输通道,接收所述终端基于所述视频传输通道上传的第一视频;
若所述账户类型不为目标类型,向所述终端返回拒绝响应,所述拒绝响应用于指示所述终端延后重传。
2.根据权利要求1所述的方法,其特征在于,所述根据所述账户信息确定所述终端中已登录账户所属的账户类型,包括:
根据所述账户信息,获取用于指示所述终端已登录账户的视频发布历史的视频发布信息;
将所述视频发布信息输入账户分类模型,基于所述账户分类模型,确定所述终端已登录账户所属的账户类型。
3.根据权利要求1所述的方法,其特征在于,所述接收所述视频上传请求所指示的视频之后,所述方法还包括:
对于任一已上传的第二视频,获取转码限制状态,所述转码限制状态用于指示是否可以对视频进行转码;
若所述转码限制状态为限制转码,确定上传所述第二视频的终端中已登录账户的账户类型;
若所述账户类型为目标类型,对所述第二视频进行转码,将转码得到的视频作为待分发视频,所述转码用于对视频进行压缩和转换编码格式,所述待分发视频用于分发至内容分发网络中的节点中;
若所述账户类型不为目标类型,不执行对所述第二视频进行转码,将所述第二视频作为待分发视频。
4.根据权利要求3所述的方法,其特征在于,所述获取转码限制状态之前,所述方法还包括:
获取预转码限制状态,所述预转码限制状态用于指示是否可以对视频进行预转码;
若所述预转码限制状态为不限制预转码,对所述第二视频进行预转码,所述预转码用于对视频的格式信息、时长信息以及尺寸信息中的至少一种进行检测。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述预转码限制状态为限制预转码,确定上传所述第二视频的终端中已登录账户的账户类型;
若所述账户类型不为目标类型,向所述终端返回用于提示转码失败的提示信息;
若所述账户类型为目标类型,对所述第二视频进行预转码和转码,将转码得到的视频作为待分发视频,不执行获取转码限制状态的步骤及后续步骤。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述方法还包括:
对于任一待分发视频,获取中间节点限制状态,所述中间节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的中间节点;
若所述中间节点限制状态为不限制中间节点分发,将所述待分发视频分发至内容分发网络的中间节点。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述中间节点限制状态为限制中间节点分发,确定上传所述待分发视频的终端中已登录账户的账户类型;
若所述账户类型不为目标类型,不执行将所述待分发视频分发至内容分发网络的中间节点;
若所述账户类型为目标类型,将所述待分发视频分发至内容分发网络的中间节点和边缘节点。
8.根据权利要求7所述的方法,其特征在于,将所述待分发视频分发至中间节点之后,所述方法还包括:
获取边缘节点限制状态,所述边缘节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的边缘节点;
若所述边缘节点限制状态为限制边缘节点分发,确定上传所述待分发视频的终端中已登录账户的账户类型;
若所述账户类型为目标类型,将所述已分发至中间节点的视频分发至内容分发网络的边缘节点;
若所述已分发至中间节点的视频对应的账户类型不为目标类型,不执行将所述已分发至中间节点的视频分发至内容分发网络的边缘节点。
9.一种视频传输装置,其特征在于,应用于服务器,所述装置包括:
获取单元,被配置为接收到终端的视频上传请求时,获取所述服务器的上传限制状态,所述视频上传请求包括所述终端中已登录账户的账户信息,所述上传限制状态用于指示所述服务器是否可以接收终端上传的视频;
确定单元,被配置为若所述上传限制状态为限制上传,根据所述账户信息确定所述终端中已登录账户所属的账户类型;
通道建立单元,被配置为若所述账户类型为目标类型,与所述终端建立视频传输通道,接收所述终端基于所述视频传输通道上传的第一视频;
响应单元,被配置为若所述账户类型不为目标类型,向所述终端返回拒绝响应,所述拒绝响应用于指示所述终端延后重传。
10.根据权利要求9所述的装置,其特征在于,所述确定单元,还用于根据所述账户信息,获取用于指示所述终端已登录账户的视频发布历史的视频发布信息;将所述视频发布信息输入账户分类模型,基于所述账户分类模型,确定所述终端已登录账户所属的账户类型。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
所述获取单元,还用于对于任一已上传的第二视频,获取转码限制状态,所述转码限制状态用于指示是否可以对视频进行转码;
所述确定单元,还用于若所述转码限制状态为限制转码,确定上传所述第二视频的终端中已登录账户的账户类型;
转码单元,用于若所述账户类型为目标类型,对所述第二视频进行转码,将转码得到的视频作为待分发视频,所述转码用于对视频进行压缩和转换编码格式,所述待分发视频用于分发至内容分发网络中的节点中;
转码单元,用于若所述账户类型不为目标类型,不执行对所述第二视频进行转码,将所述第二视频作为待分发视频。
12.根据权利要求11所述的装置,其特征在于,所述获取单元,还用于获取预转码限制状态,所述预转码限制状态用于指示是否可以对视频进行预转码;
所述转码单元,还用于若所述预转码限制状态为不限制预转码,对所述第二视频进行预转码,所述预转码用于对视频的格式信息、时长信息以及尺寸信息中的至少一种进行检测。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
所述确定单元,还用于若所述预转码限制状态为限制预转码,确定上传所述第二视频的终端中已登录账户的账户类型;
提示单元,用于若所述账户类型不为目标类型,向所述终端返回用于提示转码失败的提示信息;
所述转码单元,还用于若所述账户类型为目标类型,对所述第二视频进行预转码和转码,将转码得到的视频作为待分发视频,不执行获取转码限制状态的步骤及后续步骤。
14.根据权利要求11-13任一项所述的装置,其特征在于,所述装置还包括:
所述获取单元,还用于对于任一待分发视频,获取中间节点限制状态,所述中间节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的中间节点;
分发单元,用于若所述中间节点限制状态为不限制中间节点分发,将所述待分发视频分发至内容分发网络的中间节点。
15.根据权利要求14所述的装置,其特征在于,所述确定单元,还用于若所述中间节点限制状态为限制中间节点分发,确定上传所述待分发视频的终端中已登录账户的账户类型;
所述分发单元,还用于若所述账户类型不为目标类型,不执行将所述待分发视频分发至内容分发网络的中间节点;
所述分发单元,还用于若所述账户类型为目标类型,将所述待分发视频分发至内容分发网络的中间节点和边缘节点。
16.根据权利要求15所述的装置,其特征在于,所述获取单元,还用于获取边缘节点限制状态,所述边缘节点限制状态用于指示是否可以将待分发视频分发至内容分发网络的边缘节点;
所述确定单元,还用于若所述边缘节点限制状态为限制边缘节点分发,确定上传所述待分发视频的终端中已登录账户的账户类型;
所述分发单元,还用于若所述账户类型为目标类型,将所述已分发至中间节点的视频分发至内容分发网络的边缘节点;
所述分发单元,还用于若所述已分发至中间节点的视频对应的账户类型不为目标类型,不执行将所述已分发至中间节点的视频分发至内容分发网络的边缘节点。
17.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述存储器被配置为执行所述指令,以实现如权利要求1-8任一项所述的视频传输方法。
18.一种存储介质,其特征在于,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1至8任一项所述视频传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010339450.9A CN111417001B (zh) | 2020-04-26 | 2020-04-26 | 视频传输方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010339450.9A CN111417001B (zh) | 2020-04-26 | 2020-04-26 | 视频传输方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111417001A CN111417001A (zh) | 2020-07-14 |
CN111417001B true CN111417001B (zh) | 2022-02-08 |
Family
ID=71495080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010339450.9A Active CN111417001B (zh) | 2020-04-26 | 2020-04-26 | 视频传输方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111417001B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113179289B (zh) * | 2020-11-11 | 2021-10-01 | 苏州知云创宇信息科技有限公司 | 一种基于云计算服务的会议视频信息上传方法及系统 |
CN114780003A (zh) * | 2022-05-23 | 2022-07-22 | 北京达佳互联信息技术有限公司 | 素材上传方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037676B1 (en) * | 2012-03-02 | 2015-05-19 | Google Inc. | Systems and methods for scheduled online publishing of internet media |
CN105307010A (zh) * | 2015-11-14 | 2016-02-03 | 华中科技大学 | 一种云视频直播平台的视频上传系统及方法 |
CN106714318A (zh) * | 2015-11-12 | 2017-05-24 | 北京信威通信技术股份有限公司 | 带宽分配方法及基站 |
-
2020
- 2020-04-26 CN CN202010339450.9A patent/CN111417001B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037676B1 (en) * | 2012-03-02 | 2015-05-19 | Google Inc. | Systems and methods for scheduled online publishing of internet media |
CN106714318A (zh) * | 2015-11-12 | 2017-05-24 | 北京信威通信技术股份有限公司 | 带宽分配方法及基站 |
CN105307010A (zh) * | 2015-11-14 | 2016-02-03 | 华中科技大学 | 一种云视频直播平台的视频上传系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111417001A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113068052B (zh) | 确定直播间刷量的方法、直播方法以及数据处理方法 | |
CN111417001B (zh) | 视频传输方法、装置、服务器及存储介质 | |
US20110072073A1 (en) | Systems and methods for formatting media content for distribution | |
US10499214B2 (en) | Data usage analytics application for dynamic control of data usage on a client device | |
CN110545258B (zh) | 流媒体服务器资源配置方法、装置和服务器 | |
CN104378665A (zh) | 一种基于数字电视的分布式转码系统及方法 | |
US9325761B1 (en) | Content provider selection system | |
CN105635180A (zh) | 消息推送方法及装置 | |
US10212194B2 (en) | Server controlled throttling of client to server requests | |
CN111093094A (zh) | 视频转码方法、装置、系统及电子设备及可读存储介质 | |
US20140055627A1 (en) | Information processing apparatus, data distribution system, method of controlling information processing apparatus, and storage medium | |
CN113891114B (zh) | 转码任务调度方法及装置 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN105610869B (zh) | 一种流媒体的调度方法及装置 | |
US20230379763A1 (en) | Dynamic continuous quality of service adjustment system | |
CN111654526A (zh) | 一种流媒体服务器的负载均衡方法及系统 | |
CN113032142B (zh) | 资源调整方法、装置、电子设备和计算机可读存储介质 | |
CN117768685A (zh) | 数据处理方法、装置、计算机设备及计算机可读存储介质 | |
CN111539281A (zh) | 分布式人脸识别方法及系统 | |
CN110996114A (zh) | 一种直播调度方法、装置、电子设备和存储介质 | |
US20230108310A1 (en) | Live video latency measurement and control | |
US9479579B2 (en) | Grouping processing method and system | |
US11979444B1 (en) | Mesh management for redistribution of online events | |
CN109818999B (zh) | 数据传输方法和装置 | |
CN116132705B (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 |