利用FFMPEG技术搭建流媒体服务器_第1页
利用FFMPEG技术搭建流媒体服务器_第2页
利用FFMPEG技术搭建流媒体服务器_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、利用FFMPE技术搭建流媒体服务器Establishing of streaming media server by FFMPEG technologyLI Jun?ting( Fire Brigade of Hebei Province ,Shijiazhuang050035,China )Abstruct : In recent years, the rapid development ofthe digital video industry , digital video cameras become an important part in people's lives gra

2、dually. Meanwhile , the video format and encoding modealso increases. However, the advent of FFMPEGpromotes the conversion between audio and video. Howto install and compile FFMPEGunder the Linux operating system ,and howto use FFMPEGplatform to convert between video formats are studies in this pape

3、r. High production efficiency , simple configuration and strong fault?tolerant are the main features of the video converter and release. The system can also compress video , has high compression efficiency , and can significantly improve the network transmission efficiency.Keywords: video ; transfor

4、mation between audio and video ; streaming media ; FFMPEG信息技术的发展很大程度地改变了人们的生活方式。当前, 手机走进了人们的视野,成为人们日常生活不可或缺的一部分。 而且现在的手机制造者越来越看重它的娱乐价值, 手机功能的日 渐强大让人们意识到用它来观看电视绝对不再是什么奢望。 然而 由于手机某些功能的限制,并非任何格式的视频都可以播放出 来,况且手机的内存也是有限的,无法存储大容量的电影,因此 上就需要转换和压缩视频的格式。 为了能够让用户更为方便地预 览视频,就需要把其转换成 FLV格式1。本文主要介绍视频转换系统在 Linux

5、操作系统下运用 Java 语言,通过FFMPE平台研发而成的。这样用户就可以在线播放 视频,也可以是下载到手机上来播放。1 系统的目的本系统提供了一个视频转换,上传,发布一体化的平台,在 这个平台上, 管理员在上传完源视频后, 源视频就会被自动转换 系统进行相应的分析与转换, 随之会产生视频缩略图。 之后转换 过后的视频就会被视频发布系统在网络上进行发布。 最后用户就 可以在手机或者是电脑上观看浏览 2 。编码,分辨率,帧数等 属性的制定其实是系统利用设备描述文件来制定的。 多个目标文 件可以同时输出,自动地在许多不同的设备与其用途之间做调 配,选择最优的文件质量和文件尺寸。 视频还可以通过自

6、动分割 来满足不同设备的不同需要, 提升用户的使用质量, 在视频中添 加水印之后还能够保护所有人的权益。2 系统设计2.1 功能方面的设计 在视频的上传, 转换与发布上, 本系统为用户提供的服务相 当完整。FIP方式和 Web方式是视频上传的两种方式。FIP方式的上传速度很快,且适合上传大容量的视频;Web方式上传相对简单方便一些, 适合上传的是单个的视频文件。 所谓视频文件的 转换,就是把源视频转换成需要的其他格式的视频。Web和WAP两种发布方式既可以供用户通过手机浏览,也可以在网上浏览。2.2 性能方面的设计该系统支持并发计算, 在单个服务器上用户可以并发多个请 求。而且包含队列的管理与

7、防阻塞的机制。 利用多台服务器进行 分布计算和并发式计算可以进行量视频的转换, 也可以通过管理 接口,包括性能,日志,负载报告等 3 。3 系统的实现系统逻辑结构图如图 1 所示。图1 系统整体结构3.1 系统研发平台系统的研发是在 Linux 系统下进行的,采用 JSP+Tomeat 的架构来进行视频的上传和发布的。视频的转换采用 Java 作为 开发语言,通过操作 FFMPE係统来实现。3.2 视频的上传视频的上传方式有两种: FTP方式和 Web方式:FTP 方式:适合于对大批量的视频进行上传。在视频上传的过程中, 每一个视频对应的有两个文件, 一个就是视频文件其本身, 而另 外一个就是

8、与之对应的相关属性信息,有简介,标题,标签等。 比如 1.avi , 1.txt 就是一个视频对应的两个文件。Wet方式:主要适合于上传单个视频。在上传系统中通过采用 spsmartupload 件,可以方便的对文件进行上传。3.3 数据库 系统的后台数据库为 Oracle 10G ,主要储存视频的相关信 息。包括有视频的标签、简介、标题、格式、大小、时长、尺寸 等。3.4 视频转换系统的核心就是视频转换。 其主要功能就是把上传的视频转 换成需要的各种格式,如 3GP格式、FLV格式等。转换时主要就 是运用的就是FFMPEG进行的。以下是视频转换的流程图如图 2 所示。FFMPE简介:FFMP

