在线客服系统

利用FFMPEG技术搭建流媒体服务器(2)

时间:2014-09-12 10:22 来源:www.fabiaoba.com 作者:李军廷 点击:

  FTP方式:适合于对大批量的视频进行上传。在视频上传的过程中,每一个视频对应的有两个文件,一个就是视频文件其本身,而另外一个就是与之对应的相关属性信息,有简介,标题,标签等。比如1.avi,1.txt就是一个视频对应的两个文件。 

  Web方式:主要适合于上传单个视频。在上传系统中通过采用[spsmartupload]件,可以方便的对文件进行上传。 

  3.3 数据库 

  系统的后台数据库为Oracle 10G,主要储存视频的相关信息。包括有视频的标签、简介、标题、格式、大小、时长、尺寸等。 

  3.4 视频转换 

  系统的核心就是视频转换。其主要功能就是把上传的视频转换成需要的各种格式,如3GP格式、FLV格式等。转换时主要就是运用的就是FFMPEGJ进行的。以下是视频转换的流程图如图2所示。 

  FFMPEG简介:FFMPEG作为一个视频,音频转换器,可支持绝大多数符合工业标准的编码,还能够从一种格式转换成另外的一种格式[4],并能利用摄像头捕获到音频,视频等。用FFMPEG进行视频转换的前提就是对FFMPEG的下载,安装,编译要正确,FFMPEG的最新版本可以通过SVN方式进行下载,SVN要在LINUX系统下安装,成功安装后执行命令: 

  svn checkout svmsvamphyerhpqu ffmljghnmk ffmpcg 

   

  图2 视频转换模块流程 

  通过一定时间的下载,目录下面就会产生一个名为ffmpeg的文件夹,这就是FFMPEG源文件。如果下载和安装了以下文件,就会使ffmpeg能够支持更多格式之间的转换。以下文件也需要下载并安装:[26204-510.zip],[26073-510.zip],[lame.tar.gz],[xvidcore-1.1.0.zip],[zlib-1.2.3.tar.gz],[libtheora.tar.gz],[libvorbis-1.1.1.tar.gz],[libogg-1.1.1.tar.gz],[faac-1.24.tar.gz],[faad2-2.0.tar.gz],[a52dec-0.7.4.tar],[all-20061022.tar]等文件,毕业论文格式安装好这些文件后就能够进行FFPEG的编译工作。3GP是绝大多数手机都支持的格式,而要想让本系统支持3GP格式,编译的时候也要加上[-enable-amr_nb-enable-amr_wb]参数,最后,完整的编译命令为: 

  [./configure-enable-shared-enable-mp3lame-enable-libogg-enable-vorbis] 

  [enable-faad-enable-faac-enable-xvid-enable-a52][enable-amr_nb-fixed-enable-arm_wb-enable-amr_if2-enable-gpl-cpu=i686 make] 

  [make] [install] 

  通过以下测试可以检测到安装的是否成功,先上传一个视频文件,如test.avi,执行以下的命令: 

  [ffmpeg-itest.avi-acodecaac-ar8000-ac1-ab8-qscale5-s176*144-vcodech263-r10-g180test.3gp] 

  要是视频能够成功转换,那就表明FFMPEG已经安装成功了。下一步就可以根据具体的需要进行视频转换了。FFMPEG的命令如下: 

  [ffmpeg[[options][-iinput_file]]???{[options]output_file}???] 

  对于那些输入的原始文件,可能需要格式选项。[ffmpeg]在缺省的情况下会尽量地进行无损转换,输出与输入相同的音频,视频参数。为了使经过转换的视频质量尽最大可能的好,默认配置通常不会被采用,而是要根据视频的不同,采用最佳的配置参数。 

  视频转换中,运用Java的防阻塞机制与多线程机制。首先由调度程序[JobQueue]从源文件目录[Source_File]下转移一个尚未转换的视频和对应属性的文件到临时文件夹[Temp_File]下,[JobQueue]把文件参数传给转换程序[Convert_Robot],由[Convert_Robot]来进行视频的转换。[Convert_Robot]首先利用FFMPEG命令读取视频的属性信息,包括时长、格式、尺寸、帧速等参数,然后根据这些参数来进行视频转换。根据系统的需要,每个视频会出现4种版本的视频普通版3GP,清晰版3GP,NV格式的,快速版3GP,如此一来就可以满足不同的用户的不同需要。3GP格式的主要针对手机用户,可以供他们下载到手机上观看。而NV格式主要是为了供用户在网上直接观看视频。对于那些过长的视频,系统会进行自动地截取,来满足用户下载时在时间上的需求。为了保护版权所有人的权益,在视频的转换过程中可以加入水印。同时还截取了每个视频的第一秒作为此视频的缩略图。视频转换完成之后,转换成功的视频会被放入Publish_File文件夹中。在Image文件夹下放入缩略图,同时也把属性文件中的简介、视频标题、标签等信息储存到Oracle数据库里。要是视频转换发生了错误,错误的信息就会被记录到日志文件中。同时,转换系统还可以根据服务器的负载情况灵活地调整线程,争取转换视频的效率最高[5]。 

  3.5 视频发布 

  用户可以在视频发布模块看到最后的转换产品。为了便于用户观看视频,视频发布模块提供了两种方式:通过互联网在线观看和下载到手机上观看。使用电脑观看的用户可以直接点击Flash格式进行在线观看,因为Flash格式的视频完全不需要下载就可以直接观看。对于手机用户,可以在三种3GP格式中选出一种进行下载。与此同时,这两种方式都有个自动的搜索入口,用户可以进入搜索入口来搜索自己想要的视频。这个搜索入口可以索引数据库中的视频信息,它采用的是一种比较先进的索引技术,即Lucene索引技术,以便用户能够方便而又快捷地搜索到自己所需要的视频[6]。 

  4 结 语 

  生产效率高、配置简单、容错性强是本视频转换与发布的主要特点。线程数的控制可以通过配置文件来进行。转换速度得到很大地提高,与此同时还有超时机制。经过测试,在一台内存为1 GB,Pentimu 4,CPU 293 GHz的 PC上,一小时大约能够转换300个视频,这样的转换速度非常地接近实时转换。该系统还可以对视频进行压缩,且压缩效率很高,用H.263的编码标准,一个大小为20 MB的视频转换成3GP格式之后,在手机观看质量不受影响的前提下,大约能够压缩到400 KB的大小,这样很大程度地节约了网络传输的时间,明显提高了网络传输的效率。该系统经过稍微的改变之后,能够执行更为复杂的功能。现今越来越多的手机都能够支持视频播放,且用户也越来越习惯于在手机上观看视频,因此上视频的需求量将会越来越大,使用此系统的市场前景相当广阔。 

  参考文献 

  [1] 胡成,任平安,李文莉.基于Android系统的FFmpeg多媒体同步传输算法研究[J].计算机技术与发展,2011(10):85?87. 

  [2] 刘建敏,杨斌,王俊丽.嵌入式Linux下基于FFmPeg的视频硬件编解码[J].单片机与嵌入式系统应用,2011(6):28?31. 

  [3] 王莹,李莉,王华.Symbian平台下基于FFmpeg的H.264解码器的移植[J].现代电子技术,2011,34(11):43?46. 

  [4] 何圆圆,何凯.基于FFmpeg的H.264视频解码器的研究与实现[J].电脑知识与技术,2012(35):67?69. 

  [5] 王洪波.搭建流媒体服务器[J].安徽电子信息职业技术学院学报,2005(6):95?96. 

  [6] 向伟昌.流媒体服务器性能测评系统的设计与实现[D].长沙:国防科学技术大学,2004.


