nginx下配置flv拖动
首先,下载nginx源码包,以0.8.54版本为例
wget http://nginx.org/download/nginx-0.8.54.tar.gz
重编译之前,停掉nginx服务。查看一下nginx原来的编译参数
/usr/local/nginx/sbin/nginx –V
在原来的参数基础上添加flv的支持
--with-http_flv_module
0.8.54版本为例,进行编译
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_flv_module
make && make install
编译完成后,在nginx.conf文件里添加flv支持
location ~ \.flv$ {
flv;
}
启动nginx,使用curl –I 来查看是否成功。
主要查看的是 Content-Length的数值。和加上参数start 之后进行对比。
例如:
curl -I http://videozhangyuc.com/flv/110718/video.flv
Content-Length: 1218888
对比
curl -I http://video.zhangyuc.com/flv/110718/video.flv?start=12345
Content-Length: 1206556
以上示例只列出Content-Length的值。
假如加上参数之后,Content-Length值依旧和之前相同,则表示配置没有成功
apache下配置flv拖动
Windows服务器下配置拖动,一共需要两步
第一步,下载mod_flvx.so并放到apache目录下的modules文件夹下
下载地址:
http://www.mosalov.com/files/mod_flvx.so
第二步,在apache的配置文件中,添加以下内容,重启apache服务
LoadModule flvx_module modules/mod_flvx.so
AddHandler flv-stream .flv
linux服务器下配置拖动,需要下载mod_flvx.c文件后进行编译
第一步,下载mod_flvx.c,并进行编译。
wget https://github.com/osantana/mod_flvx/blob/master/mod_flvx.c
或者wget http://people.apache.org/~pquerna/modules/mod_flvx.c
使用apxs进行编译,编译前,请检查apxs版本
apxs -c -i ./mod_flvx.c
第二步,在apache的conf.d目录下创建mod_flvx.conf文件,并写入以下内容
LoadModule flvx_module /usr/lib/apache2/modules/mod_flvx.so
AddHandler flv-stream .flv
配置完成后重启即可
3、常见问题
经过以上配置之后也许你的FLV视频还不能正常播放,还有几个问题需要注意:
3.1、FLV没有metadata关键帧数据
可以使用yamdi或flvtool2为你的flv视频添加关键帧
yamdi -i source.flv -o dest.flv或
flvtool2 -U source.flv3.2、添加了关键帧却依然不能拖动,播放器设置
此时要看你使用的flv播放器是否支持,你应该选择一个支持拖动的flv播放器,如:jw player,如果你没有也可以从这里下载 jwplayer.zip
在配置播放器时有两个参数比较重要,如果配置不正确,也可能导致不能拖动:
file:"video.flv", // FLV视频地址
type:"http", // 数据类型,一定要配置正确,否则不能正常拖动,我就是这个参数没设置,郁闷了半天,无法拖动
image:"preview.jpg",// 开始播放之前的预览图
autostart:"false", // 是否自动播放
streamer:"start", // 参数为 “start”,这个参数用于传递给服务器从特定的关键帧开始播放,nginx编译了 flv 模块 所以是支持的。。至此,我在配置FLV视频拖放遇到的问题,都解决了。可以爽爽的拖动了。希望你也一样!