CN108495136B - 一种提供直播服务的方法和系统 - Google Patents

一种提供直播服务的方法和系统 Download PDF

Info

Publication number
CN108495136B
CN108495136B CN201810193385.6A CN201810193385A CN108495136B CN 108495136 B CN108495136 B CN 108495136B CN 201810193385 A CN201810193385 A CN 201810193385A CN 108495136 B CN108495136 B CN 108495136B
Authority
CN
China
Prior art keywords
transcoding
target
server
live broadcast
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201810193385.6A
Other languages
English (en)
Other versions
CN108495136A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201810193385.6A priority Critical patent/CN108495136B/zh
Priority to PCT/CN2018/081457 priority patent/WO2019169681A1/zh
Priority to EP18889956.1A priority patent/EP3567859A4/en
Publication of CN108495136A publication Critical patent/CN108495136A/zh
Priority to US16/455,704 priority patent/US20190327496A1/en
Application granted granted Critical
Publication of CN108495136B publication Critical patent/CN108495136B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output 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/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234309Processing 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
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234354Processing 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 altering signal-to-noise ratio parameters, e.g. requantization
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234363Processing 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 altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种提供直播服务的方法和系统,属于视频处理技术领域。所述方法包括:管理服务器在获取到目标直播数据的转码请求后,根据转码请求中携带的N种转码规则对应生成对于目标直播数据的N个转码任务;管理服务器向目标转码服务器发送N个转码任务,并向目标备服务器发送目标直播数据的封装任务;目标转码服务器获取目标直播数据,按照至少一种转码规则对目标直播数据进行转码,并对转码后的目标直播数据进行封装;目标备服务器获取目标直播数据,并对目标直播数据进行封装;目标转码服务器和/或目标备服务器基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。采用本发明,可以降低提供直播服务的成本。

Description