www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
  本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/ CSSCI核心/医学投稿辅导/职称投稿辅导。

投稿邮箱:fabiaoba365@126.com
 在线咨询: 投稿辅导275774677投稿辅导1003180928
 在线咨询: 投稿辅导610071587投稿辅导1003160816
 联系电话:13775259981

联系方式
李老师QQ:发表吧客服610071587 陈老师QQ:发表吧客服275774677 刘老师QQ:发表吧客服1003160816 张老师QQ:发表吧客服1003180928 联系电话:18796993035 投稿邮箱:fabiaoba365@126.com
期刊鉴别
  • 刊物名称:
  • 检索网站:
热门期刊
发表吧友情提醒

近来发现有些作者论文投稿存在大量剽窃、抄袭行为,“发表吧”对此类存在大量剽窃、抄袭的论文已经停止编辑、推荐。同时我们也提醒您,当您向“发表吧”投稿时请您一定要保证论文的原创性、唯一性,这既是对您自己负责,更是对他人的尊敬。

此类投稿的论文如果发表之后,对您今后的人生和事业将造成很大的麻烦,后果不堪设想,请您一定要慎重,三思而后行。

如因版权问题引起争议或任何其他原因,“发表吧”不承担任何法律责任,侵权法律责任概由剽窃、抄袭者本人承担。

 
QQ在线咨询
陈老师:275774677
张老师:1003180928
李老师:610071587
刘老师:1003160816
论文刊登热线:
137-7525-9981
微信号咨询:
fabiaoba-com

友情链接

申请链接