CN111093095A - 基于spark平台的视频转码方法及*** - Google Patents

基于spark平台的视频转码方法及*** Download PDF

Info

Publication number
CN111093095A
CN111093095A CN201911296815.8A CN201911296815A CN111093095A CN 111093095 A CN111093095 A CN 111093095A CN 201911296815 A CN201911296815 A CN 201911296815A CN 111093095 A CN111093095 A CN 111093095A
Authority
CN
China
Prior art keywords
video
file
transcoding
spark
webserver
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
Application number
CN201911296815.8A
Other languages
English (en)
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.)
Qiannan Normal University for Nationalities
Original Assignee
Qiannan Normal University for Nationalities
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 Qiannan Normal University for Nationalities filed Critical Qiannan Normal University for Nationalities
Priority to CN201911296815.8A priority Critical patent/CN111093095A/zh
Publication of CN111093095A publication Critical patent/CN111093095A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明涉及视频转码技术领域,具体是一种基于spark平台的视频转码方法及***。其中,方法包括:用户使用客户端通过http请求到WebServer,然后WebServer接收视频文件及获取文件格式大小等信息;WebServer将视频文件提交到视频分割节点,视频分割节点对视频文件进行分割成独立可以播放的视频文件,分割完成提交到hdfs进行分布式保存;spark集群对分布式文件进行分布式转码;转码完成后,向mysql数据库***一条记录源文件的路径、名称、格式、目标文件的名称、路径,然后webserver将记录返回给用户;用户从文件***下载转码后的目标文件。本发明的基于spark平台的视频转码方法及***具有节约转码时间及转码速率快的优点。

Description