一种提供直播服务的方法和系统
技术领域
本发明涉及视频处理技术领域,特别涉及一种提供直播服务的方法和系统。
背景技术
目前直播服务后台多采用主备服务器的部署方式,一般情况下由主服务器提供直播服务,如果主服务器出现故障,则由备服务器继续提供直播服务,以保证直播视频的播放稳定性。
具体来说,直播服务后台的管理服务器从直播源获取到直播数据后,可以将直播数据同时提供给主服务器和备服务器,主服务器和备服务器可以按照指定的转码规则(即指定的分辨率和码率)对获取到的直播数据进行转码处理,并实时对已转码完的部分直播数据进行封装。这样,管理服务器在接收到外界对于直播数据的获取请求后,可以向外界反馈封装后的直播数据。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
受播放终端多样、用户需求不同的影响,直播服务后台需要对同一直播数据,通过多个转码服务器分别按照不同的转码规则进行多种转码处理。而由于直播源的数量较多、转码服务器的硬件成本较高、转码服务器的并行转码能力有限等,直播服务后台往往需要设置大量的转码服务器,故而提供直播服务的成本较高。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种提供直播服务的方法和系统。所述技术方案如下:
第一方面,提供了一种提供直播服务的方法,所述方法包括:
管理服务器在获取到目标直播数据的转码请求后,根据所述转码请求中携带的N种转码规则对应生成对于所述目标直播数据的N个转码任务;
所述管理服务器向目标转码服务器发送所述N个转码任务,并向目标备服务器发送所述目标直播数据的封装任务;
所述目标转码服务器获取所述目标直播数据,按照所述至少一种转码规则对所述目标直播数据进行转码,并对转码后的目标直播数据进行封装;
所述目标备服务器获取所述目标直播数据,并对所述目标直播数据进行封装;
所述目标转码服务器和/或所述目标备服务器基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。
可选的,所述管理服务器向目标备服务器发送所述目标直播数据的封装任务,包括:
如果在本次接收所述目标直播数据的转码请求之前,未接收到所述目标直播数据的转码请求,所述管理服务器则向目标备服务器发送所述目标直播数据的封装任务。
可选的,所述管理服务器向目标转码服务器发送所述N个转码任务,包括:
所述管理服务器确定未对所述目标直播数据进行转码处理的M个转码服务器;
如果M大于或等于N,所述管理服务器则在M个转码服务器中确定负载最低的N个目标转码服务器,并将所述N个转码任务分别发送至所述N个目标转码服务器;
如果M小于N,所述管理服务器则在将所述N个转码任务中的M个转码任务分别发送至所述M个转码服务器之后,在所有转码服务器中确定负载最低的N-M个目标转码服务器,并将所述N个转码任务中剩余的N-M个转码任务分别发送至所述N-M个目标转码服务器。
可选的,所述方法还包括:
所述管理服务器根据预先存储的转码任务权值表,确定每个转码服务器当前执行的所有转码任务的权值;
所述管理服务器将每个转码服务器当前执行的所有转码任务的权值之和,确定为每个转码服务器的权值;
所述管理服务器按照每个转码服务器的权值的大小判断每个转码服务器的负载的高低。
可选的,所述目标转码服务器和/或所述目标备服务器基于封装后的目标直播数据,通过预设的目标VIP提供直播服务,包括:
当所述目标转码服务器正常工作时,所述目标转码服务器基于封装后的目标直播数据,通过创建的目标VIP提供直播服务;
当所述目标转码服务器出现故障时,所述目标备服务器基于封装后的目标直播数据,通过创建的目标VIP提供直播服务。
第二方面,提供了一种提供直播服务的系统,所述系统包括管理服务器、目标转码服务器和目标备服务器,其中:
所述管理服务器,用于在获取到目标直播数据的转码请求后,根据所述转码请求中携带的N种转码规则对应生成对于所述目标直播数据的N个转码任务,向所述目标转码服务器发送所述N个转码任务,并向所述目标备服务器发送所述目标直播数据的封装任务;
所述目标转码服务器,用于获取所述目标直播数据,按照所述至少一种转码规则对所述目标直播数据进行转码,并对转码后的目标直播数据进行封装,基于封装后的目标直播数据,通过预设的目标VIP提供直播服务;
所述目标备服务器,用于获取所述目标直播数据,并对所述目标直播数据进行封装,基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。
可选的,所述管理服务器,具体用于:
如果在本次接收所述目标直播数据的转码请求之前,未接收到所述目标直播数据的转码请求,则向目标备服务器发送所述目标直播数据的封装任务。
可选的,所述管理服务器,具体用于:
确定未对所述目标直播数据进行转码处理的M个转码服务器;
如果M大于或等于N,则在M个转码服务器中确定负载最低的N个目标转码服务器,并将所述N个转码任务分别发送至所述N个目标转码服务器;
如果M小于N,则在将所述N个转码任务中的M个转码任务分别发送至所述M个转码服务器之后,在所有转码服务器中确定负载最低的N-M个目标转码服务器,并将所述N个转码任务中剩余的N-M个转码任务分别发送至所述N-M个目标转码服务器。
可选的,所述管理服务器,还用于:
根据预先存储的转码任务权值表,确定每个转码服务器当前执行的所有转码任务的权值;
将每个转码服务器当前执行的所有转码任务的权值之和,确定为每个转码服务器的权值;
按照每个转码服务器的权值的大小判断每个转码服务器的负载的高低。
可选的,所述目标转码服务器,具体用于当所述目标转码服务器正常工作时,基于封装后的目标直播数据,通过预设的目标VIP提供直播服务;
所述目标备服务器,具体用于当所述目标转码服务器出现故障时,基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,管理服务器在获取到目标直播数据的转码请求后,根据转码请求中携带的N种转码规则对应生成对于目标直播数据的N个转码任务,管理服务器向目标转码服务器发送N个转码任务,并向目标备服务器发送目标直播数据的封装任务,目标转码服务器获取目标直播数据,按照至少一种转码规则对目标直播数据进行转码,并对转码后的目标直播数据进行封装,目标备服务器获取目标直播数据,并对目标直播数据进行封装,目标转码服务器和/或目标备服务器基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。这样,可以采用硬件成本较低的普通服务器作为备服务器,同时对相同直播数据进行转码的多个转码服务器,可以采用同一服务器作为备服务器,减少了直播服务后台所需的转码服务器的数量,从而可以降低提供直播服务的成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种提供直播服务的系统框架示意图;
图2是本发明实施例提供的一种提供直播服务的方法流程图;
图3是本发明实施例提供的一种转码服务器和备服务器的VIP示意图;
图4是本发明实施例提供的一种提供直播服务的系统框架示意图;
图5是本发明实施例提供的一种提供直播服务的系统框架示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种提供直播服务的方法,该方法可以由直播数据处理系统中的管理服务器、转码服务器和备服务器共同实现。其中,管理服务器可以用于接收对于直播数据的转码请求,生成相应的转码任务,并对转码任务进行分配;转码服务器可以是直播数据处理系统中转码服务器组的服务器,可以用于对直播数据进行转码、封装等处理,转码服务器组中可以包含有多个转码服务器;备服务器可以属于直播数据处理系统中的备服务器组,可以用于对直播数据进行封装处理,备服务器组中可以包含有多个备服务器,具体的系统框架可以参照图1所示。上述服务器中均可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的提供直播服务的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201,管理服务器在接收到目标直播数据的转码请求后,根据转码请求中携带的N种转码规则对应生成对于目标直播数据的N个转码任务。
在实施中,当需要对某直播频道的直播数据(如目标直播数据)进行转码处理时,管理服务器可以获取到目标直播数据的转码请求。在一种情况下,如果直播数据处理系统为直播服务后台的内置系统,则上述转码请求可以是直播服务后台的技术人员在管理服务器上手动设置的,或者是由直播服务后台的其他服务器发送给管理服务器的;在另一种情况下,如果直播数据处理系统为独立于直播服务后台之外的系统,则上述转码请求可以是直播服务后台系统发送至管理服务器的。
上述转码请求中可以携带有N(N为正整数)种转码规则,每种转码规则都记录有指定的目标分辨率和目标码率。之后,管理服务器可以提取该转码请求中的N种转码规则,并可以基于每一种转码规则,对应生成一个目标直播数据的转码任务,进而总共可以生成N个转码任务,其中,每个转码任务可以包含目标直播数据的URL(Uniform Resource Locator,统一资源定位符)、目标分辨率和目标码率。值得一提的是,可以通过标识信息来标识每个转码任务所对应的直播数据,不同直播数据的转码任务可以有不同的标识信息,同一直播数据的转码任务的标识信息相同,该标识信息可以由管理服务器设定,或者可以由第三方系统设定。
步骤202,管理服务器向目标转码服务器发送N个转码任务,并向目标备服务器发送目标直播数据的封装任务。
在实施中,管理服务器在基于转码请求生成了N个转码任务后,可以在转码服务器组中选择至少一个目标转码服务器,然后向至少一个目标转码服务器发送上述N个转码任务。同时,管理服务器可以在备服务器组中选择至少一个目标备服务器,然后向至少一个目标备服务器发送目标直播数据的封装任务。
值得一提的是,转码任务包含对于直播数据的转码和封装处理,封装任务仅包含对于直播数据的封装处理,故而目标备服务器无需对直播数据进行转码处理,则可以选用性能远低于目标转码服务器的服务器设备,如此一来,可降低设备投入成本。
步骤203,目标转码服务器获取目标直播数据,按照至少一种转码规则对目标直播数据进行转码,并对转码后的目标直播数据进行封装。
在实施中,目标转码服务器可以接收到管理服务器发送的转码任务,然后可以基于转码任务中包含的目标直播数据的URL,从直播源处获取目标直播数据。之后,目标转码服务器可以按照接收到的转码任务中包含的转码规则,将目标直播数据的分辨率和码率转码为转码规则中指定的目标分辨率和目标码率。进而,目标转码服务器可以对转码后的目标直播数据进行封装。需要说明的是,本步骤中的目标转码服务器可以为多个,每个目标转码服务器可以按照本步骤进行N个转码任务中的一个或多个转码任务的处理,每个转码任务仅由一个目标转码服务器负责。
步骤204,目标备服务器获取目标直播数据,并对目标直播数据进行封装。
在实施中,目标备服务器可以接收到管理服务器发送的封装任务,然后可以基于封装任务中包含的目标直播数据的URL,从直播源处获取目标直播数据。之后,目标备服务器可以对获取到的目标直播数据进行封装,从而获得原始码率、原始分辨率的封装直播数据。需要说明的是,本步骤中的目标备服务器可以为包含多个备服务器的小组,其中小组中的每个备服务器可以对目标直播数据进行同样的封装处理。
进一步的,备服务器组中包含有多个小组,不同小组处理不同直播数据的封装任务,而同一小组内部的多个备服务器处理相同的封装任务,因此,当备服务器组的处理能力达到上限时,可通过增加小组的方式来进行扩容,相应的,当小组处于空闲状态时,可将该小组进行删除,从而节省设备。
步骤205,目标转码服务器和/或目标备服务器基于封装后的目标直播数据,通过预设的目标VIP(Virtual IP Address,虚拟IP地址)提供直播服务。
具体的,在部署每一个转码服务器时,都会分别对应创建该转码服务器与每个备服务器之间共用的VIP(Virtual IP Address,虚拟IP地址),同样的,在新增一个备服务器时,也会分别创建该备服务器与现存的每个转码服务器之间共用的VIP,从而使得当前部署的每一个目标转码服务器与每一个目标备服务器之间都会有一个预设的目标VIP。这样,目标转码服务器和目标备服务器可以基于封装后的目标直播数据,通过对应的预设目标VIP提供直播服务,如此两者之间可进行随意切换。
考虑上述多个目标转码服务器和多个目标备服务器的情况,多个目标备服务器可以构成一个小组,每个目标转码服务器均与该小组创建有各自不同的目标VIP,具体可以参考图3所示。
可选的,如果当前目标直播数据的封装任务已存在,管理服务器则在接收到该目标直播数据的转码请求后无需再次向备服务器发送封装任务,而直接确定处理该封装任务的备服务器为目标备服务器,相应的,步骤202的部分处理可以如下:如果在本次接收目标直播数据的转码请求之前,未接收到该目标直播数据的转码请求,管理服务器则向目标备服务器发送目标直播数据的封装任务。
在实施中,管理服务器在接收到目标直播数据的转码请求后,可以检测在本次接收目标直播数据的转码请求之前,管理服务器是否已接收过同一目标直播数据的转码请求。如果未接收过相应的转码请求,管理服务器则可以向目标备服务器发送目标直播数据的封装任务;如果已接收过相应的转码请求,则表示管理服务器已向备服务器组发送过目标直播数据的封装任务,进而,管理服务器只需确定对目标直播数据进行封装处理的备服务器为目标备用服务器,以便确定各目标转码服务器与目标备服务器之间共用的VIP,从而通过这些VIP提供直播服务。
可选的,管理服务器可以将同一直播数据的不同转码任务均分到所有转码服务器中,相应的,步骤202的部分处理可以如下:管理服务器确定未对目标直播数据进行转码处理的M个转码服务器;如果M大于或等于N,管理服务器则在M个转码服务器中确定负载最低的N个目标转码服务器,并将N个转码任务分别发送至N个目标转码服务器;如果M小于N,管理服务器则在将N个转码任务中的M个转码任务分别发送至M个转码服务器之后,在所有转码服务器中确定负载最低的N-M个目标转码服务器,并将剩余的N-M个转码任务分别发送至这些目标转码服务器。如此一来,可以在一定程度上均衡各转码服务器的负载。
在实施中,管理服务器在多个转码服务器中选择目标转码服务器的过程中,可以先确定多个转码服务器中当前未对目标直播数据进行转码处理的M(M为自然数)个转码服务器(即所有未被分配目标直播数据的转码任务的转码服务器)。如果M大于或等于N,管理服务器则可以在M个转码服务器中确定负载最低的N个目标转码服务器,然后将N个转码任务分别发送至N个目标转码服务器,即一个目标转码服务器分配一个转码任务。如果M小于N,管理服务器则可以先将N个转码任务中的任意M个转码任务分别发送至M个转码服务器,再在所有转码服务器中确定出负载最低的N-M个目标转码服务器,然后将剩余的N-M个转码任务分别发送至上述N-M个目标转码服务器。同理,管理服务器在选择目标备服务器时,也可以选取负载较低的多个备服务器。
可选的,可以根据当前执行的转码任务来判断每个转码服务器的负载的高低,相应的处理可以如下:管理服务器根据预先存储的转码任务权值表,确定每个转码服务器当前执行的所有转码任务的权值;管理服务器将每个转码服务器当前执行的所有转码任务的权值之和,确定为每个转码服务器的权值;管理服务器按照每个转码服务器的权值的大小判断每个转码服务器的负载的高低。
在实施中,直播数据处理系统的技术人员可以根据转码任务对应的原分辨率、原码率、目标分辨率和目标码率,确定不同转码任务占用的转码服务器的负载大小,并以权值的形式来体现该负载大小,从而可以创建转码任务权值表(可参考表1),然后将转码任务权值表存储在管理服务器中。
表1
这样,在判断各转码服务器的负载的高低时,管理服务器先可以根据上述转码任务权值表,确定每个转码服务器当前执行的所有转码任务的权值,再将每个转码服务器当前执行的所有转码任务的权值之和,确定为每个转码服务器的权值。进而,管理服务器可以按照每个转码服务器的权值的大小判断每个转码服务器的负载的高低,其中,权值越小则转码服务器的负载越低。
可选的,目标备服务器可以在目标转码服务器发生故障时,代替目标转码服务器继续提供直播服务,相应的,步骤205的处理可以如下:当目标转码服务器正常工作时,目标转码服务器基于封装后的目标直播数据,通过预设的目标VIP提供直播服务;当目标转码服务器出现故障时,目标备服务器基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。
在实施中,当用户想要通过终端获取目标直播数据时,终端可以向目标VIP发送目标直播数据的获取请求。如果目标转码服务器处于正常工作状态,目标VIP指向目标转码服务器,目标转码服务器则可以接收到上述获取请求,进而可以将封装后的目标直播数据反馈给终端。而如果目标转码服务器处于故障状态,目标VIP指向目标备服务器,目标备服务器则可以接收到上述获取请求,进而可以将封装后的目标直播数据反馈给终端。此处,目标转码服务器和目标备服务器上均可以安装有主备服务软件,该主备服务软件可以用于调整服务器对外展示的IP。具体的,当目标转码服务器正常工作时,目标转码服务器上的主备服务软件将对外展示的IP修改为预设的目标VIP,目标备服务器上的主备服务软件将对外展示的IP设置为本机IP;当目标转码服务器出现故障时,目标转码服务器上的主备服务软件将对外展示的IP设置为本机IP,目标备服务器上的主备服务软件将对外展示的IP修改为预设的目标VIP。
通过上述方法,可实现目标转码服务器在发生故障时的备份切换,以保证用户可以顺利获取直播数据,从而尽可能的降低故障带来的不良用户体验,并且当目标转码服务器恢复正常时,可及时从目标备服务器切换回目标转码服务器,以尽快恢复正常的码率、分辨率显示,从而保证了用户体验。
值得注意的是,本发明实施例中,管理服务器接收到的目标直播数据的转码请求,根据指定的不同的目标分辨率和目标码率,转化成不同的转码任务,并分配到至少一个目标转码服务器上,并针对该目标直播数据对应的各转码任务设置一个目标备服务器来为任一目标转码服务器出现故障时提供备份服务,也就是说同一直播数据对应的各转码任务都对应到同一目标备份服务器上,而无需为每个转码任务都分配一台备服务器来处理备份任务,从而节省了备服务器资源,并可以通过调度策略的设置以及备服务器组的管理来保证备服务器的利用率。
本发明实施例中,管理服务器在获取到目标直播数据的转码请求后,根据转码请求中携带的N种转码规则对应生成对于目标直播数据的N个转码任务,管理服务器向目标转码服务器发送N个转码任务,并向目标备服务器发送目标直播数据的封装任务,目标转码服务器获取目标直播数据,按照至少一种转码规则对目标直播数据进行转码,并对转码后的目标直播数据进行封装,目标备服务器获取目标直播数据,并对目标直播数据进行封装,目标转码服务器和/或目标备服务器基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。这样,可以采用硬件成本较低的普通服务器作为备服务器,同时对相同直播数据进行转码的多个转码服务器,可以采用同一服务器作为备服务器,减少了直播服务后台所需的转码服务器的数量,从而可以降低提供直播服务的成本。
基于相同的技术构思,本发明实施例还提供了一种提供直播服务的系统,所述系统包括管理服务器、目标转码服务器和目标备服务器,其中:
所述管理服务器,用于在获取到目标直播数据的转码请求后,根据所述转码请求中携带的N种转码规则对应生成对于所述目标直播数据的N个转码任务,向所述目标转码服务器发送所述N个转码任务,并向所述目标备服务器发送所述目标直播数据的封装任务;
所述目标转码服务器,用于获取所述目标直播数据,按照所述至少一种转码规则对所述目标直播数据进行转码,并对转码后的目标直播数据进行封装,基于封装后的目标直播数据,通过预设的目标VIP提供直播服务;
所述目标备服务器,用于获取所述目标直播数据,并对所述目标直播数据进行封装,基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。
可选的,所述管理服务器,具体用于:
如果在本次接收所述目标直播数据的转码请求之前,未接收到所述目标直播数据的转码请求,则向目标备服务器发送所述目标直播数据的封装任务。
可选的,所述管理服务器,具体用于:
确定未对所述目标直播数据进行转码处理的M个转码服务器;
如果M大于或等于N,则在M个转码服务器中确定负载最低的N个目标转码服务器,并将所述N个转码任务分别发送至所述N个目标转码服务器;
如果M小于N,则在将所述N个转码任务中的M个转码任务分别发送至所述M个转码服务器之后,在所有转码服务器中确定负载最低的N-M个目标转码服务器,并将所述N个转码任务中剩余的N-M个转码任务分别发送至所述N-M个目标转码服务器。
可选的,所述管理服务器,还用于:
根据预先存储的转码任务权值表,确定每个转码服务器当前执行的所有转码任务的权值;
将每个转码服务器当前执行的所有转码任务的权值之和,确定为每个转码服务器的权值;
按照每个转码服务器的权值的大小判断每个转码服务器的负载的高低。
可选的,所述目标转码服务器,具体用于当所述目标转码服务器正常工作时,基于封装后的目标直播数据,通过预设的目标VIP提供直播服务;
所述目标备服务器,具体用于当所述目标转码服务器出现故障时,基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。
如图4所示,上述系统可以是直播数据处理系统,该系统可以包含一台管理服务器、转码服务器组和备服务器组,转码服务器组可以包括多台转码服务器,每台转码服务器可以执行多个直播数据的转码及封装任务,备服务器组可以包括多台备服务器,每台备服务器可以执行多个直播数据的封装任务。在一种情况下,如图5所示,上述每台转码服务器的功能可以由多台转码服务器构成的转码服务器小组来实现,同样,每台备服务器的功能也可以由多台备服务器构成的备服务器小组来实现,当转码服务器组/备服务器组的处理能力达到上限时,可通过增加转码服务器小组/备服务器小组的方式来进行扩容,相应的,当转码服务器组/备服务器组的处理能力过剩时,可删除处于空闲状态的部分小组,从而达到节省设备的目的。系统的具体功能实现,可以参考上述方法实施例。
本发明实施例中,管理服务器在获取到目标直播数据的转码请求后,根据转码请求中携带的N种转码规则对应生成对于目标直播数据的N个转码任务,管理服务器向目标转码服务器发送N个转码任务,并向目标备服务器发送目标直播数据的封装任务,目标转码服务器获取目标直播数据,按照至少一种转码规则对目标直播数据进行转码,并对转码后的目标直播数据进行封装,目标备服务器获取目标直播数据,并对目标直播数据进行封装,目标转码服务器和/或目标备服务器基于封装后的目标直播数据,通过预设的目标VIP提供直播服务。这样,可以采用硬件成本较低的普通服务器作为备服务器,同时对相同直播数据进行转码的多个转码服务器,可以采用同一服务器作为备服务器,减少了直播服务后台所需的转码服务器的数量,从而可以降低提供直播服务的成本。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种提供直播服务的方法,其特征在于,所述方法包括:
管理服务器在获取到目标直播数据的转码请求后,根据所述转码请求中携带的N种转码规则对应生成对于所述目标直播数据的N个转码任务,其中,N为正整数;
所述管理服务器向至少一个目标转码服务器发送所述N个转码任务,并向至少一个目标备服务器发送所述目标直播数据的封装任务;
所述目标转码服务器获取所述目标直播数据,按照所述至少一种转码规则对所述目标直播数据进行转码,并对转码后的目标直播数据进行封装;
所述目标备服务器获取所述目标直播数据,并对所述目标直播数据进行封装而不执行转码处理;
所述目标转码服务器和/或所述目标备服务器基于封装后的目标直播数据,通过预设的目标虚拟IP地址提供直播服务;
其中,每个目标转码服务器进行N个转码任务中的一个或多个转码任务的处理,每个转码任务仅由一个目标转码服务器负责;
每个目标转码服务器与目标备服务器之间存在一个预设的目标虚拟IP地址;
其中,所述目标转码服务器和/或所述目标备服务器基于封装后的目标直播数据,通过预设的目标虚拟IP地址提供直播服务,包括:
当所述目标转码服务器正常工作时,所述目标转码服务器基于封装后的目标直播数据,通过预设的目标虚拟IP地址提供直播服务;
当所述目标转码服务器出现故障时,所述目标备服务器基于封装后的目标直播数据,通过预设的目标虚拟IP地址提供直播服务。
2.根据权利要求1所述的方法,其特征在于,所述管理服务器向目标备服务器发送所述目标直播数据的封装任务,包括:
如果在本次接收所述目标直播数据的转码请求之前,未接收到所述目标直播数据的转码请求,所述管理服务器则向目标备服务器发送所述目标直播数据的封装任务。
3.根据权利要求1所述的方法,其特征在于,所述管理服务器向目标转码服务器发送所述N个转码任务,包括:
所述管理服务器确定未对所述目标直播数据进行转码处理的M个转码服务器,其中,N为正整数,M为自然数;
如果M大于或等于N,所述管理服务器则在M个转码服务器中确定负载最低的N个目标转码服务器,并将所述N个转码任务分别发送至所述N个目标转码服务器;
如果M小于N,所述管理服务器则在将所述N个转码任务中的M个转码任务分别发送至所述M个转码服务器之后,在所有转码服务器中确定负载最低的N-M个目标转码服务器,并将所述N个转码任务中剩余的N-M个转码任务分别发送至所述N-M个目标转码服务器。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述管理服务器根据预先存储的转码任务权值表,确定每个转码服务器当前执行的所有转码任务的权值;
所述管理服务器将每个转码服务器当前执行的所有转码任务的权值之和,确定为每个转码服务器的权值;
所述管理服务器按照每个转码服务器的权值的大小判断每个转码服务器的负载的高低。
5.一种提供直播服务的系统,其特征在于,所述系统包括管理服务器、目标转码服务器和目标备服务器,其中:
所述管理服务器,用于在获取到目标直播数据的转码请求后,根据所述转码请求中携带的N种转码规则对应生成对于所述目标直播数据的N个转码任务,向至少一个所述目标转码服务器发送所述N个转码任务,并向至少一个所述目标备服务器发送所述目标直播数据的封装任务,其中,N为正整数;
所述目标转码服务器,用于获取所述目标直播数据,按照所述至少一种转码规则对所述目标直播数据进行转码,并对转码后的目标直播数据进行封装,基于封装后的目标直播数据,通过预设的目标虚拟IP地址提供直播服务;
所述目标备服务器,用于获取所述目标直播数据,并对所述目标直播数据进行封装而不执行转码处理,基于封装后的目标直播数据,通过预设的目标虚拟IP地址提供直播服务;
其中,每个目标转码服务器进行N个转码任务中的一个或多个转码任务的处理,每个转码任务仅由一个目标转码服务器负责;
每个目标转码服务器与目标备服务器之间存在一个预设的目标虚拟IP地址;
其中,所述目标转码服务器,具体用于当所述目标转码服务器正常工作时,基于封装后的目标直播数据,通过预设的目标虚拟IP地址提供直播服务;
所述目标备服务器,具体用于当所述目标转码服务器出现故障时,基于封装后的目标直播数据,通过预设的目标虚拟IP地址提供直播服务。
6.根据权利要求5所述的系统,其特征在于,所述管理服务器,具体用于:
如果在本次接收所述目标直播数据的转码请求之前,未接收到所述目标直播数据的转码请求,则向目标备服务器发送所述目标直播数据的封装任务。
7.根据权利要求5所述的系统,其特征在于,所述管理服务器,具体用于:
确定未对所述目标直播数据进行转码处理的M个转码服务器,其中,N为正整数,M为自然数;
如果M大于或等于N,则在M个转码服务器中确定负载最低的N个目标转码服务器,并将所述N个转码任务分别发送至所述N个目标转码服务器;
如果M小于N,则在将所述N个转码任务中的M个转码任务分别发送至所述M个转码服务器之后,在所有转码服务器中确定负载最低的N-M个目标转码服务器,并将所述N个转码任务中剩余的N-M个转码任务分别发送至所述N-M个目标转码服务器。
8.根据权利要求7所述的系统,其特征在于,所述管理服务器,还用于:
根据预先存储的转码任务权值表,确定每个转码服务器当前执行的所有转码任务的权值;
将每个转码服务器当前执行的所有转码任务的权值之和,确定为每个转码服务器的权值;
按照每个转码服务器的权值的大小判断每个转码服务器的负载的高低。
CN201810193385.6A 2018-03-09 2018-03-09 一种提供直播服务的方法和系统 Expired - Fee Related CN108495136B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810193385.6A CN108495136B (zh) 2018-03-09 2018-03-09 一种提供直播服务的方法和系统
PCT/CN2018/081457 WO2019169681A1 (zh) 2018-03-09 2018-03-30 一种提供直播服务的方法和系统
EP18889956.1A EP3567859A4 (en) 2018-03-09 2018-03-30 METHOD AND SYSTEM FOR PROVIDING LIVE CONTINUOUS BROADCASTING SERVICE
US16/455,704 US20190327496A1 (en) 2018-03-09 2019-06-27 Method and system for providing a live-broadcasting service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810193385.6A CN108495136B (zh) 2018-03-09 2018-03-09 一种提供直播服务的方法和系统