9、E作为一个视频,音频转换器,可支持 绝大多数符合工业标准的编码, 还能够从一种格式转换成另外的 一种格式 4 ,并能利用摄像头捕获到音频,视频等。用 FFMPEG 进行视频转换的前提就是对 FFMPE(的下载,安装,编译要正确, FFMPE(的最新版本可以通过SVN方式进行下载,SVN要在LINUX系统下安装,成功安装后执行命令:svn checkout svmsvamphyerhpqu ffmljghnmk ffmpcg图 2 视频转换模块流程 通过一定时间的下载,目录下面就会产生一个名为 ffmpeg 的文件夹,这就是FFMPE源文件。如果下载和安装了以下文件, 就会使 ffmpeg 能够

10、支持更多格式之间的转换。以下文件也需要 下载并安装: 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是绝大多数手机都支持的格式,而要想让

11、本系统支持3GP格式,编译的时候也要加上 -enable-amr_nb-enable-amr_wb 参数,最 后,完整的编译命令为:./configure-enable-shared-enable-mp3lame-enable-libogg-enable-vorbisenable-faad-enable-faac-enable-xvid-enable-a52enable-amr_nb-fixed-enable-arm_wb-enable-amr_if2-enable-gpl-c pu=i686 makemake install 通过以下测试可以检测到安装的是否成功, 先上传一个视频文件,如 t

12、est.avi ,执行以下的命令:ffmpeg-itest.avi-acodecaac-ar8000-ac1-ab8-qscale5-s176 *144-vcodech263-r10-g180test.3gp要是视频能够成功转换,那就表明FFMPE已经安装成功了。 下一步就可以根据具体的需要进行视频转换了。FFMPE(的命令如下:ffmpegoptions-iinput_file?optionsoutput_file?对于那些输入的原始文件,可能需要格式选项。 ffmpeg 在缺省的情况下会尽量地进行无损转换,输出与输入相同的音 频,视频参数。为了使经过转换的视频质量尽最大可能的好,默 认配置

13、通常不会被采用, 而是要根据视频的不同, 采用最佳的配 置参数。视频转换中,运用 Java 的防阻塞机制与多线程机制。首先 由调度程序 JobQueue 从源文件目录 Source_File 下转移一个 尚未转换的视频和对应属性的文件到临时文件夹 Temp_File 下, JobQueue 把文件参数传给转换程序 Convert_Robot ,由 Convert_Robot 来进行视频的转换。 Convert_Robot 首先利用 FFMPE(命令读取视频的属性信息,包括时长、格式、尺寸、帧 速等参数,然后根据这些参数来进行视频转换。 根据系统的需要,每个视频会出现4种版本的视频普通版 3GP

14、清晰版3GP NV格式的,快速版3GP如此一来就可以满足不同的用户的不同需要。 3GP格式的主要针对手机用户,可以供他们下载到手机上观看。 而NV格式主要是为了供用户在网上直接观看视频。对于那些过 长的视频, 系统会进行自动地截取, 来满足用户下载时在时间上 的需求。 为了保护版权所有人的权益, 在视频的转换过程中可以 加入水印。同时还截取了每个视频的第一秒作为此视频的缩略 图。视频转换完成之后, 转换成功的视频会被放入 Publish_File 文件夹中。 在 Image 文件夹下放入缩略图, 同时也把属性文件中 的简介、视频标题、标签等信息储存到 Oracle 数据库里。要是 视频转换发生

15、了错误, 错误的信息就会被记录到日志文件中。 同 时,转换系统还可以根据服务器的负载情况灵活地调整线程, 争 取转换视频的效率最高 5 。3.5 视频发布 用户可以在视频发布模块看到最后的转换产品。 为了便于用 户观看视频, 视频发布模块提供了两种方式: 通过互联网在线观 看和下载到手机上观看。使用电脑观看的用户可以直接点击 Flash 格式进行在线观看,因为 Flash 格式的视频完全不需要下 载就可以直接观看。对于手机用户,可以在三种3GP格式中选出 一种进行下载。与此同时,这两种方式都有个自动的搜索入口, 用户可以进入搜索入口来搜索自己想要的视频。 这个搜索入口可 以索引数据库中的视频信息, 它采用的是一种比较先进的索引技 术,即 Lucene 索引技术,以便用户能够方便而又快捷地搜索到 自己所需要的视频 6 。4 结语生产效率高、 配置简单、 容错性强是本视频转换与发布的主 要特点。 线程数的控制可以通过配置文件来进行。 转换速度得到 很大地提高,与此同时还有超时机制。经过测试,在一台内存为 1 GB, Pentimu 4 , CPU 293 GHZ勺PC上,一小时大约能够转换 300个视频,这样的转

温馨提示

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

评论

0/150

提交评论