基于spark平台的视频转码方法及***
技术领域
本发明涉及视频转码技术领域,具体是一种基于spark平台的视频转码方法及***。
背景技术
随着移动互联网的飞速发展,基于HTML5的视频对推动民族文化传播有着重要的推动作用。基于HTML5的视频只支持Theora、H.264、MPEG4视频编码,但是目前已有的民族文化的视频格式多种多样,就需要对视频文件进行快速转换以适HTML5视频标签。
随着视频网站的兴起,移动终端上的视频传输与交互得到了广泛的应用,但是由于网络环境、视频编码的不同,要适应移动终端的环境要求,需要进行专门的视频转码,视频转码传统的做法是使用单一的服务器,如果转码的视频文件内容比较大,会导致服务器耗费很长时间;视频转码是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络宽带、不同的终端处理能力和不同的用户需求。随着高清视频的发展,视频文件的也从几百MB上升到几十G,为了适配移动终端设备,对视频文件的存储和转码服务器提出了更高的要求。
现有技术中的转码模式有以下四种:其一是使用单一的转码服务器对视频进行转码工作。将视频传输至转码服务器,转码服务器转码, 返回转码后的视频。这种方法的优点是实现起来较简单,缺点是转码服务器的性能限制转码时间,不能承受高并发的转码任务。其二是采用多台转码机器同时对视频文件进行转码。将视频在片源分段,将每段传输到对应的转码机器上,转码完成后将各段合并成一个视频文件, 返回该视频。这种方法的优点是并行转码,时间成本低,可以应对并发转码任务,但也存在实现复杂,需要考虑分段同步以及断后合并的缺点。其三是使用云的存储和计算能力对视频文件进行转码。例如 Grio使用Amazon的S3(Simple Storage Service)服务器对视频文件进行存储,利用EC2( ElasticCompute Cloud)对视频文件进行转码。其中,EC2的一个实例(Instance)负责一个视频文件的转码任务。其四是基于分布式***Hadoop平台进行转码,利用Hadoop平台的HDFS进行存储和利用MapReduce思想和FFMPEG的视频转码。
发明内容
针对上述现有技术中的不足之处,本发明旨在提供一种节约转码时间及转码速率快的基于spark平台的视频转码方法及***。
为解决上述技术问题,本发明的基于spark平台的视频转码方法,包括以下步骤:
(1)用户使用客户端通过http请求到WebServer,然后WebServer接收视频文件及获取文件格式大小等信息;
(2)WebServer将视频文件提交到视频分割节点,视频分割节点对视频文件进行分割成独立可以播放的视频文件,分割完成提交到hdfs进行分布式保存;
(3)spark集群对分布式文件进行分布式转码;
(4)转码完成后,向mysql数据库***一条记录源文件的路径、名称、格式、目标文件的名称、路径,然后webserver将记录返回给用户;
(5)用户从文件***下载转码后的目标文件。
优选的,所述步骤(1)中的文件格式包括mp4、flv和rmvb。
优选的,所述步骤(2)中视频分割为首先利用ffmpeg对视频进行无损分割,分割的文件大小参照hdfs块大小。
一种基于spark平台的视频转码***,包括:Spark集群,用于对对分布式文件进行分布式转码;
mysql数据库,用于储存记录源文件的路径、名称、格式、目标文件的名称、路径;
WebServer,用于负责接收用户请求,将用户上传的文件存储到文件***,调用Spark集群进行视频的转换和存储。
优选的,还包括客户端,用于客户输入请求;
资源管理器,用于管理数据库、持续消息队列或事务性文件***中的持久性或持续性数据。
本发明基于spark平台的视频转码方法及***具有以下优点:1、task启动时间比较快,Spark是fork出线程;而MR是启动一个新的进程;2、更快的shuffles,Spark只有在shuffle的时候才会将数据放在磁盘,而MapReduce却不是。3、更快的工作流:典型的MapReduce工作流是由很多MapReduce作业组成的,他们之间的数据交互需要把数据持久化到磁盘才可以;而Spark支持DAG以及pipelining。4、本发明的具有节约转码时间及转码速率快的优点。
附图说明
图1为本发明的视频转码***结构示意图;
图2为使用spark记性视频转码业务逻辑的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,本发明的基于spark平台的视频转码方法,包括以下步骤:
(1)用户使用客户端4通过http请求到WebServer3,然后WebServer3接收视频文件及获取文件格式大小等信息;
(2)WebServer3将视频文件提交到视频分割节点,视频分割节点对视频文件进行分割成独立可以播放的视频文件,分割完成提交到hdfs进行分布式保存;
(3)spark集群对分布式文件进行分布式转码;
(4)转码完成后,向mysql数据库2***一条记录源文件的路径、名称、格式、目标文件的名称、路径,然后webserver3将记录返回给用户;
(5)用户从文件***下载转码后的目标文件。
进一步的,所述步骤(1)中的文件格式包括mp4、flv和rmvb。
进一步的,所述步骤(2)中视频分割为首先利用ffmpeg对视频进行无损分割,分割的文件大小参照hdfs块大小。
一种基于spark平台的视频转码***,包括:Spark集群,用于对对分布式文件进行分布式转码;
mysql数据库2,用于储存记录源文件的路径、名称、格式、目标文件的名称、路径;
WebServer3,用于负责接收用户请求,将用户上传的文件存储到文件***,调用Spark集群进行视频的转换和存储。
更进一步的,还包括客户端4,用于客户输入请求;
资源管理器5,用于管理数据库、持续消息队列或事务性文件***中的持久性或持续性数据。
基于Spark方案相比与MapReduce编程模型,Spark提供了更加灵活的DAG(Directed Acyclic Graph)变成模型,不仅包含了传统的map、reduce接口,还增加了filter、flatMap、union等操作接口,使得spark在实现视频转码更加灵活方便。使用spark记性视频转码业务逻辑如图2所示,通过spark的DAG编程模型可以把11个MapReduce简化为一个Spark作业,Spark把视频转码切分为3个Stage,每个Stage包含多个可并行执行的Tasks。Stage之间的数据通过Shuffle传递。最终只需要读取和写入HDFS一次。减少了9次HDFS读写,读写HDFS减少了80%。Spark作业启动后向yarn申请所需的Executor资源,所有Stage以线程的方式运行,共用Executors,相对于MapReduce方式,Spark申请资源的次数减少了近90%。由于进行视频转码使用RDD(Resilient Distributed Dataset)模型,中间数据都以RDD的形式存储,而RDD分布式存储于slave节点内容,减少了计算过程中读写磁盘的次数。
为了使更直观的表现本发明的优点,特做了以下实验:实验环境是在一台6核CPU、64GB内存、6TB硬盘、通过虚拟化软件VMware vSphere在服务器上建立了5台虚拟机进行试验,虚拟机统一配置为:4核CPU,8GB内存,500GB硬盘,CentOS 6 64位操作******。虚拟机角色如表1所示:
表1 节点角色
IP地址 节点角色
192.168.2.170 Namenode , resourcemanager,Master
192.168.2.171 Namenode,Datanode,resourcemanager,NodeManager,worker
192.168.2.172 Datanode, NodeManager,worker
192.168.2.173 Datanode, NodeManager,worker
192.168.2.174 Datanode, NodeManager,worker
实验使用的数据为3.02GB的mov格式的数据,分段大小与分段数量:
分段大小/MB 分段数量
64 48
128 24
256 12
转码前后视频参数:
视频类型 视频大小 视频格式编码 比特率 分辨率
输入视频 3.02GB mov 6972 2560*1600
输出视频 476MB MPEG-4 782 1280*720
实验结果
在单节点使用ffmpeg工具对视频进行转码总共耗时2280s,在4台ApplicationMaster的节点上,分段大小为64MB时,使用MapReduce耗时为1600s,基于spark平台的4个worker、分段大小为64MB时,耗时为1200s,明显的比使用mapreduce分布式转码耗时少,使用分段大小为128MB时,spark的耗时最少,使用分段大小为256MB的分段比128MB耗时要多,但是仍然比使用MapReduce耗时要少。试验结果表明Spark比MapReduce运行速度快,由此可以看出本发明具有节约转码时间及转码速率快的优点。
在使用spark平台进行转码时的分段128MB比256MB的使用时间要少的主要原因是:数据量达到一定程度,作业同一时刻需要加载进内存的数据只是整体数据的一个子集,过程中还是要对磁盘进行读写,对磁盘读写需要耗费一定时间。
显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