Publications (2)

Publication Number Publication Date
CN108495136A CN108495136A (zh) 2018-09-04
CN108495136B true CN108495136B (zh) 2019-12-31

Family

ID=63338385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810193385.6A Expired - Fee Related CN108495136B (zh) 2018-03-09 2018-03-09 一种提供直播服务的方法和系统

Country Status (4)

Country Link
US (1) US20190327496A1 (zh)
EP (1) EP3567859A4 (zh)
CN (1) CN108495136B (zh)
WO (1) WO2019169681A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11871052B1 (en) * 2018-09-27 2024-01-09 Apple Inc. Multi-band rate control
CN111083521B (zh) * 2019-12-27 2022-02-01 杭州当虹科技股份有限公司 一种rtmp发布主备快速切换方法
CN111901620B (zh) * 2020-07-24 2022-07-29 北京达佳互联信息技术有限公司 一种直播的回放视频生成方法、装置、电子设备及存储介质
CN112188285A (zh) * 2020-09-28 2021-01-05 北京达佳互联信息技术有限公司 视频转码方法、装置、系统及存储介质
CN113014950A (zh) * 2021-05-24 2021-06-22 北京创新乐知网络技术有限公司 一种直播同步的方法、系统和电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9165473B2 (en) * 2008-07-25 2015-10-20 ArtistWorks, Inc. Video management system for interactive online instruction
US8843594B2 (en) * 2010-03-26 2014-09-23 Dan Fiul Time shifted transcoded streaming (TSTS) system and method
CN103124220B (zh) * 2011-11-21 2017-04-26 苏州达联信息科技有限公司 一种视频分发网络全局服务器的主备同步方法
US9716856B2 (en) * 2012-03-07 2017-07-25 Echostar Technologies L.L.C. Adaptive bit rate transcode and caching for off air television programming delivery
CN104243998B (zh) * 2014-09-29 2018-01-09 广州华多网络科技有限公司 一种数据处理方法、装置及相关服务器
CN104902289B (zh) * 2015-06-29 2017-10-27 秦永红 一种rtmp流媒体直播系统热备份的设计方法及其系统
CN107438012B (zh) * 2016-05-27 2020-07-28 北京金山云网络技术有限公司 一种负载均衡服务转发方法、系统、均衡装置和宿主机
CN106330967A (zh) * 2016-10-24 2017-01-11 北京小米移动软件有限公司 直播数据处理方法及装置
CN106817628B (zh) * 2017-01-26 2019-12-20 成都市亚丁胡杨科技股份有限公司 一种网络直播平台
US10531134B2 (en) * 2017-11-10 2020-01-07 Akamai Technologies, Inc. Determining a time budget for transcoding of video

