最近要搭建一个flv流媒体服务器来播放视频,参考了很多文章,总是不是很成功,非常的郁闷,于是干脆也不google了。 一、废话少说,预备知识: ×互联网上播放视频的两种方式 一种是以http协议方式来访问视频文件,这种方式的缺点是不能从视频特定的帧位置进行播放,必须从头开始。常用的方案是Appache+前端flv播放器。 另外一种方式是搭建专门的复杂的流媒体服务器,优点是视频支持拖拽播放,缺点是这种服务器搭建复杂,配置要求也比较高,而且运行其上的程序必须是某种语言。 常用的免费方案是RED5(使用java语言) 我现在做的这个方案是使用lighttpd自带的flv_streaming模块来实现伪流媒体。 ×flv格式以及播放器 FLV 是FLASH VIDEO的简称,FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能。 我们一般看电影用的格式主要是rm,rmvb,mp4,mpg,avi等格式,这些格式都可以用视频转换工具转换成flv格式,比如win平台下的格式工厂、linux下的ffmpeg,但是转换生成的flv往往Meta Data是损坏的,不支持拖拽操作,一拖拽就又从头播放了。 我们使用flv修复工具,如flvtools,yamdi等等。 flv播放器也非常多,但是80%的flv播放器也只是起到flv解码播放的作用,无法向服务器发送帧参数。比如我要拖拽到50秒那个地方播放,而50秒对应的帧假如是第900帧,flv播放器应该向服务器发送一个类似“start=9000”的帧参数请求。 二、我们搭建流媒体服务器要有3大条件: 1是支持伪flv流的web服务器,这里用的是lighttpd 2是Meta Data完好无损的flv文件 3是支持发送帧参数的flv播放器,比如fwplayer和flowplayer 搭建步骤 我们首先搭建一下流媒体服务器 用rpm安装lighttpd,首先添加rpmforge源
安装lighttpd,目前最新版本是1.4.28
配置开启lighttpd的flv_streaming模块,网上很多教程都只开启了flv_streaming模块,建议也开启mod_secdownload模块。Lighttpd的配置主文件是/etc/lighttpd/lighttpd.conf,模块配置文件是/etc/lighttpd/modules.conf 在server.modules 中加入"mod_secdownload","mod_flv_streaming"
我们启动一下lighttpd
如果启动成功,我们的流媒体服务器就已经完成了。 在浏览器中访问一下服务器,如果访问不了成功,配置一下防火墙,开放80端口。并且把selinux设置为允许。如果还是不行,你的配置有问题,最好的办法是看一下日志:tail /var/log/lighttpd/error.log 第二步我们制作一个flv视频,用到的工具是centos下的ffmepg+flvtool2 或者 win下的格式工厂+flvmdi,流程就是先把rm,rmvb,mov,mp4等等各类视频匆匆转换成flv格式,再用meteData工具修复一下。 目前作者的做法是这样的, 先下载格式工厂:下载地址http://www./soft/10/35/2008/Soft_41466.html ,如果这个页面失效了,大家谷歌自己找 通过格式工厂我把一小电影video.rm 转换成了video.flv,具体操作就不详细说了 video.flv的修复工作我是在centos里面进行的,因为flvmdi有时候不起作用,还是flvtool2稳定。我们可以通过samba共享或者用ftp把video.flv传到Centos系统里面。 在Centos上安装flvtool2并修复一下video.flv
flv文件已经准备好了,再进行最后一步,配置flv播放器,我使用的是jw player 下载地址:http://www./players/jw-flv-player/ 另外使用了swfobject.js,下载地址:http://code.google.com/p/swfobject /downloads/list lighttpd默认的web目录在/srv/www/lighttpd下面,我们放这几个文件 网页文件:index.html 视频文件:video.flv 视频预览图片:perview.jpg js:swfobject.js flv播放器:player.swf --------------------------------------------------------------- 附:index.html文件内容:
ok!三条件已经完成,访问http://yourserverip/index.html
**************************** **************** * 作者: * 叶文涛 * 参考: * FLV播放器拖动处理 http://hi.baidu.com/flyinweb/blog/item/d0a00ef4afea846bddc4749b.html * lighttd搭建流媒体Flash服务器支持seek操作 http://www./?q=node/467&page=96 * 用 lighttpd 建立 FLV 影片網站 http://cha./blog/2007/08/328.html ******************转载请注明来源 **************** |
|