CN115002514A - 基于云原生控制器的spark视频转码系统及视频转码方法 - Google Patents
基于云原生控制器的spark视频转码系统及视频转码方法 Download PDFInfo
- Publication number
- CN115002514A CN115002514A CN202210592221.7A CN202210592221A CN115002514A CN 115002514 A CN115002514 A CN 115002514A CN 202210592221 A CN202210592221 A CN 202210592221A CN 115002514 A CN115002514 A CN 115002514A
- Authority
- CN
- China
- Prior art keywords
- transcoding
- video
- execution unit
- file system
- distributed
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000009467 reduction Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 238000009530 blood pressure measurement Methods 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 4
- 238000013467 fragmentation Methods 0.000 abstract description 2
- 238000006062 fragmentation reaction Methods 0.000 abstract description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 abstract description 2
- 238000004148 unit process Methods 0.000 abstract 1
- 239000012634 fragment Substances 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function 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
- 238000012544 monitoring process Methods 0.000 description 1
- 238000000638 solvent extraction Methods 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种基于云原生控制器的spark视频转码系统及视频转码方法,具体是一种基于云原生控制器和spark的视频转码系统及视频转码方法。其中,方法包括:用户提交http请求到多媒体服务器;多媒体服务器通过分布式数据库将作业分发给转码执行单元,转码执行单元按照分片、转码、合并的流程处理转码作业,并将中间结果和最终转码结果保存到分布式文件系统中;转码执行单元执行完转码作业后将结果返回给多媒体服务器;云原生控制器根据转码系统中作业数量、集群资源资源水位和转码执行单元资源利用率,控制集群中转码执行单元的个数。本发明的基于云原生控制器的spark视频转码系统及视频转码方法具有转码速度快、保障转码系统高峰期服务质量的优点。
Description
技术领域
本发明涉及视频转码技术领域,具体涉及一种基于云原生控制器的spark视频转码系统及视频转码方法。
背景技术
随着蜂窝通讯技术由3G到5G的快速发展,移动设备的网络接入速率由几百kbps逐步升级到数百mbps,使用移动设备播放长视频成为一种常态。然而不同移动设备支持的视频格式以及码率是不同的,某个网站的视频在被移动设备访问之前必须要转码成该设备支持的格式。传统的单机转码方法在视频时长越来越长、码率不断变大的今天,存在着转码速度慢和效率低下的缺点。将一个视频文件切成多个分发到多台机器上并行处理,最后合成一个大的视频文件,能够有效的解决长视频的转码速度慢问题。不依赖现有的分布式编程框架开发一个分布式系统处理转码作业,则由于分布式系统需要处理的的各种复杂问题,比如单点失败、可用性、网络分区而显得难度高、风险大。为了解决上述存在的问题,如公开号为CN104539978A的中国专利公开了一种云环境下的视频转码系统方法,包括部署有hadoop计算框架的openstack平台、作业配置模块、视频分割管理模块、视频传输模块等,该系统利用OpenStack和Hadoop的特性将集群的资源进行高效的调度,提高分布式视频转码的效率,但是该系统视频文件的分割依靠另一个服务,增加了系统的复杂度,而且该系统处于容错考虑会对转码的视频文件进行备份,增加了存储的开销。又如公开号为CN111093095A的中国专利公开了一种基于spark平台的视频转码方法,包括接受请求的webserver、视频分割节点、hdfs、spark集群以及mysql数据库,该系统利用视频分割节点切分视频文件,利用spark集群处理分布式转码,对比mapreduce的实现方式转码更加快速,然而该方案要引入额外的服务进行视频分割增加了系统的复杂度,而且该实现将以二进制的视频文件本身作为RDD中的数据,使得spark driver和worker之间有大量的数据需要传输,在driver需要处理很多视频文件的情况下给driver增加了巨大的负担,使得driver成为系统性能瓶颈。
Kubernetes是目前云计算领域的使用最广泛的基础架构,是谷歌开源的一个面向容器场景的集群管理系统。Kubernetes集群由两种类型的节点构成,master节点接收用户请求并维护集群状态,工作节点按照master的指令管理一些工作负载。用户通过提交作业声明到kubernetes,master节点根据作业声明创建对应的工作负载并分派给具体的工作节点,工作节点则会将负载启动并维护负载的生命周期。Spark是一个专门针对数据处理的分布式计算引擎,其基于弹性分布式数据集在不同的节点之间共享数据,并提供了丰富的算子,而spark-on-kubernetes-operator是k8s社区为了让spark应用可以更加简单的运行在kubernetes集群中而开发的一个operator。利用该operator,只需要编写对应spark作业声明,kubernetes就会自动创建一个spark应用并运行。
发明内容
针对现有技术的不足,本发明提供一种基于云原生控制器的spark视频转码系统及视频转码方法,利用spark分布式计算引擎实现分布式转码同时根据集群资源水位和作业量控制spark应用数量,能够有效减少长视频转码时间、提高转码系统吞吐量和降低成本。
本发明的目的通过如下的技术方案来实现:
一种基于云原生控制器的spark视频转码系统,所述系统包括:
多媒体服务器,接收用户提交的http请求,生成转码作业分发给转码执行单元;接收转码执行单元发送的http回调请求;更新转码作业信息中的转码作业执行结果,将转码作业执行结果返回给用户;将用户提交的http请求中包含的转码作业信息保存到关系型数据库中;所述http请求包括视频文件的分布式文件系统标识符、转码后的视频文件名称和转码参数;http回调请求的body中包含转码的结果和转码后视频文件的信息;
转码执行单元,是一个基于spark分布式计算框架的转码应用,由一个driver和若干个executor组成,负责接收所述多媒体服务器生成的转码作业,将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统;从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统;从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统;转码执行单元还用于向多媒体服务器发送http回调请求;
分布式数据库,用于实现多媒体服务器和转码执行单元之间的转码作业信息分发;
关系型数据库,保存用户提交的http请求中包含的转码作业信息;
分布式文件系统,保存转码前后的视频文件以及中间结果;
云原生控制器,用于获取分布式数据库中转码作业的数量、云原生集群的总体负载、转码执行单元的资源使用情况,决定增加/减少处理转码的转码执行单元的数量。
进一步地,所述云原生控制器通过如下的方式决定增加/减少处理转码的转码执行单元的数量:
从分布式数据库获取当前集群中的转码作业数量,根据单个转码执行单元的处理能力计算出当前作业量下需要的转码执行单元的个数,与当前集群中拥有的转码执行单元的个数进行比较,如果当前集群中拥有的转码执行单元的个数小于当前作业量下需要的转码执行单元的个数,则所述云原生控制器创建新的转码执行单元;否则,转码执行单元不需要扩容,进一步判断当前集群中的转码执行单元的负载是否低于某个阈值,如果低于阈值则缩容系数加一;再进一步判断缩容系数,当缩容系数大于缩容阈值时,触发缩容逻辑,从集群中销毁一个转码执行单元。
一种基于spark的视频转码方法,该方法包括如下步骤:
步骤一:所述分布式文件系统接收并保存用户上传的需要转码的视频文件,所述多媒体服务器接收用户提交的http请求;所述http请求包括视频文件的分布式文件系统标识符、转码后的视频文件名称和转码参数;
步骤二:所述多媒体服务器生成转码作业分发给转码执行单元,转码执行单元先将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统;转码执行单元再从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统;转码执行单元从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统;
步骤三:合并执行完成后,转码执行单元向所述多媒体服务器发送http回调请求,请求body中包含转码的结果和转码后视频文件的信息;所述多媒体服务器将转码结果返回给用户。
进一步地,切割后的视频文件大小、转码作业的rdd分区数量、转码执行单元的cpu和内存大小、转码执行单元的executor数量通过压测获得。
进一步地,所述转码执行单元先将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统的具体步骤如下:
通过mapPartitions算子将只包含原始视频文件信息的RDD转换成包含多个切片视频文件信息的RDD算子,并将切片完成的视频上传至分布式文件系统;通过collect算子将切片文件信息收集回driver以判断分片阶段是否有错误发生。
进一步地,转码执行单元再从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统的具体步骤如下:
通过map算子将分片后的视频文件信息分发给executor,executor根据分片视频文件信息从分布式文件系统下载对应的视频文件,调用ffmpeg进行转码,将转码后的视频文件传回分布式文件系统之后将转码后的视频文件信息存入新的RDD,通过collect算子将转码视频文件信息传回driver以判断转码阶段是否有错误发生。
进一步地,转码执行单元从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统的具体步骤如下:
通过mapPartitions算子将包含转码视频文件信息的RDD转换成包含合并视频文件信息的RDD算子,并将合并后的视频文件上传至分布式文件系统,通过collect算子合并后的视频文件信息传回driver以判断合并阶段是否有错误发生。
本发明的有益效果如下:
1.根据集群的资源剩余量和当前的转码作业数量,动态的增减转码执行单元的数量,提高了转码作业高峰期的作业处理速度,在转码作业较少时减少转码执行单元的数量,降低成本。
2.不需要引入额外的视频分割节点,系统转码功能实现更加简单。
3.转码系统的各项参数,比如视频切割文件的大小、转码作业的rdd分区数量等,都是通过压测获得的,相比于人工指定参数的方式,转码系统性能有进一步的提升。
4.本发明的视频转码方法采用基于视频文件信息进行作业分发的方式,相比于直接在driver和executor之间分发视频文件的方式,给转码执行单元的driver和executor组件压力更小,在转码作业量大的场景下,转码执行单元的稳定性更高。
附图说明
图1为本发明的转码系统架构示意图;
图2为spark实现分片转码逻辑示意图;
图3为云原生控制器的扩缩流程图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的基于云原生控制器的视频转码方法,包括以下步骤:
(1)用户将视频文件上传至分布式文件系统,并通过浏览器或者命令行工具提交http请求到多媒体服务器,请求包含视频文件的分布式文件系统标识符、转码参数;
(2)多媒体服务器在校验用户请求的合法性之后,为用户生成转码作业,其中包含转码前后的文件名称、转码参数、作业编号、作业执行状态、作业开始结束时间等信息,并将这些信息先写入关系型数据库中,然后将作业发给转码执行单元;
(3)转码执行执行单元从分布式文件系统下载视频文件并将其分割成可独立播放的视频文件分片,分割完成后将所有分片保存到分布式文件系统;
(4)转码执行单元从分布式文件系统下载分割后的视频文件分片,对其进行转码处理,并将转码后的执行结果保存回分布式文件系统;
(5)转码执行单元从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合成一个文件,并将合并后的文件保存到分布式文件系统;
(6)合并阶段执行完成后,转码执行单元向多媒体服务器发送http回调,请求body中包含转码作业的执行结果和转码后的视频文件参数,多媒体服务器更新关系行数据库中保存的转码作业状态信息,并将转码作业的执行结果返回给用户;
(7)用户从分布式文件系统下载转码后的文件。
进一步的,所述步骤(2)中的作业分发通过多媒体服务器将转码作业写入分布式数据库中,转码执行单元通过分布式数据库提供的watch机制获取到分布式数据库中的作业写入事件,由于系统中有多个转码执行单元会同时争抢作业,为了确保只有一个转码执行单元获取到作业,转码执行单元比较作业的modified version和create version是否相等,如果相等则通过分布式数据提供的事务重新执行一次作业的写入,成功执行事务的转码执行单元被认为抢到了作业,可以开始后续的转码作业的执行;
进一步的,所述步骤(2)、(3)、(4)中的视频文件切片大小、转码作业的RDD最大分区数量、转码执行单元的CPU和内存大小、以及单个转码执行单元包含的executor个数均通过压测获得,通过压测脚本创建单个参数取一系列不同值的转码执行单元,并发起一定数量的转码作业,测量不同参数下转码系统的QPS、吞吐和转码作业平均完成时间,从而确定不同参数的最佳取值,相比于人工根据经验确定转码执行单元的配置的方法,利用压测确定的参数部署的转码执行单元具有更好的性能
进一步的,所述步骤(2)、(3)、(4)中的转码执行单元是常驻的spark应用;
一种基于云原生控制器的spark视频转码系统,包括:
多媒体服务器,接收用户提交的http请求,生成转码作业分发给转码执行单元;接收转码执行单元发送的http回调请求;更新转码作业信息中的转码作业执行结果,将转码作业执行结果返回给用户;将用户提交的http请求中包含的转码作业信息保存到关系型数据库中;所述http请求包括视频文件的分布式文件系统标识符、转码后的视频文件名称和转码参数;http回调请求的body中包含转码的结果和转码后视频文件的信息;
运行在云平台中的基于spark开发的转码执行单元,接收所述多媒体服务器生成的转码作业,将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统;从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统;从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统;转码执行单元还用于向多媒体服务器发送http回调请求;
云原生控制器,负责监听分布式数据库中作业的数量、转码执行单元的资源使用情况以及云原生集群的总体负载,决定增加或者减少转码执行单元的数量。
分布式数据库,用于实现多媒体服务器和转码执行单元之间的转码作业信息分发;
关系型数据库,保存用户提交的http请求中包含的转码作业信息;
分布式文件系统,保存转码前后的视频文件以及中间结果。
基于视频文件信息进行作业分发的方式相比于直接在driver和exeutor之间分发二进制视频文件本身的方式,给spark的driver带来的压力更小,在转码作业量大的场景下,spark转码应用的稳定性更高。如图2所示,转码执行单元将视频转码分成三个阶段:分片、转码和合并。每个阶段由两个算子组成,分片阶段通过mapPartitions算子将只包含原始视频文件信息的RDD转换成包含多个切片视频文件信息的RDD算子,并将切片完成的视频上传至分布式文件系统,通过collect算子将切片文件信息收集回driver以判断分片阶段是否有错误发生。转码阶段通过map算子将分片后的视频文件信息分发给executor,executor根据分片视频文件信息从分布式文件系统下载对应的视频文件,调用ffmpeg进行转码,将转码后的视频文件传回分布式文件系统之后将转码后的视频文件信息存入新的RDD,通过collect算子将转码视频文件信息传回driver以判断转码阶段是否有错误发生。合并阶段通过mapPartitions算子将包含转码视频文件信息的RDD转换成包含合并视频文件信息的RDD算子,并将合并后的视频文件上传至分布式文件系统,通过collect算子合并后的视频文件信息传回driver以判断合并阶段是否有错误发生。Spark转码应用的driver和executor之间分发的仅仅是数据量很小的视频文件信息,而不是视频文件本身,大大减小了driver和executor的压力,使得转码应用更加稳定。
基于云原生控制器的spark视频转码系统具有根据作业量和集群资源余量进行弹性扩缩的能力。如图3所示,云原生控制器在启动后会按照一定的间隔循环如下的逻辑:从分布式数据库中获取当前集群中的作业数量,根据单个转码执行单元的处理能力计算出当前作业量下需要的转码执行单元个数,与当前集群中工作的转码执行单元个数进行比较,如果当前集群中工作的转码执行单元个数少于根据单个转码执行单元的处理能力计算出当前作业量下需要的转码执行单元个数,则创建新的转码执行单元,此次循环结束。如果计算出当前集群中的转码执行单元不需要扩容,则判断当前集群中是否有转码执行单元的负载低于设定的阈值,如果低于阈值则缩容系数加一,当缩容系数大于缩容阈值时,触发缩容逻辑,从集群中销毁该转码执行单元。基于云原生控制器的spark视频转码系统具有的弹性能力,可以提高转码作业的处理速度避免出现作业的堆积现象,具有空闲时期的缩容能力可以降低转码系统的成本。
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (7)
1.一种基于云原生控制器的spark视频转码系统,其特征在于,所述系统包括:
多媒体服务器,接收用户提交的http请求,生成转码作业分发给转码执行单元;接收转码执行单元发送的http回调请求;更新转码作业信息中的转码作业执行结果,将转码作业执行结果返回给用户;将用户提交的http请求中包含的转码作业信息保存到关系型数据库中;所述http请求包括视频文件的分布式文件系统标识符、转码后的视频文件名称和转码参数;http回调请求的body中包含转码的结果和转码后视频文件的信息;
转码执行单元,接收所述多媒体服务器生成的转码作业,将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统;从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统;从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统;转码执行单元还用于向多媒体服务器发送http回调请求;
分布式数据库,用于实现多媒体服务器和转码执行单元之间的转码作业信息分发;
关系型数据库,保存用户提交的http请求中包含的转码作业信息;
分布式文件系统,保存转码前后的视频文件以及中间结果;
云原生控制器,用于获取分布式数据库中转码作业的数量、云原生集群的总体负载、转码执行单元的资源使用情况,决定增加/减少处理转码的转码执行单元的数量。
2.根据权利要求1所述的基于云原生控制器的spark视频转码系统,其特征在于,所述云原生控制器通过如下的方式决定增加/减少处理转码的转码执行单元的数量:
从分布式数据库获取当前集群中的转码作业数量,根据单个转码执行单元的处理能力计算出当前作业量下需要的转码执行单元的个数,与当前集群中拥有的转码执行单元的个数进行比较,如果当前集群中拥有的转码执行单元的个数小于当前作业量下需要的转码执行单元的个数,则所述云原生控制器创建新的转码执行单元;否则,转码执行单元不需要扩容,进一步判断当前集群中的转码执行单元的负载是否低于某个阈值,如果低于阈值则缩容系数加一;再进一步判断缩容系数,当缩容系数大于缩容阈值时,触发缩容逻辑,从集群中销毁一个转码执行单元。
3.一种基于权利要求1~2中任意一项的视频转码系统的视频转码方法,其特征在于,该方法包括如下步骤:
步骤一:所述分布式文件系统接收并保存用户上传的需要转码的视频文件,所述多媒体服务器接收用户提交的http请求;所述http请求包括视频文件的分布式文件系统标识符、转码后的视频文件名称和转码参数;
步骤二:所述多媒体服务器生成转码作业分发给转码执行单元,转码执行单元先将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统;转码执行单元再从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统;转码执行单元从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统;
步骤三:合并执行完成后,转码执行单元向所述多媒体服务器发送http回调请求,请求body中包含转码的结果和转码后视频文件的信息;所述多媒体服务器将转码结果返回给用户。
4.根据权利要求3所述的视频转码方法,其特征在于,切割后的视频文件大小、转码作业的rdd分区数量、转码执行单元的cpu和内存大小、转码执行单元的executor数量通过压测获得。
5.根据权利要求3所述的视频转码方法,其特征在于,所述转码执行单元先将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统的具体步骤如下:
通过mapPartitions算子将只包含原始视频文件信息的RDD转换成包含多个切片视频文件信息的RDD算子,并将切片完成的视频上传至分布式文件系统;通过collect算子将切片文件信息收集回driver以判断分片阶段是否有错误发生。
6.根据权利要求3所述的视频转码方法,其特征在于,转码执行单元再从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统的具体步骤如下:
通过map算子将分片后的视频文件信息分发给executor,executor根据分片视频文件信息从分布式文件系统下载对应的视频文件,调用ffmpeg进行转码,将转码后的视频文件传回分布式文件系统之后将转码后的视频文件信息存入新的RDD,通过collect算子将转码视频文件信息传回driver以判断转码阶段是否有错误发生。
7.根据权利要求3所述的视频转码方法,其特征在于,转码执行单元从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统的具体步骤如下:
通过mapPartitions算子将包含转码视频文件信息的RDD转换成包含合并视频文件信息的RDD算子,并将合并后的视频文件上传至分布式文件系统,通过collect算子合并后的视频文件信息传回driver以判断合并阶段是否有错误发生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592221.7A CN115002514B (zh) | 2022-05-27 | 2022-05-27 | 基于云原生控制器的spark视频转码系统及视频转码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592221.7A CN115002514B (zh) | 2022-05-27 | 2022-05-27 | 基于云原生控制器的spark视频转码系统及视频转码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115002514A true CN115002514A (zh) | 2022-09-02 |
CN115002514B CN115002514B (zh) | 2023-07-21 |
Family
ID=83029286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210592221.7A Active CN115002514B (zh) | 2022-05-27 | 2022-05-27 | 基于云原生控制器的spark视频转码系统及视频转码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115002514B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014082505A1 (zh) * | 2012-11-27 | 2014-06-05 | 腾讯科技(深圳)有限公司 | 转码方法及系统、分布式文件装置 |
CN104539978A (zh) * | 2014-12-19 | 2015-04-22 | 南京工业大学 | 一种云环境下的视频转码系统方法 |
CN105828105A (zh) * | 2015-12-10 | 2016-08-03 | 广东亿迅科技有限公司 | 一种基于分布式环境的视频转码系统及视频转码方法 |
CN106790660A (zh) * | 2017-01-18 | 2017-05-31 | 咪咕视讯科技有限公司 | 一种实现分布式存储系统的部署方法及装置 |
CN110769278A (zh) * | 2019-10-29 | 2020-02-07 | 鹏城实验室 | 一种分布式视频转码方法及系统 |
CN110856018A (zh) * | 2019-11-14 | 2020-02-28 | 武汉珞佳伟业科技有限公司 | 一种基于云计算的监控系统中的快速转码方法及系统 |
CN111093095A (zh) * | 2019-12-16 | 2020-05-01 | 黔南民族师范学院 | 基于spark平台的视频转码方法及系统 |
WO2021135545A1 (zh) * | 2020-06-30 | 2021-07-08 | 平安科技(深圳)有限公司 | 一种 kubernetes 多集群管理系统、方法、终端及存储介质 |
CN113179496A (zh) * | 2021-04-30 | 2021-07-27 | 南京邮电大学 | 基于mec的视频分析架构及该架构下的室内定位系统 |
WO2022002209A1 (zh) * | 2020-07-01 | 2022-01-06 | 中兴通讯股份有限公司 | 数据传输方法和代理服务器、存储介质及电子装置 |
CN113973052A (zh) * | 2021-09-30 | 2022-01-25 | 阿里巴巴达摩院(杭州)科技有限公司 | 云网络系统、数据传输方法、计算节点及存储介质 |
CN114064211A (zh) * | 2021-11-15 | 2022-02-18 | 湖北公众信息产业有限责任公司 | 一种基于端-边-云计算架构的视频流分析系统及方法 |
CN114116909A (zh) * | 2021-12-01 | 2022-03-01 | 敏博科技(武汉)有限公司 | 一种分布式云原生数据库管理方法和系统 |
-
2022
- 2022-05-27 CN CN202210592221.7A patent/CN115002514B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014082505A1 (zh) * | 2012-11-27 | 2014-06-05 | 腾讯科技(深圳)有限公司 | 转码方法及系统、分布式文件装置 |
CN104539978A (zh) * | 2014-12-19 | 2015-04-22 | 南京工业大学 | 一种云环境下的视频转码系统方法 |
CN105828105A (zh) * | 2015-12-10 | 2016-08-03 | 广东亿迅科技有限公司 | 一种基于分布式环境的视频转码系统及视频转码方法 |
CN106790660A (zh) * | 2017-01-18 | 2017-05-31 | 咪咕视讯科技有限公司 | 一种实现分布式存储系统的部署方法及装置 |
CN110769278A (zh) * | 2019-10-29 | 2020-02-07 | 鹏城实验室 | 一种分布式视频转码方法及系统 |
CN110856018A (zh) * | 2019-11-14 | 2020-02-28 | 武汉珞佳伟业科技有限公司 | 一种基于云计算的监控系统中的快速转码方法及系统 |
CN111093095A (zh) * | 2019-12-16 | 2020-05-01 | 黔南民族师范学院 | 基于spark平台的视频转码方法及系统 |
WO2021135545A1 (zh) * | 2020-06-30 | 2021-07-08 | 平安科技(深圳)有限公司 | 一种 kubernetes 多集群管理系统、方法、终端及存储介质 |
WO2022002209A1 (zh) * | 2020-07-01 | 2022-01-06 | 中兴通讯股份有限公司 | 数据传输方法和代理服务器、存储介质及电子装置 |
CN113179496A (zh) * | 2021-04-30 | 2021-07-27 | 南京邮电大学 | 基于mec的视频分析架构及该架构下的室内定位系统 |
CN113973052A (zh) * | 2021-09-30 | 2022-01-25 | 阿里巴巴达摩院(杭州)科技有限公司 | 云网络系统、数据传输方法、计算节点及存储介质 |
CN114064211A (zh) * | 2021-11-15 | 2022-02-18 | 湖北公众信息产业有限责任公司 | 一种基于端-边-云计算架构的视频流分析系统及方法 |
CN114116909A (zh) * | 2021-12-01 | 2022-03-01 | 敏博科技(武汉)有限公司 | 一种分布式云原生数据库管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115002514B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110233802B (zh) | 一种构建一主链多侧链的区块链架构的方法 | |
CN111522622B (zh) | 一种基于云平台的k8s快速启动方法 | |
WO2016078259A1 (zh) | 一种基于嵌入式文件系统的流式数据读取方法 | |
CN108829508B (zh) | 任务处理方法和装置 | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
CN114281791A (zh) | 数据访问方法、系统、设备及存储介质 | |
CN104753992A (zh) | 一种数据存储、虚拟平台故障恢复的方法、设备和系统 | |
CN115587118A (zh) | 任务数据的维表关联处理方法及装置、电子设备 | |
CN115221186A (zh) | 一种数据查询方法、系统、装置及电子设备 | |
CN112632008A (zh) | 一种数据分片的传输方法、装置及计算机设备 | |
CN115543538A (zh) | 一种面向物联网的机器学习容器镜像下载系统及其方法 | |
CN111125248A (zh) | 一种大数据存储解析查询系统 | |
US11055223B2 (en) | Efficient cache warm up based on user requests | |
CN116991562B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112527450B (zh) | 基于不同资源的超融合自适应方法、终端及系统 | |
CN113609090A (zh) | 数据存储方法及装置、计算机可读存储介质、电子设备 | |
CN107566341B (zh) | 一种基于联邦分布式文件存储系统的数据持久化存储方法及系统 | |
CN111431951B (zh) | 一种数据处理方法、节点设备、系统及存储介质 | |
CN115002514B (zh) | 基于云原生控制器的spark视频转码系统及视频转码方法 | |
CN115695446A (zh) | 一种基于Openstack的高并发的镜像传输方法 | |
CN107454137B (zh) | 一种在线业务按需服务的方法、装置与设备 | |
WO2022121387A1 (zh) | 数据存储方法、装置、服务器及介质 | |
CN115391275A (zh) | 三维虚拟场景的构建方法、装置、电子设备及存储介质 | |
CN114020218A (zh) | 混合重复数据删除调度方法及系统 | |
CN113342853A (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 |