Also Published As

Publication number Publication date
EP3567859A4 (en) 2020-02-19
US20190327496A1 (en) 2019-10-24
WO2019169681A1 (zh) 2019-09-12
CN108495136A (zh) 2018-09-04
EP3567859A1 (en) 2019-11-13

Similar Documents

Publication Publication Date Title
CN108495136B (zh) 一种提供直播服务的方法和系统
CN108965884B (zh) 一种转码任务的分配方法及调度设备、转码设备
CN108810657B (zh) 一种设置视频封面的方法和系统
EP3293969A1 (en) Method of terminal-based conference load-balancing, and device and system utilizing same
US20160183229A1 (en) Ip phone network system, server apparatus, ip exchange and resource capacity expansion method
CN113453025B (zh) 数据获取方法及装置
CN105516264A (zh) 分布式集群系统下的session共享方法、装置及系统
US20240118935A1 (en) Pod deployment method and apparatus
CN110138753B (zh) 分布式消息服务系统、方法、设备及计算机可读存储介质
EP3672203A1 (en) Distribution method for distributed data computing, device, server and storage medium
CN112532665A (zh) 一种服务器负载均衡的方法、装置及cdn节点
CN113867946A (zh) 访问资源的方法、装置、存储介质及电子设备
US20210037090A1 (en) Systems and Methods for Server Failover and Load Balancing
CN106790354B (zh) 一种防数据拥堵的通信方法及其装置
CN110708293B (zh) 多媒体业务的分流方法和装置
CN112261125A (zh) 集中单元的云化部署方法、装置及系统
US9071954B2 (en) Wireless optimized content delivery network
CN111836020B (zh) 监控系统中的码流传输方法、装置及存储介质
CN112218121B (zh) 内容分发网络调度方法及装置
EP3188015A1 (en) Requesting and receiving a media stream within a networked system
CN112243101A (zh) 一种视频组呼方法及存储介质
CN112751886B (zh) 一种转码方法、系统、传输设备及存储介质
US11985072B2 (en) Multimedia data stream processing method, electronic device, and storage medium
KR102007669B1 (ko) 방송 수신기 및 이의 운용 방법
JP5153685B2 (ja) コンテンツ配信システムおよび配信制御サーバ

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191231

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