基于avs的数字视频分析_第1页
基于avs的数字视频分析_第2页
基于avs的数字视频分析_第3页
基于avs的数字视频分析_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于avs的数字视频分析

随着网络技术、带宽技术和数字视频压缩技术的快速发展,当前的视频呈现出数据海量化、图像传播手段多样性的特点。据统计,视频数据约占网络流量的80%。这些视频主要采用mpeg、h.26x和avs进行编码。AVS作为我国具有自主知识产权的视频编码标准,编码效率优于同期国际标准视频转码主要有三种解决方案:单服务器转码、分布式集群转码和基于云平台的转码。由于受单机计算能力的限制,单服务器转码方案效率较低。而分布式集群转码则存在软、硬件投资成本大,同时转码任务以单个任务为分派单位,往往适合大批量转码。不管是单任务的转码还是批量转码,现在普遍采用云平台方案。文献[2-6]研究了云平台上流媒体数据的存储、转码、分发以及实现过程中所采用的策略,但他们主要针对目前流行的视频编码格式,如MPEG系列及H.26x系列的编码标准,没有涉及对AVS的支持。本文设计并实现了云平台上的AVS视频转码系统,其采用廉价服务器,将AVI,MPEG4,FLV等常用视频格式转换成符合AVS编码标准的CAVS(ChineseAVS)格式,对AVS在视频网站的应用具有实际意义。1录像视频编码及转码系统主要由Web服务器、数据库服务器以及Ha-doop集群三部分组成。最重要的AVS并行转码工作由Hadoop集群承担。系统总体架构如图1所示。Web服务器负责对用户上传的常见格式原始视频文件进行分割预处理,以便在集群中并行转码,主要包括三方面工作:1)将原始视频文件进行音视频分离;2)对分离后的音频文件进行单机转码;3)将分离后的视频文件分割成若干个视频片段,再将这些视频片段以及转码后的音频文件上传至Hadoop集群,同时将视频文件相关信息写入数据库。视频属于非结构化数据,帧与帧之间存在着时间关联性,对视频文件的分割主要有两种方式:一是直接将原始视频数据分割成若干视频片段;二是对原始视频先进行音视频分离后,再将分离后的视频文件进行分割视频分离后产生的音频文件因为本身不大,所需转码操作时间也比较短,再考虑到分割及合并的时间开销,采用集群方式并行转码并没有太大的优势,所以本方案选择单机转码。Hadoop集群主要负责将上传至HDFS的视频片段分发至各节点,用MapReduce计算框架执行AVS并行转码及转码后的合并工作,再将合并后的CAVS格式视频文件分布式存储在HDFS中数据库服务器主要用于存储两方面的内容:用户信息和文件信息。用户信息是用户的描述信息,如用户的个人信息及权限等级等。通过对用户信息的描述,可实现对用户的管理与控制。文件信息是视频文件的描述信息,包括视频本身的信息(如名称、格式、大小、时长、简介、类型等),视频状态信息(如审核中、已发布、转码中、未通过等),以及视频文件在集群上存储的相关信息(集群上的存储路径、所属用户等)。从视频处理的角度,系统业务流程将AVS视频转码系统划分成3个功能模块:视频预处理模块、视频上传模块、AVS并行转码模块,如图2所示。2系统的详细设计2.1基于sds的文件预处理视频预处理模块主要进行原始视频文件的音视频分离、音频文件单机转码、视频文件分割。为了减少文件在Hadoop集群中多次拷贝,将视频预处理放在Web服务器上执行。以视频文件分割为例,用户如果直接将视频文件上传至Hadoop集群,在Hadoop客户端看到的只是一个逻辑文件,实际上文件是以数据块(默认为64Mbyte)的形式分布式存储在HDFS中。进行视频分割时,需要将视频文件下载到执行分割任务的节点。文件分割成多个视频片段后又需要将多个视频文件再次上传到HDFS上进行存储。视频预处理具体算法如下:1)接受用户上传的源视频文件,放到相应的视频文件预处理队列中,采用先来先服务的调度策略,也可以根据实际需要采用高优先级或其他的调度策略;2)取出视频文件预处理队列队首的视频,用Ffmpeg工具进行音视频分离,生成相应的音频文件与视频文件;3)对音频文件进行MP3格式转码;4)获取视频文件的时长,根据分片数,计算出每个视频片段的时长;5)按照步骤4)设置参数,将视频文件分割成Chuck_x(x=1,2,…,n)视频片段,并存储Chuck_x文件信息,作为接下来进入AVS并行转码阶段时Map的输入。2.2录像视频的上传视频上传模块将视频预处理模块分割好的视频片段Chuck_x以及转码后的音频文件从Web服务器上传到HDFS上进行存储。这个模块通过调用HDFSAPI,根据分割后视频片段路径,将若干视频片段Chuck_x以及转码后的音频文件上传到HDFS上;上传文件的同时将用户文件列表的信息更新到MongoDB数据库。视频文件上传的流程如图3所示,图中标识的①和②为用户进行视频上传前的用户信息验证,这部分信息是用户信息,存储在Mysql数据库中;③和④为用户通过HDFSAPI向HDFS上传分割后的视频片段文件;⑤和⑥为维护用户的文件信息列表,这部分传递的信息是属于文件信息,存储在MongoDB中。2.3录像视频片段chckxAVS并行转码模块由Map与Reduce两部分组成,负责将上传到HDFS节点上的视频片段Chuck_x,用MapReduce计算框架进行并行转码,生成转码后的视频片段Chuckm_x(x=1,2,…,n),然后将Chuckm_x合并成一个CAVS格式的视频文件,再将它分布式存储在HDFS中。AVS并行转码在Hadoop集群中完成,其流程如图4所示。通过Hadoop客户端可以查看上传的视频片段Chuck_x,在NameNode中存放着这些视频片段在HDFS上存储位置的元信息。1)首先,JobTracker负责任务的分派,它将Map转码任务分发到存放视频片段文件的结点,JobTracker分派了多少个视频片段,就会产生多少个Map任务;2)转码任务由DataNode上的TaskTracker执行,Map任务用Ffmpeg工具对本结点上的视频片段进行AVS转码,多个DataNode上的Map任务并行执行;3)转码后生成的视频片段文件Chuckm_x被存储在本结点上;4)Map任务执行完后,JobTracker启动Reduce任务,先将各节点的Chuckm_x片段远程下载到本机,然后将各个视频片段文件Chuckm_x进行合并,生成一个CAVS格式的视频文件;5)CAVS格式的视频文件被上传到HDFS上分布式存储。存储后,删除NameNode上的视频片段文件Chuck_x,元数据与文件系统的内容均会被刷新,文件系统中显示转码后的CAVS格式视频文件,同样元数据中保存的也是该文件在HDFS上的存储位置信息。最后,转码后的视频信息存储在MongoDB数据库中。3结果3.1建立ha集群Web服务器与数据库服务器共用一台计算机,其软硬件配置信息如表1所示。用3台PC搭建Hadoop集群。集群中共设置了4个节点,1个NameNode和3个DataNode。3台PC的软硬件配置信息如表2所示。Hadoop集群设备配置信息如表3所示。3.2“转换”avs在上述实验环境中部署并安装了AVS转码系统,用户在客户端界面上向Web服务器上传需要进行AVS转码的视频,界面默认加载AVI格式视频,如图5a所示;同时还需要指定AVS转码后的输出路径,如图5b所示。开始执行“转换AVS”期间,用户可以查看视频上传的进度或状态。进行AVS转码时,可从Hadoop作业后台上查看转码情况,如图6所示,图6a为开始进行AVS转码时的截图,图6b为转码结束后的截图,图中用箭头标识的位置显示的是转码后视频文件的大小。4视频编码性能近几年来,随着网络条件持续地得到改善,数字视频呈现出数据海量化与多样化的特征。作为我国自主产权的AVS视频编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论