Claims (5)

1.一种基于spark平台的视频转码方法,其特征在于,包括以下步骤:
(1)用户使用客户端(4)通过http请求到WebServer(3),然后WebServer(3)接收视频文件及获取文件格式大小等信息;
(2)WebServer(3)将视频文件提交到视频分割节点,视频分割节点对视频文件进行分割成独立可以播放的视频文件,分割完成提交到hdfs进行分布式保存;
(3)spark集群对分布式文件进行分布式转码;
(4)转码完成后,向mysql数据库(2)***一条记录源文件的路径、名称、格式、目标文件的名称、路径,然后webserver(3)将记录返回给用户;
(5)用户从文件***下载转码后的目标文件。
2.根据权利要求1所述的基于spark平台的视频转码方法,其特征在于:所述步骤(1)中的文件格式包括mp4、flv和rmvb。
3.根据权利要求1所述的基于spark平台的视频转码方法,其特征在于:所述步骤(2)中视频分割为首先利用ffmpeg对视频进行无损分割,分割的文件大小参照hdfs块大小。
4.一种基于spark平台的视频转码***,其特征在于,包括:Spark集群,用于对对分布式文件进行分布式转码;
mysql数据库(2),用于储存记录源文件的路径、名称、格式、目标文件的名称、路径;
WebServer(3),用于负责接收用户请求,将用户上传的文件存储到文件***,调用Spark集群进行视频的转换和存储。
5.根据权利要求4所述的基于spark平台的视频转码***,其特征在于:还包括客户端(4),用于客户输入请求;
资源管理器(5),用于管理数据库、持续消息队列或事务性文件***中的持久性或持续性数据。
CN201911296815.8A 2019-12-16 2019-12-16 基于spark平台的视频转码方法及*** Pending CN111093095A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911296815.8A CN111093095A (zh) 2019-12-16 2019-12-16 基于spark平台的视频转码方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911296815.8A CN111093095A (zh) 2019-12-16 2019-12-16 基于spark平台的视频转码方法及***

