CN110113632A - 一种流媒体低延时转码任务调度方法及装置 - Google Patents
一种流媒体低延时转码任务调度方法及装置 Download PDFInfo
- Publication number
- CN110113632A CN110113632A CN201910321958.3A CN201910321958A CN110113632A CN 110113632 A CN110113632 A CN 110113632A CN 201910321958 A CN201910321958 A CN 201910321958A CN 110113632 A CN110113632 A CN 110113632A
- Authority
- CN
- China
- Prior art keywords
- task
- streaming media
- transcoding
- transcoded
- transcoding module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000000694 effects Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/25—Management 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/262—Content 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/26208—Content 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
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4126—The peripheral being portable, e.g. PDAs or mobile phones
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种流媒体低延时转码任务调度方法及装置,该方法首先获得待转码流媒体任务集合以及配置信息;然后根据所述配置信息确定所述待转码流媒体任务的优先级,并插入到不同的任务队列;最后,根据转码模块负载情况,确定执行转码任务的转码模块并执行所述待转码流媒体任务。将不同的流媒体转码任务,根据动态设置的任务配置,确定转码任务的优先级,由任务调度服务器把任务分配给不同的转码单元。保证高优先级的流媒体转码任务可以及时响应,提升了整体流媒体直播的流畅度。
Description
技术领域
本发明涉及流媒体技术领域,尤其涉及一种流媒体低延时转码任务调度方法及装置。
背景技术
随着无线网络、4G网络的普及,网络直播摆脱了地域空间的限制,随时随地拿起手机做直播轻而易举就可以实现。此外,手机移动网络一轮接一轮的“提速降费”,移动网络速度更快而且资费更低,这也瓦解了网络直播的最后一道障碍。
移动直播的客户端类型,从原生APP,到移动端H5网页,到微信小程序,以及硬盒联盟的快应用,种类繁多。不同的客户端,对于直播的流媒体格式有着不同要求。传统安卓或者苹果APP,需要播放RTMP格式的流媒体。而对于移动端H5网页来说,其视频播放能力本身不是网页代码实现的,而是靠浏览器的支持,所以其兼容性并不像我们想象的那么好。有些手机浏览器甚至根本就不支持视频播放。最常见的用于网页直播的视频源地址是以m3u8结尾的地址,我们称其为HLS(HTTP Live Streaming),这是苹果推出的标准,其他品牌的手机浏览器产品对这种格式的兼容性不是太好。同时,它有另外一个突出的问题,就是延迟比较大,一般是20-30秒左右的延迟,这对于手机直播领域来说,这是一个无法容忍的延迟。
本发明实施例所提供的一种流媒体低延时转码任务调度方法及装置,解决了上述的两个问题:
第一,不仅支持从原生APP需要的RTMP格式的流媒体格式,同时支持移动端H5网页,到微信小程序,以及硬盒联盟的快应用所需的web流媒体格式。
第二,满足了直播领域对于低延时的要求。
发明内容
本发明针对现有技术中存在的技术问题,提供一种流媒体低延时转码任务调度方法及装置,将不同的流媒体转码任务,根据动态设置的任务配置,确定转码任务的优先级,由任务调度服务器把任务分配给不同的转码单元。保证高优先级的流媒体转码任务可以及时响应,提升了整体流媒体直播的流畅度。
本发明解决上述技术问题的技术方案如下:
一方面,本发明提供一种流媒体低延时转码任务调度方法,包括以下步骤:
步骤100,获得待转码流媒体任务集合以及配置信息;
步骤200,根据所述配置信息确定所述待转码流媒体任务的优先级,并插入到不同的任务队列;
步骤300,根据转码模块负载情况,确定执行转码任务的转码模块并执行所述待转码流媒体任务。
具体的,所述配置信息包括:待转码流媒体任务的业务逻辑情况和同时在线人数情况。
进一步的,步骤2中,所述任务队列包括根据所述待转码流媒体任务的业务逻辑情况分为VIP消息队列和普通用户队列,所述待转码流媒体任务的优先级根据同时在线人数情况确定;任务队列中按照待转码流媒体任务的优先级排序。
进一步的,所述待转码流媒体任务的优先级P,通过如下公式计算:
P=UA*BP/BA
其中,UA为待转码任务的实时在线人数,BP(Basic Priority)为基础调度等级,BA(Basic Amount)为基础计算人数。
进一步的,步骤300中,所述的转码模块分为VIP转码模块和通用转码模块,所述VIP转码模块用于处理VIP消息队列中的待转码流媒体任务,所述通用转码模块用于处理VIP消息队列和普通用户队列中的待转码流媒体任务。
进一步的,所述根据转码模块负载情况,确定执行转码任务的转码模块并执行所述待转码流媒体任务,包括:
步骤301,判断当前待转码流媒体任务是否为VIP转码任务,若是则跳转至步骤302,否则跳转至步骤303;
步骤302,获取各转码模块的负载情况,判断VIP转码模块是否有空闲,若是则由所述空闲VIP转码模块处理当前待转码流媒体任务,否则跳转至步骤303;
步骤303,判断通用转码模块是否有空闲,若是则处理当前待转码流媒体任务,否则跳转至步骤304;
步骤304,等待,直至VIP转码模块或通用转码模块出现空闲则跳转至步骤301。
本发明的有益效果是:本发明将不同的流媒体转码任务,根据动态设置的任务配置,确定转码任务的优先级,由任务调度服务器把任务分配给不同的转码单元。保证高优先级的流媒体转码任务可以及时响应,提升了整体流媒体直播的流畅度。
现有的流媒体低延时转码任务调度方法,不仅解决了移动Web平台对流媒体播放格式(TS-MPEG格式)的要求,同时解决了直播低延时的要求,保证了VIP业务可以获得更高的相应速度,提升了用户体验,同时也提升了转码资源的利用率。
另一方面,本发明还提供一种流媒体低延时转码任务调度装置,包括:
任务集合获取单元,用于获取待转码流媒体任务集合;
配置单元,用于获取待转码流媒体任务配置信息;
优先级确定单元,用于根据待转码流媒体任务配置信息计算任务优先级;
转码模块,用于根据任务优先级执行待转码流媒体任务;
调度单元,用于根据转码模块负载情况,确定执行转码任务的转码模块。
具体的,所述任务配置信息包括:待转码流媒体任务的业务逻辑情况和同时在线人数情况。
作为优选,所述任务优先级P,通过如下公式计算:
P=UA*BP/BA
其中,UA为待转码任务的实时在线人数,BP(Basic Priority)为基础调度等级,BA(Basic Amount)为基础计算人数。
进一步的,所述的转码模块分为VIP转码模块和通用转码模块,根据任务配置信息的不同,所述VIP转码模块和通用转码模块分别处理不同的待转码流媒体任务。
附图说明
图1为本发明实施例提供的一种流媒体低延时转码任务调度装置结构图;
图2为本发明实施例提供的一种流媒体低延时转码任务调度方法流程图;
图3为转码模块选择流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
首先对本发明实施例所提供的一种流媒体低延时转码任务调度方法及装置总体流程进行说明:
如图1所示,流媒体转码任务(主要是N路RTMP格式流媒体)为系统的输入,经过调度处理模块处理,基于各路流媒体转码任务不同的配置信息,得到优先处理的流媒体转码任务。然后,根据各路转码单元业务属性以及负载情况,分配转码任务。最后,N路转码流媒体(TS-MPEG格式)为系统输出,作为H5客户端流媒体播放源。
在本发明实施例中,N路流媒体转码任务对应着不同的业务逻辑,同时不同的业务逻辑的在线用户数量也在实时变化。系统的转码单元,根据业务逻辑的不同,也划分成了VIP专属转码单元和共享转码单元。调度服务器会实时从任务配置单元取得N路流媒体转码任务的业务情况,把不同的转码任务分配给最合适的转码单元,完成转码任务调度。保证了VIP业务可以获得更高的相应速度,提升了用户体验,同时也提升了转码资源的利用率。
如图2所示,为本发明实施例所提供的一种流媒体低延时转码任务调度方法及装置的实时流程图,包括如下的步骤:
S101:获得待转码流媒体任务集合以及从配置模块获得配置信息;
在APP和H5直播业务中,转码任务主要是N路RTMP流媒体,交给转码处理单元处理,得到H5直播需要TS-MPEG格式流媒体。调度服务器需要从任务配置单元,获取到每个待处理任务的业务逻辑情况以及同时在线人数情况。
S102:确定待转码流媒体任务的优先级,并插入到不同的任务队列;
由于消息队列具有先进先出的特点,如果按照消息队列加入任务的顺序来处理,可能会导致在线用户多的转码任务不能得到优先处理,从而影响用户体验。在实际应用中,采用了VIP消息队列和普通用户消息队列的双消息队列方式来存储任务。VIP业务对应的转码任务插入到VIP消息队列中,普通业务插入到普通用户消息队列中。为了解决同一业务等级下,不同在线用户人数的转码任务的调度问题,需要根据在线用户人数来确定转码任务的优先级,假设待转码任务的优先级为P,那么P可以通过如下的公式来计算:
P=UA*BP/BA
其中,UA为待转码任务的实时在线人数,BP为基础调度等级,BA为基础计算人数。P越大,调度的优先级就越高。这样保证了实时在线人数越多的待转码流媒体任务可以得到更快的处理,保证了整理业务的满意度。
S103:确定要执行的待转码流媒体任务;
调度服务器在处理转码任务时候,优先处理VIP消息队列,然后再处理普通用户消息队列。调度服务器在处理转码任务时候,优先处理VIP消息队列,从VIP消息队列找到优先级最高的待转码流媒体任务。如果VIP消息队列处理完毕,再处理普通用户消息队列,从普通用户消息队列中找到优先级最高的待转码流媒体任务。
S104:根据待转码流媒体任务属性以及各转码模块负载情况,确定转码模块;
如图3所示,对于VIP待转码流媒体任务,优先从VIP专属转码模块集合中取得空闲模块来处理,如果所有的VIP专属转码模块都没有空闲,则从通用转码模块集合中取得空闲模块来处理。对于通用待转码流媒体任务,则直接从通用转码模块集合中取得空闲模块来处理;如果所有的通用转码模块集合都没有空闲,也不会占用专属转码模块,保证了VIP待转码流媒体任务能够优先得到相应。
S105:在选定的转码模块开始待转码流媒体任务;
将步骤S103所确定的待转码流媒体任务交给步骤S104所确定的转码模块处理,最终得到H5用户所需要的流媒体格式。
表1实施过程中业务类型对应的平均延时
业务类型 | 平均直播延时(毫秒) |
VIP专属业务(在线人数较多) | 100 |
VIP专属业务(在线人数较少) | 150 |
普通业务(在线人数较多) | 300 |
普通业务(在线人数较少) | 400 |
如表1所示,对于VIP专属业务,根据在线人数,进行了很好的优化,100毫秒的延迟,可以让VIP用户获得更流畅的画面效果;对于在线人数较少的普通业务,400毫秒的延迟,也在人眼能感知的延迟范围之内(500毫秒),普通用户也获得了比较流畅的画面效果。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种流媒体低延时转码任务调度方法,其特征在于,包括以下步骤:
步骤100,获得待转码流媒体任务集合以及配置信息;
步骤200,根据所述配置信息确定所述待转码流媒体任务的优先级,并插入到不同的任务队列;
步骤300,根据转码模块负载情况,确定执行转码任务的转码模块并执行所述待转码流媒体任务。
2.根据权利要求1所述的方法,其特征在于,所述配置信息包括:待转码流媒体任务的业务逻辑情况和同时在线人数情况。
3.根据权利要求2所述的方法,其特征在于,步骤2中,所述任务队列包括根据所述待转码流媒体任务的业务逻辑情况分为VIP消息队列和普通用户队列,所述待转码流媒体任务的优先级根据同时在线人数情况确定;任务队列中按照待转码流媒体任务的优先级排序。
4.根据权利要求3所述的方法,其特征在于,所述待转码流媒体任务的优先级P,通过如下公式计算:
P=UA*BP/BA
其中,UA为待转码任务的实时在线人数,BP为基础调度等级,BA为基础计算人数。
5.根据权利要求3或4所述的方法,其特征在于,步骤300中,所述的转码模块分为VIP转码模块和通用转码模块,所述VIP转码模块用于处理VIP消息队列中的待转码流媒体任务,所述通用转码模块用于处理VIP消息队列和普通用户队列中的待转码流媒体任务。
6.根据权利要求5所述的方法,其特征在于,所述根据转码模块负载情况,确定执行转码任务的转码模块并执行所述待转码流媒体任务,包括:
步骤301,判断当前待转码流媒体任务是否为VIP转码任务,若是则跳转至步骤302,否则跳转至步骤303;
步骤302,获取各转码模块的负载情况,判断VIP转码模块是否有空闲,若是则由所述空闲VIP转码模块处理当前待转码流媒体任务,否则跳转至步骤303;
步骤303,判断通用转码模块是否有空闲,若是则处理当前待转码流媒体任务,否则跳转至步骤304;
步骤304,等待,直至VIP转码模块或通用转码模块出现空闲则跳转至步骤301。
7.一种流媒体低延时转码任务调度装置,其特征在于,包括:
任务集合获取单元,用于获取待转码流媒体任务集合;
配置单元,用于获取待转码流媒体任务配置信息;
优先级确定单元,用于根据待转码流媒体任务配置信息计算任务优先级;
转码模块,用于根据任务优先级执行待转码流媒体任务;
调度单元,用于根据转码模块负载情况,确定执行转码任务的转码模块。
8.根据权利要求7所述的装置,其特征在于,所述任务配置信息包括:待转码流媒体任务的业务逻辑情况和同时在线人数情况。
9.根据权利要求8所述的装置,其特征在于,所述任务优先级P,通过如下公式计算:
P=UA*BP/BA
其中,UA为待转码任务的实时在线人数,BP为基础调度等级,BA为基础计算人数。
10.根据权利要求8所述的装置,其特征在于,所述的转码模块分为VIP转码模块和通用转码模块,根据任务配置信息的不同,所述VIP转码模块和通用转码模块分别处理不同的待转码流媒体任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321958.3A CN110113632A (zh) | 2019-04-22 | 2019-04-22 | 一种流媒体低延时转码任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321958.3A CN110113632A (zh) | 2019-04-22 | 2019-04-22 | 一种流媒体低延时转码任务调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110113632A true CN110113632A (zh) | 2019-08-09 |
Family
ID=67486202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910321958.3A Pending CN110113632A (zh) | 2019-04-22 | 2019-04-22 | 一种流媒体低延时转码任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110113632A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717517A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇艺世纪科技有限公司 | 一种视频转码任务调度方法及装置 |
US20150341407A1 (en) * | 2014-05-21 | 2015-11-26 | Sony Corporation | System, method, and computer program product for media publishing request processing |
CN105338372A (zh) * | 2015-10-30 | 2016-02-17 | 中山大学 | 一种应用于游戏直播平台的自适应视频串流转码方法 |
CN105721901A (zh) * | 2014-12-31 | 2016-06-29 | 乐视云计算有限公司 | 视频转码适配方法、装置及系统 |
CN105933727A (zh) * | 2016-05-20 | 2016-09-07 | 中山大学 | 一种应用于游戏直播平台的视频流转码和分发方法 |
CN108366273A (zh) * | 2018-03-16 | 2018-08-03 | 中国传媒大学 | 分布式视频转码系统及分布式视频转码方法 |
US10191954B1 (en) * | 2012-05-07 | 2019-01-29 | Amazon Technologies, Inc. | Prioritized transcoding of media content |
-
2019
- 2019-04-22 CN CN201910321958.3A patent/CN110113632A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10191954B1 (en) * | 2012-05-07 | 2019-01-29 | Amazon Technologies, Inc. | Prioritized transcoding of media content |
US20150341407A1 (en) * | 2014-05-21 | 2015-11-26 | Sony Corporation | System, method, and computer program product for media publishing request processing |
CN105721901A (zh) * | 2014-12-31 | 2016-06-29 | 乐视云计算有限公司 | 视频转码适配方法、装置及系统 |
CN104717517A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇艺世纪科技有限公司 | 一种视频转码任务调度方法及装置 |
CN105338372A (zh) * | 2015-10-30 | 2016-02-17 | 中山大学 | 一种应用于游戏直播平台的自适应视频串流转码方法 |
CN105933727A (zh) * | 2016-05-20 | 2016-09-07 | 中山大学 | 一种应用于游戏直播平台的视频流转码和分发方法 |
CN108366273A (zh) * | 2018-03-16 | 2018-08-03 | 中国传媒大学 | 分布式视频转码系统及分布式视频转码方法 |
Non-Patent Citations (1)
Title |
---|
KARINE PIRES等: ""DASH in Twitch: Adaptive Bitrate Streaming in Live Game Streaming Platforms"", 《ARCHIVES OUVERTES HAL》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100428796C (zh) | 视频点播方法、系统、服务器和终端 | |
CN113157418B (zh) | 服务器资源分配方法和装置、存储介质及电子设备 | |
CN104871132B (zh) | 介质硬件资源分配 | |
WO2017107911A1 (zh) | 一种视频云平台播放视频的方法及装置 | |
CN106385594A (zh) | 一种优化视频直播服务的方法 | |
CN104349177B (zh) | 一种在桌面云下转向播放多媒体文件的方法、虚拟机及系统 | |
CN103631634A (zh) | 实现图形处理器虚拟化的方法与装置 | |
US10277911B2 (en) | Video processing workload management | |
CN105262960B (zh) | 一种基于集群渲染的立体电视信号编辑方法 | |
WO2013097210A1 (zh) | 基于云应用的在线渲染方法和离线渲染方法及相关装置 | |
CN106921634B (zh) | 多媒体流组播方法和装置 | |
CN107318052A (zh) | 电视机视频的播放方法、电视机及存储介质 | |
CN109509139A (zh) | 顶点数据处理方法、装置及设备 | |
CN108200444A (zh) | 一种视频直播的方法、装置和系统 | |
CN106302362A (zh) | 多媒体内容发送方法、分享方法、接收方法及对应装置 | |
CN115002497B (zh) | 直播回源的调度方法及系统、回源服务器 | |
CN113542660A (zh) | 一种实现会议多画面高清显示的方法、系统及存储介质 | |
US20120289271A1 (en) | Data distribution system, server, base station, and method | |
CN110113632A (zh) | 一种流媒体低延时转码任务调度方法及装置 | |
CN101247510A (zh) | 视频点播方法、装置及系统 | |
CN105323593A (zh) | 一种多媒体转码调度方法和装置 | |
CN112445605A (zh) | 一种媒体数据处理方法、装置及媒体服务器 | |
CN105338371A (zh) | 一种多媒体转码调度方法和装置 | |
CN112543373B (zh) | 一种转码控制方法、装置及电子设备 | |
CN106658208A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190809 |
|
RJ01 | Rejection of invention patent application after publication |