Publications (1)

Publication Number Publication Date
CN111093095A true CN111093095A (zh) 2020-05-01

Family

ID=70395823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911296815.8A Pending CN111093095A (zh) 2019-12-16 2019-12-16 基于spark平台的视频转码方法及***

Country Status (1)

Country Link
CN (1) CN111093095A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002514A (zh) * 2022-05-27 2022-09-02 浙江大学 基于云原生控制器的spark视频转码***及视频转码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044306A (ja) * 2010-08-16 2012-03-01 Skill Up Japan Corp 分散トランスコーディングシステム並びに方法、及びトランスコーディング装置
CN103686206A (zh) * 2014-01-02 2014-03-26 中安消技术有限公司 一种云环境下的视频转码方法和***
CN104159127A (zh) * 2014-08-21 2014-11-19 北京奇艺世纪科技有限公司 一种视频转码方法、装置及***
CN108810545A (zh) * 2018-07-04 2018-11-13 中南大学 用于视频编码的方法、装置、计算机可读介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044306A (ja) * 2010-08-16 2012-03-01 Skill Up Japan Corp 分散トランスコーディングシステム並びに方法、及びトランスコーディング装置
CN103686206A (zh) * 2014-01-02 2014-03-26 中安消技术有限公司 一种云环境下的视频转码方法和***
CN104159127A (zh) * 2014-08-21 2014-11-19 北京奇艺世纪科技有限公司 一种视频转码方法、装置及***
CN108810545A (zh) * 2018-07-04 2018-11-13 中南大学 用于视频编码的方法、装置、计算机可读介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
包迅格: "《基于Spark的流媒体云转码技术研究与应用》" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002514A (zh) * 2022-05-27 2022-09-02 浙江大学 基于云原生控制器的spark视频转码***及视频转码方法
CN115002514B (zh) * 2022-05-27 2023-07-21 浙江大学 基于云原生控制器的spark视频转码***及视频转码方法

Similar Documents

Publication Publication Date Title
US10390055B1 (en) Video file processing
US10291673B2 (en) Transcoding method and system, and distributed file apparatus
CN104537076B (zh) 一种文件读写方法及装置
US20160077863A1 (en) Reliable and scalable image transfer for data centers with low connectivity using redundancy detection
US11226930B2 (en) Distributed file system with integrated file object conversion
US11880280B2 (en) Variable number and size of put operations for storage backup
US10628070B2 (en) Selecting and compressing target files to obtain additional free data storage space to perform an operation in a virtual machine
US20170344539A1 (en) System and method for improved scalability of database exports
US10346074B2 (en) Method of compressing parity data upon writing
JP2022159405A (ja) データのアペンド方法、装置、電子機器、記憶媒体およびコンピュータプログラム
US11157456B2 (en) Replication of data in a distributed file system using an arbiter
US8140485B2 (en) Data recovery using a minimum number of recovery streams
CN111093095A (zh) 基于spark平台的视频转码方法及***
CN104410868A (zh) 一种共享文件***多文件快速聚合和读取的方法
Schmidt et al. An approach for processing large and non-uniform media objects on mapreduce-based clusters
CN112953944A (zh) 基于MapReduce的影音转码方法
US20170109367A1 (en) Early compression related processing with offline compression
US10579265B2 (en) Cloud-synchronized local storage management
US20140380089A1 (en) Method and apparatus for recovering failed disk in virtual machine
CN113411661B (zh) 用于记录信息的方法、装置、设备、存储介质及程序产品
KR20160145250A (ko) 가상 머지를 지원하는 셔플 내장형 분산 스토리지 시스템 및 그 방법
US11095745B1 (en) Cloud-based scheduling of data operations to an object storage using an operation pool
Liu et al. Spark platform based video transcoding
US10063256B1 (en) Writing copies of objects in enterprise object storage systems
US20190045004A1 (en) Capturing data in data transfer appliance for transfer to a cloud-computing platform

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200501

WD01 Invention patent application deemed withdrawn after publication